Astro Pixel Process...
Clear all

2023-09-16: APP 2.0.0-beta23 has been released !

Improved performance again, CMD-A now works in macOS File Chooser, big improvement for bad column cosmetic correction, solved several bugs

We are very close now to  releasing APP 2.0.0 stable with a complete printable manual...

Astro Pixel Processor Windows 64-bit

Astro Pixel Processor macOS Intel 64-bit

Astro Pixel Processor macOS Apple M Silicon 64-bit

Astro Pixel Processor Linux DEB 64-bit

Astro Pixel Processor Linux RPM 64-bit

[Closed] Astro Pixel Processor 1.056

1 Posts
1 Users
Universe Admin
Joined: 6 years ago
Posts: 3812
Topic starter  

Astro Pixel Processor 1.056

  • UPGRADE, Star Color Calibration, the star color calibration tool has been rebuilt and now has 3 models. All models will show B-G vs G-R & B-R vs G-R color-color plots of the star population giving you feedback about the calibration. Color-color plots are well known in the astrophysics literature. The star population is plotted using colors for both the x- and y-axis. An astronomical color is the difference in magnitude between two fluxes measured with 2 different filters. So the color B-G represents the magnitude difference between the Blue and Green fluxes measured with your camera through Blue and Green filters. Plotting star populations in color-color diagrams is very usefull and practical, since these magnitude differences between 2 channels don't depend on the distance of the star. The provided models are:
  1. Balance RGB (3 parameters), this is the model that is used in APP 1.055. If you select this model, you can now adjust any magenta or green cast by using the magenta - green slider. Furthermore, you can influence the balance between red and blue stars if needed. This is a simple model, which assumes that the average star in the population is white and the correction is done using only 3 multipliers for the R,G and B channels.
  2. Black Body (9 parameters), this new model is based on real physics and tries to fit the star population to a Black Body model in the Color-Color diagrams that are shown. Most stars spent most time of their live as a main sequence star in which they are thermally in equilibrium. That means that the amount of the energy generation (by nuclear fusion) in the star matches the rate of energy outflow (by photons). In this case, such a star will have a very well known relation between it's surface temperature and it's color. It radiates like a black body on broadband wavelengths. The Black Body model in the diagrams is represented by a model line. This line can be changed using 2 variables, a slope A and a constant B. So this line is has the function: y = A*x + B, where A is the slope and B the constant. y and x represent the colors on the 2 axes. Depending on the used filters, being either broadband filters used with a monochrome camera, like a RGB filter set, or the CFA filters on a bayer sensor in a OSC/DLSR camera, the Black Body lines will be different. So these lines are different for different filters having different widths and central wavelengths. You will need to fit your star population to these lines as good as you can, that will calibrate the star colors. Lowering the constants will have the effect of reducing green cast/increasing magenta cast and vice versa. FInally you can adjust the balance between the red and blue stars, this allows you to tell the model where a typical white star is located in the star population in the color-color diagrams.
  3. Black Body & Extinction (12 parameters), this is the same model but with 3 more parameters that will correct both the stars and the sky background for atmospehric extinction. This model gives in most cases the best results, so is the recommend model to use.


Finally, you can alter the number of stars used in model calculation using a star rejection kappa slider. This is usefull, since not all stars in the star population that you selected will be main sequence stars, clear outliers, stars that don't come near the line can be left out from the calibration. Adjust the kappa in such a way so most stars can be fitted wel to the Black Body line without having outliers affecting the result.

Some examples:

M51 LHaRGB composite ( courtesy of Dutch forumpower)

uncalibrated (and way too magenta...):

M51 uncalibrated

RGB balance without finetuning:

M51 RGBBalance

Black Body without extinction:

M51 BB

Black Body with extinction. Notice the huge difference in how the star population is fitted to the Black Body line when compared to Balance RGB and Black Body without extinction:

M51 BB Extinction

 Finally a mosaic of all four, from top left, to bottom right, uncalibrated, balance RGB, Black Body, Black Body with extinction:

M51 compare

 Second example, M31 courtesy of Michel Swerissen

M31 uncalibrated:

M31 uncalibrated

M31 balance RGB:

M31 RGBBalance

M31 Black Body:

M31 BB

And finally, M31 Black Body with extinction:

M31 BB ext
M31 BB ext
  • IMPROVED, star analysis, I have made some significant and needed changes in the star analysis module in version 1.055. Unfortunately, the required kappa value, for the detect above noise level setting, to detect for instance 1000 stars in an image had a much larger spread for different data. So the kappa value of 80 was too low for some data, detecting 1000s of stars already and for other data, it was much too high, detecting no stars at all. So now I have altered the detection settings. You can now set a lower limit on the amount of stars you wish to detect, then the kappa value will be automatically adjusted to find the desired amount of stars. If you disable this function, then you can still set the kappa value yourself. So this new function is called automatic minimum #stars target and will now be the preferred way to get a good star count automatically for your data. If the function is enabled, you'll see in the console if the kappa is adjusted, and the original kappa slider will show the adjustments as well, so it will show you the required kappa value. To make sure that all images are analysed with the same kappa value, which is needed for a comparable quality calculation value, this automatic setting finds the required kappa for the first light frame that you analyse and will use that for the remaining frames.
  • IMPROVED, star analysis, I have also added the option to restrict the amount of stars found in the images. This is very usefull and will actually help with registering high quality data that is just full of stars. This function is called: automatic maximum #stars target. It's value cannot be lower than 2x the automatic minimum #stars target value.
  • IMPROVED, star analysis, as a side benefit of the above 2 changes, the actual star analysis per frame will be a bit quicker for some datasets. It won't be slower and you won't need to fiddle with the kappa value yourself.


