AutoStakkert! development notes - and beta version
(still under heavy development, but needs testing!)

Download

The following version might not have been tested a lot.

March 31, 2017
AutoStakkert 3.0.14 (64-bit) (4.2 MB, zip) v3 beta version! (MS Windows)
(the file has been scanned online at virustotal. You can check the scan results here)

June 23, 2016
AutoStakkert 2.6.8 (32-bit) (1.4 MB, zip) Latest 32-bit version! (MS Windows)
(the file has been scanned online at virustotal. You can check the scan results here)


older versions available on request

p.s. deeplinking and copy/pasting a download link in your browser has been disabled for all downloads on my sites (astrokraai.nl and autostakkert.com), which means that you can only download the software from either this page, or at autostakkert.com. If you have a problem with this, please let me know.

Help Me!

Please help me make this software better. If you find any bugs in the latest version of AS!, please let me know. See here for my contact information.


Donate

Developing software is fun, but it also takes up a lot of my time. If you like AutoStakkert!, and would like to support me in developing it, I present you with the option to give a (small) donation via Paypal. Thank you!
 Emil Kraaikamp.


US dollar $

Euro €

Future Work

- Lots of stuff ;)
- Also cycle more
- Image the planets and deepsky more often!


Changes x64 (64 bit)

3.0.14 - March 31, 2017
- Fixed filename load default/minimalistic buttons not loading correct stackname settings.

3.0.13 - March 30, 2017
- Fixed memory leak during image file processing of certain image types (causing lockups in early stages).

3.0.12 - March 30, 2017
- Fixed unicode bug when reading session file.
- Completely rewrote detect abrupt horizontal/vertical artifacts (e.g., planets moving partially off screen). It's turned off by default, but give it a try if you have difficult recordings (the setting is remembered).
- Moved frame information outside of displayed image in the frame view.
- Normalize stack can also work on RGB stacks for each channel independently (right click on normalize stack -> your setting is remembered, default is off).
- Default stackname now starts with the name of the source file, followed by a free field, and then additional stacking information. Check 'Stack(name) options' to change your preferences (setting is remembered).

