LSST Applications g00d0e8bbd7+edbf708997,g03191d30f7+9ce8016dbd,g1955dfad08+0bd186d245,g199a45376c+5137f08352,g1fd858c14a+a888a50aa2,g262e1987ae+45f9aba685,g29ae962dfc+1c7d47a24f,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3fd5ace14f+eed17d2c67,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+c4107e45b5,g67b6fd64d1+6dc8069a4c,g74acd417e5+f452e9c21a,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+2025e9ce17,g7cc15d900a+2d158402f9,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d4809ba88+c4107e45b5,g8d7436a09f+e96c132b44,g8ea07a8fe4+db21c37724,g98df359435+aae6d409c1,ga2180abaac+edbf708997,gac66b60396+966efe6077,gb632fb1845+88945a90f8,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gca7fc764a6+6dc8069a4c,gd7ef33dd92+6dc8069a4c,gda68eeecaf+7d1e613a8d,gdab6d2f7ff+f452e9c21a,gdbb4c4dda9+c4107e45b5,ge410e46f29+6dc8069a4c,ge41e95a9f2+c4107e45b5,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
fitsCompression.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2#ifndef LSST_AFW_fitsCompression_h_INCLUDED
3#define LSST_AFW_fitsCompression_h_INCLUDED
4
5#include <optional>
6#include <string>
7#include <type_traits>
8#include <vector>
9
10#include "ndarray.h"
12#include "lsst/afw/image/Mask.h"
13
14
15namespace lsst {
16namespace afw {
17namespace fits {
18
19class Fits;
20
33
46
54
59
62
67
75 float level = 0;
76
82 int seed = 0;
83
86 bool uses_mask() const {
87 switch (scaling) {
90 return true;
93 break;
94 };
95 return false;
96 }
97};
98
101
104
106
112
114 std::optional<QuantizationOptions> quantization = std::nullopt;
115
118 bool uses_mask() const {
119 return quantization.has_value() && quantization.value().uses_mask();
120 }
121};
122
123} // namespace fits
124} // namespace afw
125} // namespace lsst
126
127#endif // ifndef LSST_AFW_fitsCompression_h_INCLUDED
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
Definition fits.h:242
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)
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.