<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi All:<br>
</p>
<p>Sorry, for long email...</p>
<p>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). <br>
</p>
<p>A link to this project is here:
<a class="moz-txt-link-freetext" href="https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing">https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing</a></p>
<p>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.</p>
<p>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. <br>
</p>
<p>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).<br>
</p>
<p>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.</p>
<p>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.<br>
</p>
<p><img src="cid:part1.jixPDm0E.eGPOm6Tc@sbcglobal.net" alt="">
</p>
<p>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). <br>
</p>
<p><br>
</p>
<p><img src="cid:part2.wti03FLZ.rKaokz1P@sbcglobal.net" alt=""></p>
<p>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. <br>
</p>
<p>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.<br>
</p>
<p><img src="cid:part3.mkZ628uC.XSBp4nbF@sbcglobal.net" alt=""></p>
<p>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. <br>
</p>
<p>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.</p>
<p>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.<br>
</p>
<p>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.
<br>
</p>
<p>Please experiment with this tool, let me know what you think,
(good or bad).</p>
<p>Thanks<br>
</p>
<p><br>
</p>
<p>Qt Project source code can be found here:<br>
</p>
<p><a class="moz-txt-link-freetext" href="https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing">https://drive.google.com/drive/folders/11BIS5tyPeJcZeoysgjdrG2j_J8Cbu0zj?usp=sharing</a></p>
<p></p>
<div class="moz-cite-prefix">On 3/7/23 04:00,
<a class="moz-txt-link-abbreviated" href="mailto:kstars-devel-request@kde.org">kstars-devel-request@kde.org</a> wrote:<br>
</div>
<blockquote type="cite"
cite="mid:mailman.15.1678190403.8999.kstars-devel@kde.org">
<pre class="moz-quote-pre" wrap="">Send Kstars-devel mailing list submissions to
<a class="moz-txt-link-abbreviated" href="mailto:kstars-devel@kde.org">kstars-devel@kde.org</a>
To subscribe or unsubscribe via the World Wide Web, visit
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/kstars-devel">https://mail.kde.org/mailman/listinfo/kstars-devel</a>
or, via email, send a message with subject or body 'help' to
<a class="moz-txt-link-abbreviated" href="mailto:kstars-devel-request@kde.org">kstars-devel-request@kde.org</a>
You can reach the person managing the list at
<a class="moz-txt-link-abbreviated" href="mailto:kstars-devel-owner@kde.org">kstars-devel-owner@kde.org</a>
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Kstars-devel digest..."
</pre>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">Today's Topics:
1. Re: Optimal Exposure and Noise Calculator (Jens Scheidtmann)
</pre>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Kstars-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Kstars-devel@kde.org">Kstars-devel@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/kstars-devel">https://mail.kde.org/mailman/listinfo/kstars-devel</a>
</pre>
</blockquote>
</body>
</html>