Kstars-devel Digest, Vol 229, Issue 17

joseph.mcgee at sbcglobal.net joseph.mcgee at sbcglobal.net
Mon Mar 13 05:48:20 GMT 2023


Hi All:

Sorry, for long email...

I've built a Qt app as a proof of concept for the optimal sub exposure 
calculation. The Qt project source can be found on my google drive, (I 
did not want to "pollute" the Kstars git with what might be considered 
pool quality design and my sloppy (java-like) code: my last real c++ 
project was in 1998, and this was my first experience with Qt).

A link to this project is here: 
https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing

I may be have bugs in this code... I have not taken the time to validate 
all test results back to Dr Glover calculations. But the results this 
tool is producing for my camera are matching what my old, (and 
validated), Java code produced.

Before you run it, please be aware that this implementation does not 
include any compensation for the effect of a filter in the optical 
train. So the results of the calculation would only be relevant for an 
unfiltered exposure.  My Java code from years ago attempted to apply 
compensation for two broadband filters that I use, but my calculation 
method for filters was only based on some comments found on cloudy 
nights web site; it was not from the presentation of Dr Glover.

Since I'm not applying filter compensation in this POC application, the 
results will not translate to your real-world experience of imaging with 
filters.  It is likely that the calculated exposure times from this 
application could be on the order of 10x lower that what you would 
expect with a filtered exposure.  I plan to continue my research on how 
best to implement filter compensation.  (I might be sending a separate 
email on this topic).

This POC application relies upon gain to read-noise data for a few 
specific ZWO cameras.  I've created xml files to provide this data, (in 
a folder named "ImageSensorData"). This POC app will read the folder and 
add the files names into a QComboBox for ease of selection. The format 
of the xml files is simple, and new files can be added to the folder to 
expand the options for testing.

When launched, the application will present a window with two frames. 
The small frame on the left represents data that we might pull from 
KStars Ekos/Indi.  This will be used to initialize the calculator in the 
frame on the right.  The panel on the right would be the only display a 
user would experience in KStars.   So there are two SQM controls in this 
application for a reason, the SQM control on the left frame would not 
exist in KStars, the SQM control on the "user" interface (right frame) 
will present to the user and allow the user to experiment with SQM 
values of different locations.

To initialize the calculator, select an imaging camera, a focal ratio 
and the desired "initial" SQM value, then click "Apply". The calculator 
will present a graph of the optimal sub-exposures based on the initial 
data, (I have gain defaulted to 50).


To find an optimal exposure time for a given gain, simply adjust the 
gain slider relative to the x-axis values on the graph. For this example 
camera, notice there is a severe step in the exposure times caused by 
the camera read-noise having a prominent step at gain 100. For this 
camera, moving gain just above 100 will drastically reduce the exposure 
time, and the noise for the sub-exposure.

To calculate for a different location, the (right) SQM control can be 
adjusted. A higher SQM will naturally produce longer optimal exposures, 
since there will be reduced light pollution. Here is the same case in a 
darker sky; the optimal exposure graph and results changed to a longer 
exposure. Notice that the exposure noise remained the same, but we have 
a longer exposure... so the proportion  signal to noise is better.  And 
the predicted noise on the stacked images is significantly reduced for 
roughly the same integration times.

The calculations by Dr Glover also included a value for a tolerance of 
the increased noise. The default is 5% which he stated was a good 
"general" value. This value can be adjusted based upon personal 
preference. Adjusting this will effect the allowed noise for the single 
exposure, and that will also effect the stack noise.

On the subject of trying to capture read-noise data from bias frames; I 
encountered a hurdle, so I may be sending another email in a day or so.

Finally,  I don't claim to fully comprehend the physics that Dr Glover 
presented. But as I have tested his equations with this application, the 
results seem make sense, his equations lead to exposures times that 
provide a higher signal to noise value.

Please feel free to openly criticize what I'm suggesting with this tool 
being added to KStars.  I think it will add some value, but supporting 
data for cameras may not be easy, and so the implementation of this tool 
may need to be limited to only those cameras where we can easily find 
the needed gain read-noise data.

Please experiment with this tool, let me know what you think, (good or bad).

Thanks


Qt Project source code can be found here:

https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing

On 3/7/23 04:00, kstars-devel-request at kde.org wrote:
> Send Kstars-devel mailing list submissions to
> 	kstars-devel at kde.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://mail.kde.org/mailman/listinfo/kstars-devel
> or, via email, send a message with subject or body 'help' to
> 	kstars-devel-request at kde.org
>
> You can reach the person managing the list at
> 	kstars-devel-owner at kde.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Kstars-devel digest..."
>
> Today's Topics:
>
>     1. Re: Optimal Exposure and Noise Calculator (Jens Scheidtmann)
>
> _______________________________________________
> Kstars-devel mailing list
> Kstars-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kstars-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20230312/ecf881a1/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DhXwoHTwQnqK0rOK.png
Type: image/png
Size: 46181 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20230312/ecf881a1/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: X2crLCkxab41jTsl.png
Type: image/png
Size: 76011 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20230312/ecf881a1/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wyWeZYkO9gsL0hKD.png
Type: image/png
Size: 76082 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kstars-devel/attachments/20230312/ecf881a1/attachment-0005.png>


More information about the Kstars-devel mailing list