2026-10-09 APP 2.0.0-beta48 has been released !
This is mainly a bug fix release for the reported bugs in beta47. In addition it has a significant User Interface performance improvement noticable when you need to process 1000s of images in APP.
2026-10-03 APP 2.0.0-beta47 has been released !
This is a very big release... many code optimizations/rewrites, many parts of APP are much faster and more precise, especially star analysis and registration are much faster ! Big mosaics will go much faster 🙂
And we introduce a new preview filter, which includes the new Adaptive Deep Sky Stretch and a General Levels Stretch, this has been long over due. The old preview filter (the panel on the right side to stretch and preview your data) has not been updated for a couple of years and it is a critical part of any APP session.
Adaptive Deep Sky Stretch or ADSS is a much more intuitive stretch algorithm. It is also color preserving (which is a great new addition in itself ! ) which means that the highlights are no longer bleached, color is maintained from the linear data while stretching. You can simply stretch your data using the sky background level and signal width sliders which work much easier and more intuitive. You no longer need to fiddle with the old complicated sliders with zoom buttons. All the zoom buttons for the sliders are made redundant. And you can enter slider values in the slider value fields yourself. I will make a youtube video in the coming days to explain and fully introduce ADSS. Once the video is ready, it will be highlighted on the forum.
RGB Combine upgrade !. The RGB Combine Tool has been rewritten mostly. The tool is faster and easier to use and most importantly, the Luminance slider to inject a luminance channel or channels into the RGB composite is now working correctly. It no longer bleaches the RGB colors. Combined with the new ADSS preview, you will get much better and easier great composites with great color! I will also explain this in a new youtube video.
Encountered error in module:
ImageNormalizer
Error message:
java.lang.NullPointerException
Cause:
null
n.a(Unknown Source)
n.doInBackground(Unknown Source)
javax.swing.SwingWorker$1.call(SwingWorker.java:295)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
Not sure if it's new or old. Registration is on comet. Didn't see it when all light frames were selected, but when selected only each 4th I got this.
Could you explain the steps you were taking while processing? What kind of data etc as well? Was this APP 1.083?
This is older data I was saving waiting for 1.083 to come out hoping for better comet processing.
Camera: ASI294MC Pro Bin1 mode (11mp)
80 subs, master dark/flat/bias frames selected.
Used all the default settings except:
- Calibrate: align channels
- Register: user dynamic distortion correction and register on comet
- Normalize: neutralize background & no under/overshott = on
- Integrate: average with MAD rejection, 4th degree LNC @ 3 iterations.
Press "Integrate" - get the integration image.
Went back and deselected 3 of each 4 frames (i.e selected 1st, 5th, 9th etc frame) and click "Integrate" - get NPE. Tried doing registration and neutralization as separate steps then press "integrate" and get NPE stack dump again.
Normalization step executes but when pressing "Integrate" get
Encountered error in module:
ImageNormalizerError message:
java.lang.NullPointerExceptionCause:
null
n.a(Unknown Source)
n.doInBackground(Unknown Source)
javax.swing.SwingWorker$1.call(SwingWorker.java:295)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
@mseningmail-com I see that you are using master files and not raw calibration files. What version of APP were they created with? And do you still have the raw calibration data? If yes, do you get the NPE with those as well?
Those master files were created in 1.83_beta1. I still have the original calibration subs.
The key factor here seems to be whether all light subs are selected or a subset of them.
Checking with raw calibration files...
Oh and wanted to confirm something: I got an impression that if both individual dark frames are selected AND master dark, when integrating/calibrating the darks seems to be applied twice, so I got into habit of stopping the integration process, deselecting individual frames and leaving only masters checked and then integrating again. Am I correct in that if both individual darks AND master dark is selected they both will be applied in calibration?
It didn't barf when I added individual darks and bias frames! So you are onto something. Let's log a defect? I'm sure this can be handled more gracefully than NPE.
I got this error doing comet processing. I think it's something to do with making masters at the same time as comet processing because when I did my processing using masters already created it worked fine.
It’s the opposite for me: works with masters created in the same sessions but breaks with old master created in 1.83beta1
I think it's best when we have a look at some of the data that causes the NPE, if you know a small subset that always causes it you can upload it to our server;
Go to https://upload.astropixelprocessor.com and for the username and password, use: upload
Create a directory named “mseningmail-com-cometNPE” and upload in there. Thank you!
