PixInsight Forum

PixInsight => General => Topic started by: TinySpeck on 2019 June 27 11:18:04

Title: Star saturation in 3DPlot script
Post by: TinySpeck on 2019 June 27 11:18:04
I'm examining the saturation of a few bright stars from the Extract Lightness version of my still-linear RGB image.  I'm attaching a screen shot of the region I'm examining (auto-stretched) and the result of running the 3DPlot script on it.

You can see the three brightest stars flat-topping in the 3D plot.  But when I zoom way in on the original image and use the Readout mode with the cursor I don't see this.  They all look like they have reasonably rounded peaks (as near as I can tell from the Readout data).  The biggest star peaks out around 0.90, but the highest I can see on the others is 0.28 and 0.18.  None of them is saturating.

So why are they all flattened at the same Z level?
Title: Re: Star saturation in 3DPlot script
Post by: TinySpeck on 2019 June 27 14:36:04
Here is the problem.  3DPlot reads the ScreenTransferFunction (STF) of the image and applies it to the 3D plot.  That would generally be useful, but even if you turn off STF on the image with F12 3DPlot continues to apply the last STF.  Closing the STF process doesn't help.  I found that I had to Reset STF with Ctrl-F12 to get 3DPlot to plot the image without STF.

Now that I know this I will adjust the image STF to display the bright star ranges in 3DPlot.  Nice!
Title: Re: Star saturation in 3DPlot script
Post by: Andres.Pozo on 2019 June 28 03:42:39

3DPlot uses the active STF in the target image. As you have discovered, if you want a lineal 3D plot you have to reset the STF. When I modified the original script written by David Serrano this was the easiest way to configure the scale in the Z axis.

AnnotateImage does something similar, but it lets you to choose if you want to use the STF or not.

Title: Re: Star saturation in 3DPlot script
Post by: TinySpeck on 2019 June 28 08:32:40
Thanks, Andres.  I have been putting a 10x10 pixel full-white (1.0) block in the upper corner with PixelMath and then using 3DPlot on the linear image to see how close the star peaks come to the block height.  It's a decent way to get a qualitative look at how close your stars are to saturating, and what they look like at their peaks.

I would like to compress the dynamic range of the whole image so I can see noise floor along with bright star peaks though.  I have played with HistogramTransformation and haven't found the right recipe.  Do you know of a way to do that?

3DPlot is a really nice utility, thanks for your contribution on that.