2#ifndef LSST_AFW_fitsCompression_h_INCLUDED
3#define LSST_AFW_fitsCompression_h_INCLUDED
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
ScalingAlgorithm
Algorithms used to compute the scaling factor used in quantization.
@ RANGE
Scale to preserve dynamic range with bad pixels msasked out.
@ STDEV_MASKED
Scale based on the standard deviation with bad pixels masked out.
@ STDEV_CFITSIO
Let CFITSIO work out the scaling (per-tile; does not respect mask planes)
@ MANUAL
Scale set manually.
CompressionAlgorithm
FITS compression algorithms.
DitherAlgorithm
FITS quantization algorithms.
Options controlling image compression with FITS.
bool uses_mask() const
Whether this compression configuration would make use of a Mask and the configured mask_planes.
std::optional< QuantizationOptions > quantization
Options for quantizing a floating point image (i.e. lossy compression).
std::size_t tile_width
Shape of a compression tile.
CompressionAlgorithm algorithm
The compression algorithm to use.
Options controlling quantization for image compression with FITS.
DitherAlgorithm dither
The method used to dither floating point values with random noise.
std::vector< std::string > mask_planes
Mask planes to ignore when doing statistics.
ScalingAlgorithm scaling
The algorithm used to determine the scaling for quantization.
int seed
Random seed used for dithering.
bool uses_mask() const
Whether this quantization configuration would make use of a Mask and the configured mask_planes.
float level
Target quantization level.