54 HiCalData() : _calimage(), _calbuffer(), _caldark(), _buffer(),
55 _dark(), _binning(0), _tdi(0), _cpmm(0), _channelNo(0),
56 _firstReverseLine(0), _lastReverseLine(0),
57 _firstMaskLine(0), _lastMaskLine(0),
58 _firstRampLine(0), _lastRampLine(0) { }
66 void load(
Cube &cube) {
70 _calimage =
HiBlob(cube,
"HiRISE Calibration Image",
"Calibration").
buffer();
71 _calbuffer =
HiBlob(cube,
"HiRISE Calibration Ancillary",
"BufferPixels").
buffer();
72 _caldark =
HiBlob(cube,
"HiRISE Calibration Ancillary",
"DarkPixels").
buffer();
73 _buffer =
HiBlob(cube,
"HiRISE Ancillary",
"BufferPixels").
buffer();
74 _dark =
HiBlob(cube,
"HiRISE Ancillary",
"DarkPixels").
buffer();
79 _binning = instrument[
"Summing"];
80 _tdi = instrument[
"Tdi"];
81 _cpmm = instrument[
"CpmmNumber"];
82 _channelNo = instrument[
"ChannelNumber"];
85 _firstReverseLine = 0;
86 _lastReverseLine = 19;
90 _lastMaskLine = _firstMaskLine + 20 / _binning - 1;
91 _firstRampLine = _lastMaskLine + 1;
92 _lastRampLine = _calimage.dim1() - 1;
97 return (
cropLines(_calimage, _firstReverseLine, _lastReverseLine));
100 return (
cropLines(_calimage, _firstMaskLine, _lastMaskLine));
103 return (
cropLines(_calimage, _firstRampLine, _lastRampLine));
107 return (_dark.copy());
110 return (_buffer.copy());
113 HiMatrix getReverseClockExtended() {
117 cropLines(_calbuffer, _firstReverseLine, _lastReverseLine),
118 cropLines(_calimage, _firstReverseLine, _lastReverseLine)),
119 cropLines(_caldark, _firstReverseLine, _lastReverseLine)
126 appendSamples(
cropLines(_calbuffer, _firstMaskLine, _lastMaskLine),
127 cropLines(_calimage, _firstMaskLine, _lastMaskLine)),
128 cropLines(_caldark, _firstMaskLine, _lastMaskLine)
135 appendSamples(
cropLines(_calbuffer, _firstRampLine, _lastRampLine),
136 cropLines(_calimage, _firstRampLine, _lastRampLine)),
137 cropLines(_caldark, _firstRampLine, _lastRampLine)
143 return (appendLines(_caldark, _dark));
146 return (appendLines(_calbuffer, _buffer));
162 int _firstReverseLine;
163 int _lastReverseLine;
PvlGroup & group(const QString &group) const
Read a group from the cube into a Label.
Program progress reporter.
virtual ~HiCalData()
Destructor.
void SetText(const QString &text)
Changes the value of the text string reported just before 0% processed.
Contains multiple PvlContainers.
Namespace for ISIS/Bullet specific routines.
HiMatrix cropLines(const HiMatrix &m, int sline, int eline)
Crop specified lines from a buffer.
const HiMatrix & buffer() const
Return a reference to the data.
Container for HiRISE calibration data.
TNT::Array2D< double > HiMatrix
2-D buffer
IO Handler for Isis Cubes.