2023-01-19: APP 2.0.0-beta13 has been released !
!!! Big performance increase due to optimizations in integration !!!
and upgraded development platform to GraalVM 22.3 based on openJDK19
We are very close now to releasing APP 2.0.0 stable with a complete printable manual...
[Closed] Astro Pixel Processor 1.062
Astro Pixel Processor 1.062
- Improved, MacOS DMG installer, is now fully signed by Apple so MacOS gatekeeper will immediately accept the installer.
- Fixed, RGB Combine, reading of fits meta header tags of a multi-channel integration had a bug, reported by @schurig here: https://www.astropixelprocessor.com/community/rfcs-request-for-changes/crazy-filter-name/ It's fixed now:
- Improved, Image Viewer Meta Data, the details checkbox, above the image viewer has been made redundant. You can now see the image metadata together with your image data. There is a splitpanel that you can move all the way from left to right now.
- Improved, Histogram, the histogram has been changed in several aspects. For color data, the histogram colors are now such that you can better see the different color histograms by using transparancy of the color histograms. Furthermore, for all datatypes, APP will now show 100 histogram columns and it has a darker background with visible gridlines. The vertical gridlines indicate steps of 10% of the complete datarange.
- Improved, image viewer, on systems where OpenGL 2.0 is available, the image data will now be drawn on your screens using hardware accelerated OpenGL rendering using your Graphical Processing Unit (GPU).
This will speed up the time that it takes your image to appear on screen and zooming in/out on your images is faster. If OpenGL 2.0 is not available, APP will fall back to the old method (APP 1.061 and below) , of rendering/scaling the image data using the CPU which is a bit slower, because the data is resampled using the CPU to fit in the image viewer.
Most machines should have OpenGL 2.0 these days. This is provided by the graphical drivers on your platform. OpenGL 2.0 was released in september 2004 so most computers made in the last 15 years will probably have the OpenGL 2.0 specification.
On startup of APP, APP will check for the OpenGL 2.0 specification and will use it if available. On the top left of the application, you will see a green/orange OpenGL label indicating if it's used/not used.
OpenGL should be available on Windows, MacOS and Linux, check your graphical card/chip drivers is it's not enabled.
On Linux distributions, you might need to install additional drivers, Mesa3D, but it should be installed automatically by most Linux distributions nowadays https://www.mesa3d.org/intro.html .
OpenGL can even be enabled on virtual machines in Oracle VirtualBox guests for example by installing guest Additions.
- Improved, hardware resource panel, some minor GUI adjustments.
- Improved, image viewer, if you move over the image with the mouse cursor, APP will now show additional information above the image:
- it will show the zoom factor in %. 100% means, that each pixel of the image has the same size as the pixel size of your screen's resolution. You can zoom out to 1% and zoom in to 6400%
- the bitdepth and resolution of the image
- the [X,Y] coordinates of the pixel in the image that your mouse cursor is currently pointing at.
- the ADU value of the pixel in the image that your mouse cursor is currently pointing at. In 8/16bits, these are integers, while in 32bits, these are normalized float values in the range of [0,1]. For color images, it will show the R,G,B ADU values, whereas for monochrome images, it will show the single Monochrome value.
- Improved, data calibration of severe Amp Glow, amp glow does not behave linearly so it's always important to not use dark scaling if your sensor has significant amp glow. You need to create darks of the same offset, gain/ISO, temperature and exposure time as your lights, to properly deal with amp glow. Now, in cases of strong amp glow, it can happen that the glow is so strong when compared to the real photon signal and noise in our data that a large part of these pixels will be calibrated to zero if we subtract a suitable dark frame. This will happen in each frame for different pixels and that will have a cumulative effect in image integration. The statistics of the pixelstacks will actually be skewed to the upside still showing residual amp glow in some cases. In 2) Calibrate, there is now a new option that will adaptively solve this for data were this happens. It's called Adaptive Data Pedestal. If you enable this, it will prevent severe clipping on the black point in calibration, and will therefore prevent skewed pixel statistics in image integration. It's an adaptive algorithm, so it takes a little bit more time in calibration. A case were you probably need to enable this is strong Amp Glow with camera's like the ZWO ASI183. For most camera's and datasets, this setting will have no effect, but in cases where severe black clipping in calibration does occur, for whatever reason, this setting will prevent it and will ensure precise calibration and no-skewed statistics in image integration.
Example of an integration of ZWO ASI183mm-c Oxygen-III data provided by Warren Landis @orangemaze, with and without the setting enabled in calibration:
In this case, the amp glow is not calibrated out with the Adaptive Data Pedestal disabled, because the amp glow simply overpowers the real OIII data on the location of the amp-glow. By enabling the Adaptive Data Pedestal, the amp glow is properly calibrated.
- FIXED, Image Composition, if the field of view in pixel dimensions becomes larger then
- monochrome: 2^31 -1 = 2147483647 pixels or 46340*46240 pixels
- RGB: 2^31 -1 = 2147483647 / 3 = 715.827.882 pixels or 26754*26754 pixels
APP failed to safely adjust the scaling factor so the image could still be created. This is now fixed and APP will safely adjust the scaling factor so the image can still be created. This limit is a current technical limit of image dimensions that APP can handle. Systems with 40GBs or more RAM memory should be able to process images of this size in 32bits.
- IMPROVED/FIXED, Local Normalization Outlier Rejection filters, the LN rejection filters had a bug. In some cases the LN algorithm was rejecting data based on wrong local intensity levels in the data, causing data to be rejected in frames that didn't needed to be rejected. Please look at the following images, this is an extreme case, an integration of 100 H-alpha frames from 5 different photographers with different telescopes and camera's (courtesy of Dutch Astroforum.nl). Furthermore, in addition to the fix, the implementation has been more optimized to reduce memory usage and increase speed.
- Integration without outlier rejection enabled and without LNC + MBB:
- Integration without outlier rejection enabled and with LNC 4th degree + MBB 30%:
- Integration with sigma clip outlier rejection enabled (2 x 3.0 kappa) and with LNC 4th degree + MBB 30%, with rejection map:
- Showing BUG : integration in APP 1.061 with LN sigma clip outlier rejection enabled (2 x 3.0 kappa) and with LNC 4th degree + MBB 30%, with rejection map. Notice that the rejection map shows excessive rejection on some borders, even removing part of the data completely.:
- Showing FIX : integration in APP 1.062 with LN sigma clip outlier rejection enabled (2 x 3.0 kappa) and with LNC 4th degree + MBB 30%, with rejection map:
- Compare the Rejection Maps between sigma clipping(left) and LN sigma clipping(right) after FIX. Notice how LN sigma clipping is less influenced by the structures in the data, giving more uniform and reliable outlier rejection:
- FIXED, Multi Channel/Filter and Session workflow, in some cases the frame marks for the sessions and channels were not correct, for instance when selecting integration per channel and all session. The resulting integration could be marked as being from wrong session and channels.
- IMPROVED, Multi Channel/Filter and Session workflow, in 6) Integrate, depending on the integration settings per channel or per session, more integrations will now be made automatically. Previously, only an integration off all channels and sessions was created. If you select integrate per channel and all and integrate per session and all, you will now end up with integrations
- per channel and per session
- all channels integrated per session (this is new)
- all sessions integrated per channel (this is new)
- and all channels and sessions integrated into 1 result
- FIXED, Frame List Panel Updater, fixed a synchronization issue that in some cases could result in the buttons being disabled after an integration task.
- FIXED, frame selection and loading multi-channel, in case of loading calibration frames, if you select a channel, the apply "FILTER" header tag is automatically disabled to be used.
- FIXED, Analyse Stars, in some cases a satellite or airplane stripe could be identified as very elongated stars. Using a feature detection algorithm, this is now reduced greatly.
- IMPROVED, Frame List Panel, the frame list panel will now show the raw image dimensions. These dimensions should be the same as the Master calibration frames. For raw images from DSLR camera's you will now directly see that the raw image dimensions are not the same as the image dimensions of the regular Light frames.
- IMPROVED, Calibration, the calibration engine now fully considers the image dimensions of all calibration frames and frames to be calibrated. This means that calibration now also works fully automatic with data that is binned or not. So bin 1x1 calibration data will be matched with bin 1x1 lights and bin2x2 calibration data will be matched with bin 2x2 lights. It also enables you to create Bad Pixel Maps for different binning of the pixels.
- IMPROVED, internal memory usage, several things have been adjusted internally that have to do with internal memory consumption. This should increase overall performance with 5-10% on most systems.