Jump to content

Banner.jpg.b83b14cd4142fe10848741bb2a14c66b.jpg

Hertzsprung-Russel Diagram from DSLR


SteveBz

Recommended Posts

Hi People,

When we take photos of the deep sky, even with a DSLR, we get a rich variety of colour and brightness.  Has anyone managed to produce an H-R diagram, say of an open cluster, from ordinary amateur equipment and some software?  It seems that if you chose an open cluster, all the stars would be at a similar distance and so the relative brightness could be plotted along one axis and the ratio of Red/Blue, say, could be plotted on the other.

Has anyone tried this?

Regards,

Steve.

Link to comment
Share on other sites

Not sure it would work. I mean it certainly can be done, but not sure if result would be meaningful. Aside the fact that DSLR sensor specs are not known (like linearity, sometimes even balance of colors / QE curves are hard to find), I believe that open star clusters often contain stars that are very similar in composition and age - I presume they were formed out of same star birth region, out of same dust/gas so I don't expect that one would get variety of stars needed to form full diagram. More like small segment of HR diagram (a piece of main sequence or something like that).

On the other hand, I do think "full scale" HR diagram is possible using amateur equipment but it will probably take few years at least to complete the project. It would involve only nearby stars max 40-50pc away (this is just a sort of educated guess, but I think one can measure parallax down to around 20mas with usual amateur equipment). Some sort of low resolution spectrograph - like StarAnalyzer to help identify stellar type, and decent relatively linear CMOS/CCD sensor.

Link to comment
Share on other sites

Way back when (i.e. late 90s / early 2000s) a couple of astrophysics undergrads including myself produced basic H-R diagrams of a few DSOs including open clusters and GCs using a 50cm aperture telescope but a CCD camera that would look like an antique to today's amateur astronomers so it can be done.  We were only producing small parts seen in an H-R diagram by focusing on individual objects (also made luminosity easier to deal with as a simple assumption is the distance is more or less the same for all stars in an DSO).  Given you need the colour / temperature, really it would  need to be done with a mono-camera and filters rather than a one-shot colour camera like a DSLR. 

Link to comment
Share on other sites

18 minutes ago, DirkSteele said:

Way back when (i.e. late 90s / early 2000s) a couple of astrophysics undergrads including myself produced basic H-R diagrams of a few DSOs including open clusters and GCs using a 50cm aperture telescope but a CCD camera that would look like an antique to today's amateur astronomers so it can be done.  We were only producing small parts seen in an H-R diagram by focusing on individual objects (also made luminosity easier to deal with as a simple assumption is the distance is more or less the same for all stars in an DSO).  Given you need the colour / temperature, really it would  need to be done with a mono-camera and filters rather than a one-shot colour camera like a DSLR. 

I was thinking that the colour temperature could be mapped from known stars and then applied to, say, an open cluster.

Link to comment
Share on other sites

1 hour ago, vlaiv said:

Not sure it would work. I mean it certainly can be done, but not sure if result would be meaningful. Aside the fact that DSLR sensor specs are not known (like linearity, sometimes even balance of colors / QE curves are hard to find), I believe that open star clusters often contain stars that are very similar in composition and age - I presume they were formed out of same star birth region, out of same dust/gas so I don't expect that one would get variety of stars needed to form full diagram. More like small segment of HR diagram (a piece of main sequence or something like that).

On the other hand, I do think "full scale" HR diagram is possible using amateur equipment but it will probably take few years at least to complete the project. It would involve only nearby stars max 40-50pc away (this is just a sort of educated guess, but I think one can measure parallax down to around 20mas with usual amateur equipment). Some sort of low resolution spectrograph - like StarAnalyzer to help identify stellar type, and decent relatively linear CMOS/CCD sensor.

Crucially, while the stars are roughly the same age, they are at different points in their H-R lifecycle because they are of different sizes and progress at different speeds along the main sequence.

Link to comment
Share on other sites

24 minutes ago, DirkSteele said:

Way back when (i.e. late 90s / early 2000s) a couple of astrophysics undergrads including myself produced basic H-R diagrams of a few DSOs including open clusters and GCs using a 50cm aperture telescope but a CCD camera that would look like an antique to today's amateur astronomers so it can be done.  We were only producing small parts seen in an H-R diagram by focusing on individual objects (also made luminosity easier to deal with as a simple assumption is the distance is more or less the same for all stars in an DSO).  Given you need the colour / temperature, really it would  need to be done with a mono-camera and filters rather than a one-shot colour camera like a DSLR. 