Check the screenshots below, you'll see that the automatic minimum #stars target is set to 1000, and the maximum target to 2000. In the 5 analysed images, a bit more than 1000 stars are detected. In the console screen you will see that the kappa was lowered from initially 250 to 62 to get to this star count. The star map shows that these stars are detected uniformly over the field of view of the image. This is an important requirement to get accurate registration over the entire field of view.

  •  IMPROVED, channel alignment, the channel alignment function for saving your calibrated frames in 2) CALIBRATE, depends on star analysis. The above improvements have a direct effect on this function. The channel aligner will try to detect 1000 stars in all 3 RGB channels using the automatic minimum #stars target feauture. This function is now hardcoded with a value of 1000 stars into the channel aligner, so the settings in 3) ANALYSE STARS won't affect this function. Previously it did. It will, to a high degree, remove any chromatic aberration from your calibrated frames. This auto setting now ensures that the channel aligner finds enough and not too much stars to perform the channel alignment registration based on the found stars. The actual registration model used for channel alignment is a special bivariate polynomial model of a high degree, so this works and needs to work differently than a projective model. The projective model used for regular registration in 4)  REGISTER can never correct all sorts of chromatic aberration, whereas this model will.
  • FIXED, saving calibrated frames, pushing on the cancel button didn't directly cancel all the scheduled tasks so CPU was kept occupied by running tasks. Now all tasks are aborted and cancelled directly.
  • IMPROVED, frame list panel, started work to upgrade user experience with the frame list panel. An image will only be loaded if you double-click on the row of the image. The double-click speed is from your own Operating System settings. So if you just enable/disable a frame no frame loading starts. That makes that process much more smooth. This change makes it possible to do multiple frame selection so a group of frames can be selected/deselected and with a right-click menu.
  • ADDED, frame list panel, sorting the rows in the frame list panel is now possible with the following options in both ascending and descending order using a flip checkbox. Sorting can be done with the SORT button in 0) LOAD or with the right mouse button:
  1. file name
  2. ISO/gain
  3. exposure
  4. time shot
  5. star density (#stars before registration)
  6. background value
  7. dispersion of the data. This is the spread of data relative to background, this is an indication of both noise and light pollution gradients, high values are worse.
  8. Signal to Noise Ration or SNR
  9. noise
  10. star shape. both star size and roundness are considered here.
  11. quality, the quality metric is a combination, of noise, star density and starshape.
  12. registration RMS error

Sorted on quality values:


Sorted on star density, flipped order, so lowest value at the top:


Sorting using the right mouse button in the frame list panel:

  • IMPROVED, frame list panel, multiple frame selection is now possible using the regular Operating System keys like CTRL/SHIFT. Or just by clicking on one frame with the left mouse key and then holding down the button and moving the mouse lower or higher in the list. When you release the left mouse button, the selection is complete.
  • IMPROVED, frame list panel, if one or more frames are selected, you can pop-up a menu with the right-mouse button, to select or deselect frames for processing, remove frames from the file list, delete frames from the file system (with a warning that the files will be removed from your hard drive).

The next image shows the new colors on the rows in the frame list panel:

blue/cyan row: means that frame is currently loaded into the image viewer.

black row: the reference frame

the gray rows with blueish letters: these rows are currently selected and you can popup the right mouse-click menu to perform select,deselect, remove, delete on the selected files.

Yellow, orange or red lines indicate that there is a problem in star analysis, registration and/or normalization

  • FIXED, advanced normalization, did not work if some of the light frames (including the reference frame) were deselected. The problem triggered errors. Works now without errors.
  • FIXED, advanced normalization, if the reference frame or any other frame is removed from the frame list after registration, advanced normalization would give an error and stop. Now the user is properly warned, why it does not work. For advanced normalization to work, the complete registration paths that were found in registration need to be intact, this is critical for normalization in a mosaic integration. So if you remove a light frame from the list after registration and want to use advanced normalization, you will need to re-register the frames to be able to use advanced normalization.
  • FIXED, registration, if star analysis only found very little stars in a frame (less than 12) a null pointer exception would be thrown in registration, due to a boolean that was not set in reporting back registration status internally. This is fixed, the null pointer exception/java error is gone. Was triggered by several users in version 1.055 due to the change in the detect above noise level kappa values and calculation of the dispersion of the data. Screenshot of the particular error that was triggered and a screenshot, in case of failed detection, showing that the user is warned now.
  • FIXED, registration, if registration was started with a reference frame that had less than 10 stars analysed, a null pointer exception would pop-up. This is now properly caught. The user will get a warning that more stars need to be detected in 3) Analyse Stars. Again a screenshot of the old error and a screenshot that shows the warning on how to solve the problem.
