Mar 28 2026 APP 2.0.0-beta40 will be released in 7 days.
It did take a long time to have the work finished on this and it will have a major performance boost of 30-50% over 2.0.0-beta39 from calibration to integration. We extensively optimized many critical parts of APP. All has been tested to guarantee correct optimizations. Drizzle and image resampling is much faster for instance, those modules have been completely rewritten. Much less memory usage. LNC 2.0 will be released which works much better and faster than LNC in it's current state. And more, all will be added to the release notes in the coming weeks...
Update on the 2.0.0 release & the full manual
We are getting close to the 2.0.0 stable release and the full manual. The manual will soon become available on the website and also in PDF format. Both versions will be identical and once released, will start to follow the APP release cycle and thus will stay up-to-date to the latest APP version.
Once 2.0.0 is released, the price for APP will increase. Owner's license holders will not need to pay an upgrade fee to use 2.0.0, neither do Renter's license holders.
A plane trail once snuck though in my APP integration result. Since that happened I started blinking my subs using other software before processing in APP. But I have so many subs for my current project that blink can't handle the volume. So, I'm wondering which metric that APP generates will best help me eliminate any subs with plane or sat trails.
@safinsd I am not sure if there is a metric that you can check. However, in tab 6 you should set the "integrate" drop down to either "median" or "average", enable "local normalization rejection" and choose either "winsorized rejection" or "adaptive rejection". In both cases the choice depends on the amount of frames you have. See the mouse hover tool tips for more info.
Once that's all set, you'll need to play with the "kappa low" and "kappa high" values. The lower either is set, the more data gets rejected. Note, as is explained in the mouse hover tool tips, that setting those values lower will increasingly reject good data as well so make sure not to set them too low. You'll need to find a balance between rejecting the trail and rejecting signal that you actually want to appear in the integration result.
What is kappa - i.e. what levels of probability does it correspond to (e.g. sigma score of 3 corresponds to 99%). For a very low number of frames (e.g. 2) and with two types of outliers - plane trails (light) and trees (dark) what would be optimum values of kappa? Plane trails are VERY bright and tree branches are VERY dark so they should be easy to detect.
Thanks much for your very helpful reply. I selected median-average and local normalization rejection-adaptive rejection. Looking forward to the result.
Thanks for the link where Mabula said "Kappa is the number of times the scale/dispersion factor is applied for rejection. Scale/dispersion is usually the standard deviaton." I knew that but I was hoping for a translation into probability because "number of times" has no meaning to me. Is kappa like a z score?
@ddnum, kappa is simply a number which you set to control how many times the scale/dispersion is used to determine which pixels should be rejected or not.
For example a high kappa of 3, means that all pixels above
central value + 3*scale
will be rejected in all pixelstacks of your integration.
If the pixelstacks would have a nornal/gaussian distribution, then the following applies: https://en.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7_rule
Unfortunately, the pixelstacks only approach a gaussian, so the probability is slightly different and lower as a consequence...
If APP's automatic rejection still leaves outliers like airplanes, you want to disable automatic integration and control the rejection settings yourself like Wouter @wvreeven indicates 😉
The settings that APP used in the automatic integration are stored in the FITS header of the integration, so you lower the kappa high and low from those values until all is to your satisfaction.
Mabula