Releases: astrorama/SourceXtractorPlusPlus
0.17 release
- Added compatibility with cfitsio syntax for selecting a hdu in detection images
- Added support for multi-extension fits detection images, to be processed in sequence and get catalog with parts
- Added ErrorEllipse property
- Added model fitting without psf, use "nospsf" as filename to activate
- Stability improvements
0.16 release
New features:
- Model fitting improvements
- Iterative deblending for model fitting
- Custom user-made models can be provided in the form of ONNX compute graphs
- Automatic fit resolution downgrade for very large models
- Python priors are now evaluated in the C++ code for increased performance
- Overall major improvements to stability, performance and memory usage
Changes that may require configuration files update:
- Multi-thresholding and grouping of split sources are now on by default
- In the model fitting Python configuration, source properties are now actual properties instead of getter functions:
o.get_radius()=>o.radius - Iterative model fitting is on by default, if needed the new system can be turned off with
use_iterative_fitting(False)(not all improvements from this release are available in the old system) - Segmentation using a ML model was renamed from
--segmentation-onnx-modelto--segmentation-ml-model(experimental feature) - The
Onnxproperty that performs a measurement using an Onnx compute graph is renamed toMLMeasurement
0.15 release
Compatibility breaking change since 0.14:
FITS HDU numbering scheme in the python configuration file has been changed to start at 0 for the primary HDU instead of 1.
While 1 based indices are used internally by the cfitsio library we realized that 0 based indices are much more common. In case of manually specified HDU numbers, some Python configuration files may need to be adjusted.
New features:
- PSF stacks
- Association mode
Other changes:
Bug fixes and performance improvements especially on machines with lots of CPU cores
SourceXtractor++ now requires version 2.19 of the Alexandria library.
0.14 release
This release fixes a performance regression in 0.13 as well as some missing error bars in aperture photometry
0.13 Release
Improvements:
- Multi-threaded computation for grouping/cleaning
- Variable PSF: Add support for other coordinates
- New segmentation mode: BFS, uses a combination of breadth first search and tile by tile processing using a Hilbert curve to optimize memory usage
Fixes:
- Python configuration now uses internal methods instead of astropy to load FITS files to avoid a few issues caused by the difference
- Fixed a problem with multiple dots in checkimage filenames
- Fixed a regression related to maximum number of simultaneous open files
- Fixed a problem with zero values in weight images
- Moffat checkimage parameter renamed to --debug-image-moffat to reflect its meant for internal testing use (very slow performance)
- Unsigned int check images are now saved as signed int check images to avoid compatibility issues
- Improved WCS error reporting
0.12 Release
- Added model fitting re-normalization to fix accuracy issues and inconsistent error bars
- New option: model fitting resolution multiplier (--sampling-scale-factor)
- Better default parameters for model fitting sampling
- ONNX plugin, can load ONNX format neural networks and perform inference on all sources
- Fixed build on Fedora 33
- output format option is no longer case sensitive
0.11 release
Bug fixes
- Fix handling of HDU number when using MEF files (#260)
- Add support for comment on
.headfiles (#242 and #260) - Fix for wcslib 7 (#232)
- Fix for background cells with 0 sigma (#233 and #234)
- Fix infinities on
auto_flux_errwhen the gain is 0 (#239) - Improved performance when reading the header from MEF files (#237)
- Fix handling of cell sizes for the background model (#245, #247)
- Use the fftw3 mode
FFTW_ESTIMATEinstead ofFFTW_MEASURE. Solve reproducibility issues. (#256) - Catch errors from wcslib (#259)
- Fix computation of uncertainties in the model fitting (#263)
- Fix potential segfaults when running multithreaded (#265)
- Fix the format of the units written into the catalog (#268)
New Features
- Allow
.headfiles to override WCS coordinates (#240) - Generate
elongationandellipticitycolumns when the propertyShapeParametersis enabled (#250) - New plugin for Signal to Noise measurement:
SNRRatio. Outputs the columnsnrratio(#251) - New plugin
Vignet. Generates a multidimensional columnvignet: (n.images, width, height) (#252) - New plugin
GrowthCurve: Generates columnsflux_growthandflux_growth_step. Growth curve is measured in each measurement frame (#264) - New plugin
FluxRadius. Generates a columnflux_radius. Measured in each measurement frame. (#264) - Added support for generating
LDACcatalogs. It can be enabled withoutput-catalog-format=FITS_LDAC(#258)
Other
- Update to Alexandria 2.16
- Refactored background code (#248). If it gives trouble, it can be disabled with the flag
--background-legacy - Can build with C++14
0.10 release
Changes since 0.8:
- Incompatible change: the sign convention for the model fitting angle is now reversed. It now uses the same counter-clockwise convention as ShapeParameters and SExtractor 2. This change does not impact world coordinate results.
- Improved performance overall and especially for model-fitting
- Added /etc to the config search path
- prevent race condition with some versions of wcslib that could result in crashes and corrupted results in multi-threaded model-fitting
- fixed a problem with loading compressed multi-extension FITS files
0.9 test pre-release
(Note: odd-numbered versions are test pre-releases. The current stable version is 0.8. The next official release will be 0.10)
Changes since 0.8:
- Incompatible change: the sign convention for the model fitting angle is now reversed. It now uses the same counter-clockwise convention as ShapeParameters and SExtractor 2. This change does not impact world coordinate results.
- Improved performance overall and especially for model-fitting
- Added /etc to the config search path
- prevent race condition with some versions of wcslib that could result in crashes and corrupted results in multi-threaded model-fitting
- fixed a problem with loading compressed multi-extension FITS files
0.8 release
Changes since 0.7:
- Fixed isophotal variance when using gain=0 to indicate infinite gain
Changes since 0.6.1:
New features:
- Support for .head text files to override fits file headers
- New option --dump-default-config to produce a default configuration file
- Added --grouping-moffat-max-distance option to constrain Moffat grouping to a maximum distance in pixels
- Added an optional sliding window for Lutz segmentation (--segmentation-lutz-window-size), this allows measurement to start on sources that fall outside the window to save on memory and enable multithreading sooner. Off by default.
- Support for the GSL minimization engine as an alternative to levmar. Levmar is still the default and recommended.
- New signal to noise ratio check image (--check-image-snr)
- New core threshold cleaning method (--partition-corethreshold)
Bug fixes and minor changes:
- Fixed crash when Moffat model fitting starts with a negative value as flux guess
- Added grouping options into the help display
- Removed "sextractor" name from the code
- Fixed a crash when exiting if using external plugins
- Improved the robustness of multi-extension FITS loading
- Improved performance of Moffat model evaluation
- Will look for plugins in default directories too
- Fixed pixels with negative variance values sometimes appearing
- Compressed FITS files are now loaded correctly
- Improved error reporting from Python
- Outputs more and better background modelling statistics
- Fixed compilation issues on OSX
- Better multithreading performance if levmar was compiled with the proper options to be fully reentrant
- Made the code compatible with the Intel compiler
- Fixed default configuration file not found warnings
- Source ids now start at 1 instead of 0 (source 0 was previously not distinguishable from the background on the check images)
- The output catalog is now written incrementally instead of all at once (controllable with --output-flush-size)