Register QualityBug
  • FIXED, registration, if you set a new reference frame for registration, you will now be warned that current registration and normalization parameters will be deleted. So the parameters will be deleted and the frame list panel will be updated as well showing no registration and normalization parameters. So setting a new reference frame will always require you to re-do registration and normalization.
  • FIXED, frame list sorting, if you re-sorted the frame list panel after normalization, then the normalization parameters could have been mixed up, so they weren't sorted properly. Consequence was that wrong normalization parameters were applied in integration.
  • FIXED, preview filter, if you switched between images of different bit depth with DDP disabled, the DDP sliders weren't disabled anymore.
  • ADDED, preview filter, ability to show the data inverted, for monochrome and multi-channel data. There is a new checkbox, below the histogram: invert data. The normal stretching is applied and the image is shown stretched and inverted. For color data, this function is nice to use along side the neutralize BG option for previewing your data.

Monochrome example of a Rosette Nebula image (courtesy of Irving Pieters), inverted and regular :

rosette inverted
rosette normal

Multi-channel example of widefield data (courtesy of Scott Rosen), background neutralized and inverted and only with background neutralization

widefield normal
widefield inverted
  • ADDED, frame list panel, by using the righ-click menu in the frame list panel, you can let APP draw a graph of the requested analytical results. This becomes possible after star analysis, because then the first analytical results become available. The results are plotted in normalized values, so more parameters can be plotted in 1 graph. The normalization is always done by dividing the parameter values with the maximum value that exist for that parameter. So the maximum value of the graph will be 1 and 0 will be the lowest value. You can choose to draw the following parameters per light frame:
  1. star density (#stars before registration)
  2. background value
  3. dispersion of the data. This is the spread of data relative to background, this is an indication of both noise and light pollution gradients, high values are worse.
  4. Signal to Noise Ration or SNR
  5. noise
  6. star shape. both star size and roundness are considered here.
  7. quality, the quality metric is a combination, of noise, star density and starshape.
  8. registration RMS error

If you resort the frame list, and then redraw the graph, the sorting is shown in the graph since it will use the new sorted frame list.

An example, 48 light frames were star analysed, registered and normalized.

I created a graph by choosing to draw #stars, star density, star shape (roundness*size) and quality of the frames.

First sorted with the default sorting of Time Shot:

AnalyticalGraph sortedTimeShot

Then sorted on quality:

AnalyticalGraph sortedQuality

It's drawn as an image, so just like a normal image, you can save this graph to a TIFF, FITS or JPEG using the save button below the histogram:

2017 11 23 16 50 54 analytical results St

And you can invert the colors using the new invert data selectbox under the histogram:

AnalyticalGraph sortedTimeShot Inverted
  • IMPROVED, set work directory button, if the work directory is set, the first 3 letters and the final 24 letters of the work directory path are shown on the set work directory button:
App SetWorkDirOnButton
  • IMPROVED, closing of APP, is you want to close/abort APP you will first get a proper warning, so that will prevent you from closing the application when it wasn't your intention.
App WarnOnClose
  • IMPROVED, frame analysis, when analysing frames for location, dispersion, noise and Signal to Noise Ratio, a lot of arrays were dynamically created to be able to do this using multiple cpu cores. New array creation is now only done when the image to be analysed has different dimensions than the previous one. If the images have the same size, (which happens a lot) then the old arrays will be re-used, instead of haivng to create new one. This means, that APP will be more efficient in analysing frames, giving better speed and less memory consumption.
  • FIXED, GUI, fixed several bugs relating to do with automatic processing from process 2)Calibrate to 6)Integrate. For instance, if you have made a first integration and then decide to set a new reference frame, then you will be warned that the current registration and normalization parameters will be deleted. So you will need to do registration and normalization again. Then if you simply click on integrate to make a second integration, APP will restart registration for you, perform normalization and then create a second integration for you. Previously, moving back and forth between these processes gave some errors so this should now be fixed.
  • IMPROVED, preview filter slider panel, some cosmetic changes, the borders around each slider are brighter and the space between all sliders and buttons has been increased. The help button ? has now a more pronounce red color to let it stand out more. The Preview filter slider instructions that pop-up, using this help button can now simply be closed with the normal window close button.


  •  FIXED, GUI, fixed colors of tooltips of the File Chooser when selecting frames.
  • FIXED, GUI, if you removed the folder that was set as the work directory, APP would show 0 free space on your harddrive, this no longer happens. APP will automatically set the Work Directory to your Operating System's user directory and will ask you if you want to set a new Work Directory.
App WorkDirectoryFix
  • FIXED, RGB Combine tool, if you cancelled a compositie calculation, the buttons below the histogram stayed disabled after exiting the tool.
  • FIXED, Tools in 9), fixed several gui bugs when tasks were cancelled. If a task is cancelled, the image viewer will be emptied as well.