ImPPG (Image Post-Processor)
Copyright © 2015-2024 Filip Szczerek
last update: 2024-07-18
ImPPG performs Lucy-Richardson deconvolution, unsharp masking, brightness normalization and tone curve adjustment. It can also apply previously specified processing settings to multiple images. All operations are performed using 32-bit floating-point arithmetic.
Supported input formats: FITS, BMP, JPEG, PNG, TIFF (most of bit depths and compression methods), TGA and more. Images are processed in grayscale and can be saved as: BMP 8-bit; PNG 8-bit; TIFF 8-bit, 16-bit, 32-bit floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit, 32-bit floating-point.
ImPPG can also align an image sequence, with possibly large and chaotic translations between images (aligned output images preserve number of channels and bit depth). This can be useful, for example, when preparing a solar time-lapse animation, where subsequent frames are offset due to inaccurate tracking of the telescope mount. Other possible applications are smoothing out of terrestrial landscape time-lapses or preparing raw frames (with serious image jitter) for stacking.
ImPPG is free and open-source, licensed under GNU GPL v3 (or later). Building from source code (C++) requires Boost, wxWidgets and (optionally) FreeImage & CFITSIO libraries and is possible on multiple platforms. Windows executables (32- and 64-bit) can be downloaded using the links below. See the README file for details on usage and building.
Screenshots:
Sample results (processing and animation alignment):
Useful links
Image processing tutorial
Solar processing tutorial by Michael H.F. Wilkinson
How to image the Sun by Alexandra Hart
Astrobin users can add ImPPG to their “Gear” list: imppg
Downloads
- version 1.9.2-beta (2024-07-06)
- New features
- Automatic white balance (only via scripting)
- Enhancements
- Build scripts for creating Linux packages under Docker
- Image alignment accessible via scripting
- Log crashes to file
- Bug fixes
- Crash during editing of tone curve
- Crash during image alignment in solar limb mode
- version 1.9.1-beta (2023-04-22)
- Bug fixes
- Invalid channel order when loading 8-bit RGB images
- Cannot enable adaptive unsharp mask
- Crash when using adaptive unsharp mask in CPU & bitmaps mode
- version 1.9.0-beta (2023-02-15)
- New features
- Scripting support
- RGB processing
- Multiple unsharp masks
- version 0.6.5 (2022-04-10)
- Bug fixes
- Invalid behavior of the Brightness Normalization dialog for certain combinations of system language and regional settings
- Saving and loading of settings files for certain combinations of system language and regional settings
- version 0.6.4 (2021-10-30)
- New features
- Enhancements
- File type filter is remembered when opening and saving images
- version 0.6.3 (2021-04-13)
- Enhancements
- Opening an image file by dragging and dropping onto the ImPPG window
- Bug fixes
Crash when batch processing in CPU mode with deringing enabled
- version 0.6.2 (2020-07-04)
- New features
- Russian and Ukrainian translations
- version 0.6.1 (2020-01-25)
- Bug fixes
- Invalid batch processing results in OpenGL mode
- Enhancements
- Tone curve window position reset command
- version 0.6.0 (2019-12-23)
- New features
- GPU (OpenGL) back end for much faster processing
- Enhancements
- View scrolling by dragging with the right mouse button (previously: with the middle button)
- Zooming in/out with the mouse wheel (previously: Ctrl + mouse wheel)
- version 0.5.4 (2019-02-02)
- New features
- Configurable look of the tone curve editor
- Enhancements
- Last loaded settings file name shown in toolbar
- version 0.5.3 (2017-03-12)
- Bug fixes
- Fixed filling the list of recently used settings under Windows
- version 0.5.2 (2017-01-07)
- Bug fixes
- Fixed drawing of histogram and tone curve
- version 0.5.1 (2016-10-02)
- New features
- List of most recently used settings files
- Enhancements
- High-resolution toolbar icons
- Improved tone curve drawing performance on high-resolution displays
- version 0.5 (2016-01-02)
- New features
- Enhancements
- Numerical sliders can be scrolled with cursor keys
- Processing panel width is preserved
- Using CMake for building