Sorry, I also meant to say that the RGB components of the colour can be individually extracted from the image using some simple Python as numbers and then an algorithm constructed to create the colour temperature.

Link to comment
Share on other sites

18 minutes ago, SteveBz said:

Sorry, I also meant to say that the RGB components of the colour can be individually extracted from the image using some simple Python as numbers and then an algorithm constructed to create the colour temperature.

Yes that would work. You can use two different approaches.

First is try to find QE chart for your sensor, it will be something like this:

ASI071-QE.jpg

and then using black body radiation formula for different temperatures generate radiation curve (make sure you use photon count term rather than energy term, or divide energy curve with energy of single photon at particular wavelength). Next thing would be to go at small increments, for example 1nm, and multiply relative R, G and B percentages each with radiation curve and sum each to its own sum (R sum, G sum and B sum) - effectively integrating term QE * radiation curve for each color. You will end up with 3 values - those will be relative coefficients (you can normalize them by adding them and dividing each with sum, so that sum is equal to one).

Then it is simple matter of finding star, doing sum pixel values over star profile for each channel and comparing with table of relative coefficients of generated temperature curves.

Other way can be used it you can't find suitable information on your sensor. That would be - record bunch of stars, plate solve and given each star R,G and B values and stellar class / temperature from database - reconstruct above curve (or just note R, G and B values for different stellar class).

There are however two things that you must be aware of. First is that you need linear sensor for all of this to work, or if your sensor is not linear you need to create adjustment curve for it. This is easy if you take flats for your setup. Just create bunch of flats of different exposure, and plot exposure duration vs mean ADU count for your flat (you can use portion of flat that is 100% illuminated if you want to work with absolute values, or you can use whole flat if you work with relative values - meaning instead of using ADU count of each flat, use ADU count of images created by dividing each flat with flat that was taken with the least exposure time).

Second is: I'm not sure what will be "resolution" in terms of SNR. Or to put it in more understandable terms: what needs to be difference in temperature between stars so you can distinguish their class/temperature in measurement. This is something that you also need to take into account. That will determine how long exposure / number of subs you need for particular star (relative magnitude) in order to be sure (to a certain confidence level) that it is of a given temperature.

Link to comment
Share on other sites

Wow, what an answer.
Well I have a lot of photos of open cluster DSOs, so I may just write a bit of python and see what happens.

On a second point, have you just upgraded from a Newtonian to a RC? How has it gone?

Regards

Steve.

 

Link to comment
Share on other sites

19 minutes ago, SteveBz said:

Wow, what an answer.
Well I have a lot of photos of open cluster DSOs, so I may just write a bit of python and see what happens.

On a second point, have you just upgraded from a Newtonian to a RC? How has it gone?

Regards

Steve.

 

Oh, yes, quite some time ago, I think it was somewhere summer time last year (I think it is about time I put my gear in signature :D ). Unfortunately I haven't had a chance to use it as much as I wanted, but I'm superbly happy with it. First few times I had a chance to use it, it was more getting to know each other kind of work, it needed collimation, and at that time I was still lacking filters so all of the work so far with it is mono / lum kind of work. None of it was serious imaging, just tome trial shots 1-2h total exposure. After that this horrible winter came along, so I'm now counting 5th month of cloud cover.

Here are couple of images taken with it - RC 8" and ASI1600mmc:

Checking out collimation (I think I used UHC filter for this):

http://serve.trimacka.net/astro/2017-07-18/m27-v1.png

After I fixed collimation I took this one to see how good it is (but some dust settled between lights and flats - hence doughnut at the top):

http://serve.trimacka.net/astro/2017-07-21/cocoon-v2-optimized.png

I also tried NGC7331 but seeing was kind of poor, and I still had issues with guiding:

http://serve.trimacka.net/astro/2017-08-27/ngc-7331-lum.png

So now I'm hoping that April will finally show some clear skies while galaxies are still on display to go hunting a few :D

 

 

Link to comment
Share on other sites

2 hours ago, vlaiv said:

So now I'm hoping that April will finally show some clear skies while galaxies are still on display to go hunting a few :D

Yes me too.