3.0.11 - March 22, 2017
- First public beta of AS!3
- fixed major rgb stacking issue
- optimized stacking rgb frames, now slightly faster
- made surface 'improved tracking' more robust
- added limit information in stack filename
- removed edge quality estimator
- disabled writing planetary alignment information for surface recordings
- fixed bayer override for large noise robust values (it didn't round up properly, resulting in noise robust values that were too low when user select noise robust of 7 or higher)
- lowered default offset percentile sampling to 6%

3.0.7 - March 2, 2017
- opening .as3 session file now also searches for recordings relative to the location of the as3 file instead of only using absolute path (it still first checks absolute path, and if this is not found, it searches in the same directory as the .as3 file, and if is still nothing is found, it searches one level above .as3 file)
- fixed a long delay right after aligning and right before stacking that was associated with using many APs (thousands) and many frames.
- added support for adding limit to maximum GB of memory usage (AutoStakkert.ini; ProcessingLimits->ramMemoryCeilingGB)
- similarly for limiting the amount of threads, renamed in .ini (AutoStakkert.ini; ProcessingLimits->threadcount)
- minor interface changes.
- disabled saving planetary cog file when surface alignment mode was checked.

3.0.6 - February 20, 2017
- fixed not working force RGB stack output for TIF.
- added saving session output for planetary alignment cog (possibly useful for third party tools; impact detection). This session information will NOT be loaded/used when opening a session, AS! will do COG alignment regardless of what is in the session file.
- slightly changed memory management (tries to keep a bit more memory free if your system has lots of it).
- slightly relaxed reading avi file with broken (super)index (allowing to read certain faulty avis that it wouldn't before)
- fixed remembering (custom) filename (using lastsession.as3, not via the .ini file)
- for surface recordings now always apply new alignment points during batch processing (don't care if you manually added/removed some APs after applying grid)

3.0.5 - February 4, 2017
- fixed not being able to cancel during buffering.
- removed additional stack being saved for row/column correction.

3.0.4 - February 1, 2017
- fixed not saving percentage stack counts
- fixed DPI scaling issue (part of the main window missing with at least some Windows 7 systems)

3.0.3 - January 11, 2017
- fixed cancel during Double Stack Reference not working properly at image alignment stage

3.0.2 - January 7, 2017
- Remember: laplacian very likely needs a higher quality robust level (especially for planetary data at large image scales!). Where I used to get away with Gradient 4 most of the time, I find myself using Laplacian 6 on similar data.
- Fixed column correction crashing the program during saving.
- Fixed rare image alignment bug crashing the program during alignment.

3.0.1 - January 6, 2017
- Fixed automatic alignment point placement during processing.
- Fixed cancel not working properly (crashing the program in a nasty way) during certain processing stages.
- Fixed limit working on image containers
- Fixed various other session related issues

3.0.0 - January 4, 2017
- Yay for AutoStakkert!3 - Very early release! It is likely that lots of stuff isn't working properly yet. Please let me know when you have issues, and DON'T share this version with anyone for now!
- Huge speedup (10 X) during MAP recombination (especially useful for large numbers of APs)
- New default quality estimator (Laplacian) that I placed under the gradient option. It is turned on by default (but you can go back to how things were by unchecking the upside down triangle thingie
- - The quality estimator may be a bit more sensitive to noise, so try to increase the quality robustness if you get unsatisfying results.

- Added option to place APs with different sizes in one go (Multi-Scale). The implementation will change in the future a bit, it is turned off by default at the moment. It should however perform pretty well, so test it out! The extra APs that are placed are always larger than you selected. So pick a relatively small scale to start with (not too small, it should be reasonable still)
- AS!3 supports sessions. These are text files (currently with .as3 extension) that are stored along each raw stack that is created, and that tcontain information about all settings used in AS!3 when the stack was created. Very nice to debug problems, share your workflow, or tweak a few processing settings sometime later without having to think about all the settings that you used. AP information is also stored, and even alignment information for surface recordings are stored.
- - You can save sessions from the file menu as well.
- - You can open sessions from the file menu, but you can also drop them on the main form or send them as a command line parameter on the AutoStakkert.exe executable (tip: use shortcuts to run AS!3 with different sessions for different processing targets!) - - Batch processed stacks are accompanied by settings containing just a single file (as these are not meant to restore all recordings, just that particular recording in that session).

- Removed all non SSE2 code.
- Full control over filenames of image stacks (via a seperate form that you can open under Stack(name) options when a recording is open). This allows you to have very lightweight filenames using just the source container name, or combinations of various fields you can choose from. It may be extended with additional fields in the future.
- Fixed limit working for image folders.
- Lots of interface fixes (e.g., bpp information and color information now also on main screen, and many others...).
- Batch processing surface recordings now supports multiple AP sizes (it keeps track of sizes used).
- Double Stack Reference option changed (was "use stack as reference"). When checked, it will automatically reprocess each recording with the previous stack as reference. Especially nice for surface recordings in combination with the Multi-Scale option with the more robust larger APs that are used alongside the smaller APs.
- Improved surface alignment stability (and speed). It should be much less wobbly now.
- Many small things fixed, many new bugs created in the process.....


2.7.10 - November 26, 2016
- Minor interface changes (enter/escape now work to accept/cancel).
- Fixed flashing AS!2 icon option when (partial) processing finished.
- Application priorty now 'below normal'.

2.7.9 - November 26, 2016
- Fixed unable to stack all frames

2.7.8 - November 26, 2016
- Loading image files (jpg, png, tif) now uses FreeImage component (should fix some recent image file related bugs, and makes development easier)

2.7.7 - November 9, 2016 First 64-bit beta release)
- First 64-bit beta version. Please provide feedback! Uses FreeImage.dll (provided), without other dependencies (e.g., no visual c++ redistributables).
- Supports A LOT of RAM memory (tested up to 32 GB, although essentially unlimited)
- Open 'preview' dialog parsing of firecapture log file (makes the interesting meta-data in your recording a bit more readable)
- Exporting (32-bit/channel) fits should now work
- Code clean up for frame exporting (probably broke stuff in the process..)
- Fixed fits file output passing NASA fits file verifier (following fits standard more closely)
- Fixed sigma clipping near for saturated pixels (turned dark in stack, all saturated pixels were rejected due to low variance... )
- Changed default row column noise thresholds (now 10% percentile). Stack will be be rc applied also and only if expand (or planet) was not selected.
- Small speedup in smart stack
- Lowered maximum amount of pre-read frames during stacking to 2+1
- Fixed crash related to using more than 8 threads during stacking
- Fixed dark frame subtraction not being correctly applied
- Fixed potential memory leak (notes for me to remember: errorW, errorH)
- Fixed progressbar not updating when creating multiple stacks
- Fixed RGB stacking stuck at a few %...
- (please tell me it's just a prank bro!)

Changes x86 (32 bit) - this development branch will slow down

2.6.8 - June 23, 2016 - Perhaps one of the last 32-bit versions - bug fixing part 1
- Fixed AP size interface bug
- Fixed interface bug (sometimes cursor got stuck on alt-tab)
- Fixed preview slow down when there were many lines in the FireCapture log file
- Made AS!2 more robust when trying to read broken SER files (it now still tries to read all the frames that are available)
- Improved interface feedback during sigma clipping
- Fixed memory leak causing almost random hangs of AS!2
- Fixed /expanding command line parameter to now correctly ignore first pre-expanded recording during processing (which essentially makes expanding surface recordings possible) - Fixed master frame creation bug

2.6.6 - May 4, 2016 - Perhaps one of the last 32-bit versions
- Fixed regression RGB align bug during saving a file

2.6.5 - April 29, 2016 - Perhaps one of the last 32-bit versions
- Added SSE2 support (most aligning and stacking functionality, as well as master (dark/flat) frame creation, improved performance.
- Fixed memory leak when saving fit file.
- Fixed normalize stack brightness (when 'missing' values were in the stack, it didn't normalize them properly)
- Memory management changes - changed how and when memory was cleared in buffering mode and when not enough memory is available. Should be slightly more stable (revert to non-buffering mode if you encounter problems, and please report them!).
- Fixed buffering RGB vs Mono frames (would mess things up when main window memory buffering was disabled).
- Width and height text boxes now select all on enter.
- Fixed drizzling artefacts (slightly larger drizzle sizes to decrease blocky artefacts, especially for poorly tracked APs).
- Fixed disable cancel button after calibration master frame creation.
- Fixed VTR quality scaling (quality would show 0 when VTR enabled).
- Added clickable links/logos in frame view boot screen.
- Changed default gradient quality to 4.
- Continued working on 64-bit version, slowly getting there.... not finished.

2.6.1.4 - December 7, 2015
- Fixed not being able to create master (dark/flat) frames (range check error)

2.6.1.3 - December 7, 2015
- Fixed not exporting quality sorted frame
- Fixed improper scaling of small frames (cropped width or height below 250)

2.6.1.2 - December 6, 2015
- Added option for exporting all (aligned or quality sorted) Frames (as images). It's rather slow though, so it's probably not a good idea to export all frames. You can Cancel exporting the frames, if for example you only want the best quality sorted frames..
- Lifted maximum and minimum width and height range to the current image size (and then some extra)
- Allowed preview scaling of the frames in the view window
- Added additional internal single frame buffering (should improve responsiveness when working with large frames in the frame view)
- Fixed (silent) crash during Alignment in 2.5.1.18
- Alignment quality improvement; now AS!2 will revert to using larger scale alignment data when smaller scale aligning failed. Makes AS!2 more robust against using too small APs

2.5.1.19 - internal only
- Fixed interface bug; RGB align checkbox selectable now depending on selected color mono (needed restart before)
- Allowed opening of images through the open dialog (be careful only to open images of the same size, otherwise you WILL run into weird problems!). Opening images (and folders containing images) via drag and drop continues to work.
- Added option to File menu for opening images (using the button, it reverts to opening videos).
- Fixed exporting frame only monochrome; now also RGB image export possible.

2.5.1.18 - October 19, 2015
- Fixed RGB align bug (rewrote part of the saving to image file function, but forgot one little line :) ). If you find more bugs, let me know..

2.5.1.17 - October 17, 2015
- Fixed speed during alignment back to 2.5.1.7 levels.. (there was some left-over debugging stuff slowing things down a lot in the image alignment stage, especially when using many APs)

2.5.1.16 - October 14, 2015
- Column and row noise offset correction (parameters can be tweaked from advanced -> experimental) - Added option to export current frame (from frame view)
- Added option to brighten the view (and only the view, not the actual raw data)
- Added /inifile command-line parameter to allow usage of separate log files (e.g. autostakkert.exe /inifile someotherinifile.ini ).
- Added /expanding command-line parameter to allow expanding a recording into multiple (potentially overlapping) 'virtual' recordings. Instead of just opening a recording from frame 0 to 1000, it can expand the recording to multiple recordings: 0-100, 50-150, .., 900-1000. ) .
- Cleared extra memory when opening new files (e.g., the previous stack).
- Fixed memory bug during saving some image stacks.
- Added Brute-force alignment.. ONLY use when you have very few APs, but typically you shouldn't bother with this. Unless you only achieved very poor image stabilization accuracy, in which case you should only use this brute force option AFTER you tried to improve image stabilization accuracy!
- Rewrote large sections of the code to make things a bit more readable for me...which almost certainly leads to...
- Added many more bugs!
- Fixed road bike crash: 99.9%, not counting scars ;).
- Many minor interface changes (renaming some functions, added file-close option, open last stack location in explorer, some new short-cuts, etc.).

2.5.1.9 - April 26, 2015
- Added option to provide custom INI file using command-line parameter (e.g. autostakkert.exe /inifile "d:\some_other_inifile\location\autostakkert_experimental.ini").
- Added creating screenshots for debugging (Help -> Save Screenshots, or press F5). Jpg screenshots will be placed in the autostakkert folder under the debug directory.
- Added saving frames (for showing off) Ctrl + C saves the frame as a jpg in the debug folder, but also copies the frame data to the clipboard. Ctrl + Shift + C also includes AP positions.
- Fixed RGB align not working on drizzled or resampled recordings.

2.5.1.8 - March 15, 2015
- Showing FireCapture log file as preview for a selected avi/ser files.
- Fixed not flipping RGB avi frames vertically when reading frames in 'RGB' mode (causing vertical alignment errors in some rare cases).

2.5.1.7 - February 22, 2015
- Added possibility to set a start and end frame # of a file (not fully implemented, setting only applies to newly opened files.
- Added suffix to stack filename when resampling was used.
- Fixed crash during master frame creation.
- Fixed road bike crash: 90%.

2.5.1.6 - February 5, 2015
- Fixed RGB alignment related crash
- Reduced memory usage, especially for large images and many APs
- Changed the denseness of the APs when using "Place APs in Grid"; slightly less dense for surface alignments, but more dense for planetary APs (for best results for planets, place APs manually on strategic locations

2.5.1.3 - February 1, 2015
- Removed AP alignment result printing (yellow dots inside APs that show how well they tricked). This was slow and unreliable.

2.5.1.2 - January 31, 2015
- Fixed broken sharpening function
- Added option to use a custom sharpening kernel (photoshop custom filter)

2.5.1.1 - January 29, 2015
- Improved automatic placement of APs. It used to be really stupid, now it is 'just' stupid. APs are also placed a bit closer together now with slightly larger 'begind the scenes' sizes
- sub-pixel alignment of RGB channels for color recordings
- Improved automatic bayer grid detection
- Optimised drizzle algorithm and MAP recombination (slightly faster, quality improved)
- Optimised raw color bayer stacking and MAP recombination (quality improved, slightly slower)
- bzero bscale fits keywords not handled correctly
- Fixed COG accuracy small offset
- ZWOptical is now a sponsor of AutoStakkert!

2.3.0.21 - March 25, 2014
- Added option to force 3 channel RGB output of TIF and PNG files. Useful for those programs that don't support 16-bit grayscale formats (e.g. Iris). Click on the RGB colors near the output settings. This setting will be remembered after program restart.

2.3.0.20 - March 23, 2014
- Added option to manually scale SER and FITS files in multiples of 2.
- Applying some sharpening using the 'sharpened' stack functionality no longer decreases the brightness of the stack (it used to apply an extra 4/5 brightness decrease).
- Reduced memory footprint for gradient quality 2 and 3.
- Reduced FITS automatic scaling step size for 16-bit files from multiples of 2 to multiples of 8. It now internally scales 'only' two ranges 0-255 (8-bit) and 0-4095 (12-bit) to 16-bit range (0-65535).

2.3.0.19 - March 11, 2014
- Removed automatic AP resize causing random lock-ups during image alignment.

2.3.0.18 - March 5, 2014
- Fixed regression bug (introduced in 2.3.0.15) master dark/flat frame generation for 8 and 16-bit grayscale SER files.

2.3.0.17 - March 5, 2014
- Fixed reading Y800 files that were actually stored with more than one channel (make sure to record Y8 data in Y800 avi format! Or switch to SER support).
- Fixed BGR and RGB 8-bit SER files not properly being processed (even though it 'looks' ok, all statistics and centering in planetary mode were faulty).

2.3.0.16 - February 27, 2014
- Attempt to fix a memory leak for low-memory computers causing random lock-ups during image buffering override conditions.

2.3.0.15 - February 24, 2014
- Should now be able to save 32-bit FITS results.
- SER v3 support. I cannot test for 16-bit color recordings, so please let me know if those work!
- NOTE: FOR ALL AS!2 versions (ALL!) ACCURATE DARK-FRAME subtraction for science-quality images not yet implemented. Since AS!2 does not yet allow negative pixel values, dark-frame correction is not 100% perfect. It is ok for normal use, but especially for CMOS sensors with rapidly changing intensity values, there might be some rest intensity left because of this. I will implemtend a special 'science' mode for these conditions.

2.3.0.14 - February 4, 2014
- Increased option to fine-tune accurate surface alignment. Change the size of the alignment anchor with the 1-9 keys on the keyboard, or fine-tune the size with the + or - keys. For frames containing lost of dark background data, you should make alignment anchors as small as possible!
- Surface alignment no longer reset to center position when batch processing or going into improved tracking mode when initial tracking failed.
- Dark subtraction no longer adjusts average brightness of an image (the dark is subtracted from each frame, but the average intensity of the dark is again added).

2.3.0.13 - January 13, 2014
- Added native support for Y16 avi codec.

2.3.0.12 - January 13, 2014
- Fixed reading some I420 files with first frame being unreadable causing not set colortype... Now default colortype is MONO, and it will also try to read a second frame if the first one fails.

2.3.0.11 - January 12, 2014
- Crash handling MAP 99%. (caused by AP stacks that were 0 in width and height, because tracking was lost!). TODO: Incomplete, still some 99% bugs left...
- Increased tracking stability for surface recordings by automatically performing surface alignment in 'improved tracking mode'
- Automatic increase of APs size when tracking was lost for that AP size.. this is HIGHLY experimental, and perhaps not such a good idea...


More release notes - including some example placements of reference points - from earlier versions (2012 and 2013)

AutoStakkert! is free for non-commercial use. Donations are of course appreciated, but certainly NOT required!