You know, it's funny. I never used to care about the weather or sunny days or Moon-lit nights. I even quite liked them and thought they were romantic. Now I'm so judgemental about the weather. Clouds: I hate them. Moon: I hate it. Long summer days: can't wait till they're over etc etc etc.

Sorry.

 

Link to comment
Share on other sites

Photometry with DSLR cameras is certainly possible, see e.g.

https://www.britastro.org/vss/DSLR_PHOTOMETRY.pdf

It suggests you can get ~0.05 mag accuracy, which should get you a good colour-mag diagram.  A few years ago there was a scientific paper going in to this in great detail, but I can't find it at the moment.
 
NigelM

Edit: found it! https://arxiv.org/abs/1506.03097

Link to comment
Share on other sites

8 hours ago, dph1nm said:

Photometry with DSLR cameras is certainly possible, see e.g.

https://www.britastro.org/vss/DSLR_PHOTOMETRY.pdf

It suggests you can get ~0.05 mag accuracy, which should get you a good colour-mag diagram.  A few years ago there was a scientific paper going in to this in great detail, but I can't find it at the moment.
 
NigelM

Edit: found it! https://arxiv.org/abs/1506.03097

Nice post. Thanks.

So I think if I do a little star recognition, like solve-field, but probably using the openCV star detector and then plot ln(G) against B-R, I'd get something that looks like an H-R diagram.

Link to comment
Share on other sites

Hmm.  Here are some results.

Here is a photo with the edge of M36 in the top left corner.

m36-Autosave.thumb.jpg.6e8cb78a600e74d62a3feeef98baff1e.jpg

Here is a that top left corner with stars ringed:

messigray.png.a9fb77412c35e351dd99bf0ddb0943b2.png

Here is a graph of Blue-Red versus Ln(Green*size):

5ab529ef3e323_Screenshotfrom2018-03-2316-21-54.png.e7f7fc7d319d3b1a5a8a00eb21ec07b5.png

Here is the Python code:

#!/usr/bin/env python
import sys

sys.path.append('/usr/local/lib/python2.7/site-packages')
import cv2
import inspect
import numpy as np

def sortOrder(elem):
    return elem.response
    
image = cv2.imread('/home/astronom/Astro/constellations/Aur/M36/20180313/tiff/120s/m36-Autosave.jpg')
image = image[0:500, 0:500]
gray = cv2.cvtColor(np.uint8(image), cv2.COLOR_BGR2GRAY)
rows,cols = gray.shape

star = cv2.xfeatures2d.StarDetector_create(maxSize = 60, responseThreshold = 50, lineThresholdProjected = 10, lineThresholdBinarized = 8,  suppressNonmaxSize = 10 )

kps = star.detect(gray)

# Draw keypoints and display the image
cv2.drawKeypoints(image, kps, image,  flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

cv2.imwrite('messigray.png',image)

cv2.imshow('Star features', image)

cv2.waitKey()
cv2.destroyAllWindows()

import math

for point in kps:

    x=int(point.pt[0])
    y=int(point.pt[1])
    px = image[y,x]
    print 255+px[0]-px[2], px[1] * point.size
    

exit()

Any suggestions welcome.

Regards

Steve.

Link to comment
Share on other sites

I can think of two things that can be improved:

1. Use unstretched / stacked fits instead of jpeg of star cluster, preferably 32bit stack per channel instead of 8bit.

2. Maybe try to implement aperture photometry feature? That would mean select two circles rather then one. First circle should include all pixels that represent star (up to certain diameter), second circle should be slightly larger, with same center - to include background pixels around star. This way you can subtract background signal from star prior to measurement.

I'm not sure how good star detection routine is, since some circles point to "empty space", also with tight concentration of stars you need to be careful when selecting aperture to measure star - sometimes circle can include portion of another nearby star.

If you want, you can try to implement your own star detection routine. First detect local maxima - you can iterate horizontal scan lines and vertical scan lines, an note all pixels that have a) suitable change in slope pixel(n) - pixel(n-1)>0 && pixel(n+1)-pixel(n)<0, and have intensity above some threshold. Then find pixels at intersections of scan lines.: You scan 5th horizontal line and find suitable candidate at 10, 20, 30, then check 10th, 20th and 30th vertical line to see if 5th pixel is identified with above condition.

After that, you will have a list of candidate pixels (some of them might be just noise or hot pixel), and you can then do gaussian profile fitting on each of them - if there is gaussian fit with error smaller than certain threshold - assume it is star.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.