Isis 3 Programmer Reference
|
A small chip of data used for pattern matching. More...
#include <Chip.h>
Public Member Functions | |
Chip () | |
Constructs a Chip. More... | |
Chip (const Chip &other) | |
Constructs a copy of the passed in chip. More... | |
Chip (const int samples, const int lines) | |
Construct a Chip with specified dimensions. More... | |
virtual | ~Chip () |
Destroys the Chip object. More... | |
void | SetSize (const int samples, const int lines) |
Change the size of the Chip. More... | |
bool | IsInsideChip (double sample, double line) |
int | Samples () const |
int | Lines () const |
QString | FileName () const |
void | SetAllValues (const double &d) |
Single value assignment operator. More... | |
void | SetValue (int sample, int line, const double &value) |
Sets a value in the chip. More... | |
double | GetValue (int sample, int line) |
Loads a Chip with a value. More... | |
double | GetValue (int sample, int line) const |
Get a value from a Chip. More... | |
void | TackCube (const double cubeSample, const double cubeLine) |
This sets which cube position will be located at the chip tack position. More... | |
int | TackSample () const |
This method returns a chip's fixed tack sample; the middle of the chip. More... | |
int | TackLine () const |
This method returns a chip's fixed tack line; the middle of the chip. More... | |
void | Load (Cube &cube, const double rotation=0.0, const double scale=1.0, const int band=1) |
Load cube data into the Chip. More... | |
void | Load (Cube &cube, Chip &match, Cube &matchChipCube, const double scale=1.0, const int band=1) |
Loads cube data into the Chip. More... | |
void | Load (Cube &cube, const Affine &affine, const bool &keepPoly=true, const int band=1) |
Load a chip using an Affine transform as provided by caller. More... | |
void | SetChipPosition (const double sample, const double line) |
Compute the position of the cube given a chip coordinate. More... | |
double | CubeSample () const |
double | CubeLine () const |
void | SetCubePosition (const double sample, const double line) |
Compute the position of the chip given a cube coordinate. More... | |
double | ChipSample () const |
double | ChipLine () const |
void | SetValidRange (const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum) |
Set the valid range of data in the chip. More... | |
bool | IsValid (int sample, int line) |
bool | IsValid (double percentage) |
Return if total number of valid pixels in chip meets a specified percentage of the entire chip. More... | |
Chip | Extract (int samples, int lines, int samp, int line) |
Extract a sub-chip from a chip. More... | |
void | Extract (int samp, int line, Chip &output) |
Extract a subchip centered at the designated coordinate. More... | |
Isis::Statistics * | Statistics () |
Returns a statistics object of the current data in the chip. More... | |
void | Extract (Chip &output, Affine &affine) |
Extract a subchip of this chip using an Affine transform. More... | |
void | Write (const QString &filename) |
Writes the contents of the Chip to a cube. More... | |
void | SetClipPolygon (const geos::geom::MultiPolygon &clipPolygon) |
Sets the clipping polygon for this chip. More... | |
Chip & | operator= (const Chip &other) |
Copy assignment operator. More... | |
const Affine & | GetTransform () const |
Returns the Affine transformation of chip-to-cube indices. More... | |
void | SetTransform (const Affine &affine, const bool &keepPoly=true) |
Sets the internal Affine transform to new translation. More... | |
Interpolator::interpType | GetReadInterpolator () |
Access method that returns the Interpolator Type used for loading a chip. More... | |
void | SetReadInterpolator (const Interpolator::interpType type) |
Sets Interpolator Type for loading a chip. More... | |
Private Member Functions | |
void | Init (const int samples, const int lines) |
Common initialization used by constructors. More... | |
void | Read (Cube &cube, const int band) |
This method reads data from a cube and puts it into the chip. More... | |
std::vector< int > | MovePoints (int startSamp, int startLine, int endSamp, int endLine) |
This method is called by Load() to move a control point across the chip. More... | |
bool | PointsColinear (double x0, double y0, double x1, double y1, double x2, double y2, double tol) |
This method is called by Load() to determine whether the given 3 points are nearly colinear. More... | |
Private Attributes | |
int | m_chipSamples |
Number of samples in the chip. More... | |
int | m_chipLines |
Number of lines in the chip. More... | |
std::vector< std::vector< double > > | m_buf |
Chip buffer. More... | |
int | m_tackSample |
Middle sample of the chip. More... | |
int | m_tackLine |
Middle line of the chip. More... | |
double | m_cubeTackSample |
cube sample at the chip tack More... | |
double | m_cubeTackLine |
cube line at the chip tack More... | |
double | m_validMinimum |
valid minimum chip pixel value More... | |
double | m_validMaximum |
valid maximum chip pixel value More... | |
double | m_chipSample |
chip sample set by SetChip/CubePosition More... | |
double | m_chipLine |
chip line set by SetChip/CubePosition More... | |
double | m_cubeSample |
cube sample set by SetCubePosition More... | |
double | m_cubeLine |
cube line set by SetCubePosition More... | |
geos::geom::MultiPolygon * | m_clipPolygon |
clipping polygon set by SetClipPolygon More... | |
Affine | m_affine |
Transform set by SetTransform. More... | |
Interpolator::interpType | m_readInterpolator |
Interpolator type set by. More... | |
QString | m_filename |
FileName of loaded cube. More... | |
A small chip of data used for pattern matching.
A chip is a small rectangular area that can be used for pattern matching. Data can be loaded into the chip manually or by reading directly from a cube.
Isis::Chip::Chip | ( | ) |
Isis::Chip::Chip | ( | const Chip & | other | ) |
Constructs a copy of the passed in chip.
other | the chip to be copied |
Definition at line 44 of file Chip.cpp.
References m_affine, m_buf, m_chipLine, m_chipLines, m_chipSample, m_chipSamples, m_clipPolygon, m_cubeLine, m_cubeSample, m_cubeTackLine, m_cubeTackSample, m_filename, m_readInterpolator, m_tackLine, m_tackSample, m_validMaximum, and m_validMinimum.
Isis::Chip::Chip | ( | const int | samples, |
const int | lines | ||
) |
|
inline |
Definition at line 226 of file Chip.h.
References m_chipLine.
Referenced by Isis::ChipViewport::cubeToViewport(), Isis::Gruen::getChipUpdate(), Isis::Centroid::select(), and Isis::AutoReg::SetSubpixelPosition().
|
inline |
Definition at line 219 of file Chip.h.
References m_chipSample.
Referenced by Isis::ChipViewport::cubeToViewport(), Isis::Gruen::getChipUpdate(), Isis::Centroid::select(), and Isis::AutoReg::SetSubpixelPosition().
|
inline |
Definition at line 210 of file Chip.h.
References m_cubeLine.
Referenced by Isis::Gruen::getChipUpdate(), Isis::InterestOperator::InterestByMeasure(), Isis::ChipViewport::keyPressEvent(), Load(), Isis::ChipViewport::mousePressEvent(), Isis::InterestOperator::Operate(), Isis::ChipViewport::panDown(), Isis::ChipViewport::panLeft(), Isis::ChipViewport::panRight(), Isis::ChipViewport::panUp(), Isis::AutoReg::Register(), and Isis::ChipViewport::tackLine().
|
inline |
Definition at line 203 of file Chip.h.
References m_cubeSample.
Referenced by Isis::Gruen::getChipUpdate(), Isis::InterestOperator::InterestByMeasure(), Isis::ChipViewport::keyPressEvent(), Load(), Isis::ChipViewport::mousePressEvent(), Isis::InterestOperator::Operate(), Isis::ChipViewport::panDown(), Isis::ChipViewport::panLeft(), Isis::ChipViewport::panRight(), Isis::ChipViewport::panUp(), Isis::AutoReg::Register(), and Isis::ChipViewport::tackSample().
Extract a subchip of this chip using an Affine transform.
This method will translate the data in this chip using an Affine transform to the output chip as provided. Note that the Affine transformation is only applied within the confines of this chip. No file I/O is performed.
A proper Affine transform should not deviate too much from the identity as the mapping operation may result in a NULL filled chip. The operation of this affine is added to the existing affine so proper relationship to the input cube (and any affine operations applied at load time) is preserved. This implies that the resulting affine should yield nearly identical results when read directly from the cube.
Bilinear interpolation is applied to surrounding transformed pixels to provide each new output pixel.
The chipped parameter will be updated to fully reflect the state of this original chip. The state of the chipped parameter dictates the size and the tack sample and line coordinates. Upon return, the corresponding cube sample and line coordinate is updated to the tack sample and line chip coordinate.
As such, note that an identity affine transform will yield identical results to the Chip::Extract method specifying the tack sample and line as the location to extract.
The following example demonstrates how to linearly shift a chip one pixel right and one down.
chipped | Input/output chip containing the transformed subchip |
affine | Affine transform to apply to extract subchip |
Definition at line 846 of file Chip.cpp.
References Isis::Affine::Compute(), Isis::Buffer::DoubleBuffer(), Isis::Affine::Forward(), Isis::Interpolator::HotLine(), Isis::Interpolator::HotSample(), Isis::Interpolator::Interpolate(), Isis::Buffer::Line(), Isis::Interpolator::Lines(), Lines(), m_affine, m_chipLine, m_chipSample, m_cubeLine, m_cubeSample, m_cubeTackLine, m_cubeTackSample, m_filename, m_validMaximum, m_validMinimum, Isis::Null, Isis::Buffer::Sample(), Isis::Interpolator::Samples(), Samples(), Isis::Portal::SetPosition(), SetValue(), Isis::Buffer::size(), TackLine(), TackSample(), Isis::Affine::xp(), and Isis::Affine::yp().
void Isis::Chip::Extract | ( | int | samp, |
int | line, | ||
Chip & | chipped | ||
) |
Extract a subchip centered at the designated coordinate.
This method extracts a subchip that is centered at the given sample and line coordinate. All appropriate variables in the given chipped parameter are set appropriately prior to return.
samp | Center (tack) sample chip coordinate to extract subchip |
line | Center (tack) line chip coordinate to extract subchip |
chipped | Chip to load the subchip in and return to caller |
Definition at line 772 of file Chip.cpp.
References Lines(), m_affine, m_tackLine, m_tackSample, m_validMaximum, m_validMinimum, Isis::Null, Samples(), SetValue(), TackLine(), and TackSample().
Chip Isis::Chip::Extract | ( | int | samples, |
int | lines, | ||
int | samp, | ||
int | line | ||
) |
Extract a sub-chip from a chip.
samples | Number of samples in the extracted chip (must be less than or equal to "this" chip) |
lines | Number of lines in the extracted chip (must be less than or equal to "this" chip) |
samp | Input chip sample to be placed at output chip tack |
line | Input chip line to be placed at output chip tack |
Isis::IException::Programmer | - Chip extraction invalid |
Definition at line 727 of file Chip.cpp.
References m_affine, m_tackLine, m_tackSample, m_validMaximum, m_validMinimum, Isis::Null, SetValue(), TackLine(), TackSample(), and Isis::toString().
Referenced by Isis::AutoReg::ApplyGradientFilter(), Isis::InterestOperator::InterestByMeasure(), Isis::AutoReg::Match(), Isis::InterestOperator::Operate(), Isis::AutoReg::Registration(), and Isis::Gruen::Registration().
|
inline |
Definition at line 113 of file Chip.h.
References m_filename.
|
inline |
Access method that returns the Interpolator Type used for loading a chip.
Definition at line 309 of file Chip.h.
References m_readInterpolator.
|
inline |
Returns the Affine transformation of chip-to-cube indices.
This method returns the affine transform used to load a chip from the same area as a match cube. It also is used to track the tack point line and sample translations from the chip indices to the absolute cube coordiates.
Definition at line 275 of file Chip.h.
References m_affine.
|
inline |
Loads a Chip with a value.
For example,
sample | Sample position to load (1-based) |
line | Line position to load (1-based) |
Definition at line 145 of file Chip.h.
References m_buf.
Referenced by Isis::Gruen::algorithm(), Isis::AutoReg::ApplyGradientFilter(), Isis::AutoReg::ComputeChipZScore(), Isis::ChipViewport::computeStretch(), Isis::CentroidApolloPan::elipticalReduction(), Isis::ForstnerOperator::Interest(), Isis::GradientOperator::Interest(), Isis::MoravecOperator::Interest(), Isis::StandardDeviationOperator::Interest(), IsValid(), Isis::MaximumCorrelation::MatchAlgorithm(), Isis::MinimumDifference::MatchAlgorithm(), Isis::ChipViewport::paintImage(), Isis::AutoReg::Reduce(), Isis::Centroid::select(), Isis::CentroidApolloPan::selectAdaptive(), and Isis::AutoReg::SetSubpixelPosition().
|
inline |
|
private |
bool Isis::Chip::IsInsideChip | ( | double | sample, |
double | line | ||
) |
sample | |
line |
Definition at line 162 of file Chip.cpp.
Referenced by Isis::ChipViewport::cubeToViewport().
bool Isis::Chip::IsValid | ( | double | percentage | ) |
Return if total number of valid pixels in chip meets a specified percentage of the entire chip.
percentage | The percentage that the valid pixels percentage must exceed |
|
inline |
sample | Sample position |
line | Line position |
Definition at line 240 of file Chip.h.
References GetValue(), m_validMaximum, and m_validMinimum.
Referenced by Isis::Gruen::algorithm(), Isis::AutoReg::Match(), Isis::AutoReg::Register(), and Isis::AutoReg::Registration().
|
inline |
Definition at line 106 of file Chip.h.
References m_chipLines.
Referenced by Isis::Gruen::algorithm(), Isis::AutoReg::ApplyGradientFilter(), Isis::ChipViewport::chipLines(), Isis::AutoReg::ComputeChipZScore(), Isis::ChipViewport::computeStretch(), Isis::CentroidApolloPan::elipticalReduction(), Extract(), Isis::ForstnerOperator::Interest(), Isis::GradientOperator::Interest(), Isis::MoravecOperator::Interest(), Isis::StandardDeviationOperator::Interest(), Isis::AutoReg::Match(), Isis::MaximumCorrelation::MatchAlgorithm(), Isis::MinimumDifference::MatchAlgorithm(), Isis::ChipViewport::paintImage(), Isis::AutoReg::Reduce(), Isis::AutoReg::Register(), Isis::Gruen::Registration(), Isis::Centroid::select(), Isis::CentroidApolloPan::selectAdaptive(), Isis::ChipViewport::setChip(), Isis::AutoReg::SetSubpixelPosition(), and Isis::AutoReg::UpdatedTemplate().
void Isis::Chip::Load | ( | Cube & | cube, |
Chip & | match, | ||
Cube & | matchChipCube, | ||
const double | scale = 1.0 , |
||
const int | band = 1 |
||
) |
Loads cube data into the Chip.
The data will be loaded such that the position set using TackCube method will be put at the center of the chip. The data will be loaded to sub-pixel accuracy using the interpolator indicated using SetReadInterpolator() method. Additionally, the data will be loaded such that it matches the camera and/or projective geometry of a given Chip.
cube | The cube used to put data into the chip |
match | Match the geometry of this chip |
matchChipCube | The cube used to put data into the match chip |
scale | scale factor (default of 1) |
band | Band number to use when loading (default of 1) |
Isis::iException::Programmer | - Chip cube is not a camera or map projection |
Isis::iException::Programmer | - Match chip cube is not a camera or map projection |
Isis::iException::Programmer | - Cannot find enough points to perform Affine transformation. |
Definition at line 300 of file Chip.cpp.
References Isis::IException::append(), Isis::Cube::camera(), CubeLine(), CubeSample(), Isis::Cube::fileName(), Isis::Sensor::HasSurfaceIntersection(), Isis::Projection::IsGood(), Isis::Camera::Line(), Isis::Cube::projection(), Isis::Camera::Sample(), SetChipPosition(), Isis::Camera::SetImage(), Isis::Projection::SetUniversalGround(), Isis::Camera::SetUniversalGround(), Isis::Projection::SetWorld(), TackLine(), TackSample(), Isis::TProjection::UniversalLatitude(), Isis::Sensor::UniversalLatitude(), Isis::TProjection::UniversalLongitude(), Isis::Sensor::UniversalLongitude(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().
void Isis::Chip::Load | ( | Cube & | cube, |
const Affine & | affine, | ||
const bool & | keepPoly = true , |
||
const int | band = 1 |
||
) |
Load a chip using an Affine transform as provided by caller.
This method will load data from a cube using an established Affine transform as provided by the caller. It is up to the caller to set up the affine appropriately.
For example, the first thing this method will do is set the chip tack point to the transformed cube location by replacing the existing affine transform with the one passed in and then calling SetChipPosition providing the chip tack point as the argument. This establishes which cube pixel is located at the chip tack point.
The data will be loaded to sub-pixel accuracy using the interpolator indicated using SetReadInterpolator() method.
cube | Cube to load the data from |
affine | Affine transform to set for chip load/operations |
keepPoly | Indicates whether clipping polygon should be kept or removed (default of true) |
band | Band number to read data from (default of 1) |
Definition at line 244 of file Chip.cpp.
References Isis::Cube::fileName().
void Isis::Chip::Load | ( | Cube & | cube, |
const double | rotation = 0.0 , |
||
const double | scale = 1.0 , |
||
const int | band = 1 |
||
) |
Load cube data into the Chip.
The data will be loaded such that the position set using TackCube method will be put at the center of the chip. The data will be loaded to sub-pixel accuracy using the interpolator indicated using SetReadInterpolator() method.
cube | The cube used to put data into the chip |
rotation | rotation in degrees of data about the cube tack point (default of 0) |
scale | scale factor (default of 1) |
band | Band number to use when loading (default of 1) |
Definition at line 203 of file Chip.cpp.
References Isis::Cube::fileName().
Referenced by Isis::ControlMeasureEditWidget::blinkStartRight(), Isis::ChipViewport::geomChip(), Isis::InterestOperator::InterestByMeasure(), Isis::ChipViewport::nogeomChip(), Isis::InterestOperator::Operate(), Isis::ControlMeasureEditWidget::registerPoint(), Isis::ControlPointEdit::registerPoint(), Isis::ChipViewport::reloadChip(), Isis::ChipViewport::rotateChip(), Isis::ControlMeasureEditWidget::setLeftMeasure(), Isis::ControlPointEdit::setLeftMeasure(), Isis::ControlMeasureEditWidget::setRightMeasure(), and Isis::ControlPointEdit::setRightMeasure().
|
private |
This method is called by Load() to move a control point across the chip.
*startSamp | Sample value to be increased, or moved right. |
*startLine | Line value to be increased, or moved downward. |
*endSamp | Sample value to be decreased, or moved left. |
*endLine | Line value to be decreased, or moved upward. |
Copy assignment operator.
other | chip to be copied to this |
Definition at line 1021 of file Chip.cpp.
References m_affine, m_buf, m_chipLine, m_chipLines, m_chipSample, m_chipSamples, m_clipPolygon, m_cubeLine, m_cubeSample, m_cubeTackLine, m_cubeTackSample, m_filename, m_readInterpolator, m_tackLine, m_tackSample, m_validMaximum, and m_validMinimum.
|
private |
This method is called by Load() to determine whether the given 3 points are nearly colinear.
This is done by considering the triangle composed of these points. The method returns true if all angles of the triangle are greater than the tolerance angle and less than 180 degrees, minus the tolerance angle.
x0 | The x-value of the first point |
y0 | The y-value of the first point |
x1 | The x-value of the second point |
y1 | The y-value of the second point |
x2 | The x-value of the third point |
y2 | The y-value of the third point |
tol | Minimum tolerance angle in degrees |
Definition at line 546 of file Chip.cpp.
References Isis::PI.
|
private |
This method reads data from a cube and puts it into the chip.
The affine transform is used in the SetChipPosition routine, so the geom of the chip is automatic. This method uses a default interpolator type of Cubic Convolution. This can be changed using SetReadInterpolator().
cube | Cube to read data from |
band | Band number to read data from |
Definition at line 939 of file Chip.cpp.
References Isis::Buffer::DoubleBuffer(), Isis::Interpolator::HotLine(), Isis::Interpolator::HotSample(), Isis::Interpolator::Interpolate(), Isis::Cube::lineCount(), Isis::Interpolator::Lines(), Isis::Cube::pixelType(), Isis::Cube::read(), Isis::Cube::sampleCount(), Isis::Interpolator::Samples(), and Isis::Portal::SetPosition().
|
inline |
Definition at line 99 of file Chip.h.
References m_chipSamples.
Referenced by Isis::Gruen::algorithm(), Isis::AutoReg::ApplyGradientFilter(), Isis::ChipViewport::chipSamples(), Isis::AutoReg::ComputeChipZScore(), Isis::ChipViewport::computeStretch(), Isis::CentroidApolloPan::elipticalReduction(), Extract(), Isis::ForstnerOperator::Interest(), Isis::GradientOperator::Interest(), Isis::MoravecOperator::Interest(), Isis::StandardDeviationOperator::Interest(), Isis::AutoReg::Match(), Isis::MaximumCorrelation::MatchAlgorithm(), Isis::MinimumDifference::MatchAlgorithm(), Isis::ChipViewport::paintImage(), Isis::AutoReg::Reduce(), Isis::AutoReg::Register(), Isis::Gruen::Registration(), Isis::Centroid::select(), Isis::CentroidApolloPan::selectAdaptive(), Isis::ChipViewport::setChip(), Isis::AutoReg::SetSubpixelPosition(), and Isis::AutoReg::UpdatedTemplate().
void Isis::Chip::SetAllValues | ( | const double & | d | ) |
Single value assignment operator.
Sets the entire chip to a constant
d | Value to set the chip to |
Definition at line 100 of file Chip.cpp.
Referenced by Isis::Centroid::select().
void Isis::Chip::SetChipPosition | ( | const double | sample, |
const double | line | ||
) |
Compute the position of the cube given a chip coordinate.
Any rotation or geometric matching done during the Load process will be taken into account. Use CubeSample and CubeLine methods to obtain results. Note the results could be outside of the cube
sample | chip sample coordinate |
line | chip line coordinate |
Definition at line 643 of file Chip.cpp.
Referenced by Isis::Gruen::getChipUpdate(), Isis::InterestOperator::InterestByMeasure(), Isis::ChipViewport::keyPressEvent(), Load(), Isis::ChipViewport::mousePressEvent(), Isis::InterestOperator::Operate(), Isis::ChipViewport::panDown(), Isis::ChipViewport::panLeft(), Isis::ChipViewport::panRight(), Isis::ChipViewport::panUp(), Isis::AutoReg::Register(), Isis::AutoReg::Registration(), Isis::Gruen::Registration(), Isis::ChipViewport::tackLine(), and Isis::ChipViewport::tackSample().
void Isis::Chip::SetClipPolygon | ( | const geos::geom::MultiPolygon & | clipPolygon | ) |
Sets the clipping polygon for this chip.
The coordinates must be in (sample,line) order. All Pixel values outside this polygon will be set to Null8. The cubic convolution interpolation is allowed to uses valid pixels outside the clipping area.
clipPolygon | The polygons used to clip the chip |
Definition at line 1008 of file Chip.cpp.
Referenced by Isis::InterestOperator::InterestByMeasure(), and Isis::InterestOperator::Operate().
void Isis::Chip::SetCubePosition | ( | const double | sample, |
const double | line | ||
) |
Compute the position of the chip given a cube coordinate.
Any rotation or geometric matching done during the Load process will be taken into account. Use ChipSample and ChipLine methods to obtain results. Note that the results could be outside of the chip.
sample | chip sample coordinate |
line | chip line coordinate |
Definition at line 660 of file Chip.cpp.
Referenced by Isis::ChipViewport::cubeToViewport().
|
inline |
Sets Interpolator Type for loading a chip.
This type is used in the Read() method.
type | Interpolator type to be used. |
IException::Programmer | - Invalid Interpolator Type |
Definition at line 323 of file Chip.h.
References m_readInterpolator, Isis::IException::Programmer, and Isis::toString().
void Isis::Chip::SetSize | ( | const int | samples, |
const int | lines | ||
) |
Change the size of the Chip.
samples | number of samples in the chip |
lines | number of lines in the chip |
Isis::iException::User | - Samples and lines must be greater than zero. |
Definition at line 134 of file Chip.cpp.
References Isis::toString().
Referenced by Isis::AutoReg::Match(), Isis::Gruen::Registration(), and Isis::Centroid::select().
|
inline |
Sets the internal Affine transform to new translation.
Provides the ability to establish a new affine transformation without overhead of, say, loading the chip with a new translation. The caller also has the option to specify the disposition of an established polygon.
affine | New affine tranform to set for this chip |
keepPoly | Indicates whether an existing polygon clipper should be kept (default of true) |
Definition at line 290 of file Chip.h.
References m_affine, and m_clipPolygon.
void Isis::Chip::SetValidRange | ( | const double | minimum = Isis::ValidMinimum , |
const double | maximum = Isis::ValidMaximum |
||
) |
Set the valid range of data in the chip.
If never called all data in the chip is consider valid (other than special pixels).
minimum | minimum valid pixel value (default of Isis::ValidMinimum) |
maximum | maximum valid pixel value (default of Isis::ValidMaximum) |
Isis::iException::Programmer | - First parameter must be smaller than the second. |
Definition at line 681 of file Chip.cpp.
References Isis::toString().
|
inline |
Sets a value in the chip.
sample | Sample position to load (1-based) |
line | Line position to load (1-based) |
value | Value to set |
Definition at line 126 of file Chip.h.
References m_buf.
Referenced by Isis::AutoReg::ApplyGradientFilter(), Isis::CentroidApolloPan::elipticalReduction(), Extract(), Isis::AutoReg::Match(), Isis::AutoReg::Reduce(), Isis::Centroid::select(), and Isis::AutoReg::SetSubpixelPosition().
Isis::Statistics * Isis::Chip::Statistics | ( | ) |
Returns a statistics object of the current data in the chip.
The caller takes ownership of the returned instance.
Definition at line 909 of file Chip.cpp.
References Isis::Statistics::AddData().
void Isis::Chip::TackCube | ( | const double | cubeSample, |
const double | cubeLine | ||
) |
This sets which cube position will be located at the chip tack position.
cubeSample | the cube sample value to tack |
cubeLine | the cube line value to tack |
Definition at line 182 of file Chip.cpp.
Referenced by Isis::ControlMeasureEditWidget::blinkStartRight(), Isis::Gruen::getChipUpdate(), Isis::InterestOperator::InterestByMeasure(), Isis::InterestOperator::Operate(), Isis::ControlMeasureEditWidget::registerPoint(), Isis::ControlPointEdit::registerPoint(), Isis::ChipViewport::reloadChip(), Isis::ControlMeasureEditWidget::setLeftMeasure(), Isis::ControlPointEdit::setLeftMeasure(), Isis::ControlMeasureEditWidget::setLeftPosition(), Isis::ControlMeasureEditWidget::setRightMeasure(), Isis::ControlPointEdit::setRightMeasure(), and Isis::ControlMeasureEditWidget::setRightPosition().
|
inline |
This method returns a chip's fixed tack line; the middle of the chip.
It is a chip coordinate, not a cube coordinate. For example, a chip with 5 lines will return 3, the middle pixel. A chip with 4 lines will return 2.
Definition at line 187 of file Chip.h.
References m_tackLine.
Referenced by Isis::Gruen::algorithm(), Extract(), Isis::Gruen::getChipUpdate(), Isis::ChipViewport::keyPressEvent(), Load(), Isis::ChipViewport::panDown(), Isis::ChipViewport::panLeft(), Isis::ChipViewport::panRight(), Isis::ChipViewport::panUp(), Isis::AutoReg::Register(), Isis::Gruen::Registration(), Isis::ChipViewport::tackLine(), and Isis::ChipViewport::tackSample().
|
inline |
This method returns a chip's fixed tack sample; the middle of the chip.
It is a chip coordinate, not a cube coordinate. For example, a chip with 5 samples will return 3, the middle pixel. A chip with 4 samples will return 2.
Definition at line 176 of file Chip.h.
References m_tackSample.
Referenced by Isis::Gruen::algorithm(), Extract(), Isis::Gruen::getChipUpdate(), Isis::ChipViewport::keyPressEvent(), Load(), Isis::ChipViewport::panDown(), Isis::ChipViewport::panLeft(), Isis::ChipViewport::panRight(), Isis::ChipViewport::panUp(), Isis::AutoReg::Register(), Isis::Gruen::Registration(), Isis::ChipViewport::tackLine(), and Isis::ChipViewport::tackSample().
void Isis::Chip::Write | ( | const QString & | filename | ) |
Writes the contents of the Chip to a cube.
filename | Name of the cube to create |
Definition at line 985 of file Chip.cpp.
References Isis::Cube::close(), Isis::Cube::create(), Isis::Cube::setDimensions(), Isis::LineManager::SetLine(), and Isis::Cube::write().
Referenced by Isis::Gruen::Registration(), Isis::ControlMeasureEditWidget::saveChips(), and Isis::ControlPointEdit::saveChips().
|
private |
Transform set by SetTransform.
Definition at line 366 of file Chip.h.
Referenced by Chip(), Extract(), GetTransform(), operator=(), and SetTransform().
|
private |
Chip buffer.
Definition at line 348 of file Chip.h.
Referenced by Chip(), GetValue(), operator=(), and SetValue().
|
private |
chip line set by SetChip/CubePosition
Definition at line 359 of file Chip.h.
Referenced by Chip(), ChipLine(), Extract(), and operator=().
|
private |
Number of lines in the chip.
Definition at line 347 of file Chip.h.
Referenced by Chip(), Lines(), and operator=().
|
private |
chip sample set by SetChip/CubePosition
Definition at line 358 of file Chip.h.
Referenced by Chip(), ChipSample(), Extract(), and operator=().
|
private |
Number of samples in the chip.
Definition at line 346 of file Chip.h.
Referenced by Chip(), operator=(), and Samples().
|
private |
clipping polygon set by SetClipPolygon
Definition at line 363 of file Chip.h.
Referenced by Chip(), operator=(), and SetTransform().
|
private |
cube line set by SetCubePosition
Definition at line 361 of file Chip.h.
Referenced by Chip(), CubeLine(), Extract(), and operator=().
|
private |
cube sample set by SetCubePosition
Definition at line 360 of file Chip.h.
Referenced by Chip(), CubeSample(), Extract(), and operator=().
|
private |
cube line at the chip tack
Definition at line 353 of file Chip.h.
Referenced by Chip(), Extract(), and operator=().
|
private |
cube sample at the chip tack
Definition at line 352 of file Chip.h.
Referenced by Chip(), Extract(), and operator=().
|
private |
FileName of loaded cube.
Definition at line 373 of file Chip.h.
Referenced by Chip(), Extract(), FileName(), and operator=().
|
private |
Interpolator type set by.
Definition at line 369 of file Chip.h.
Referenced by Chip(), GetReadInterpolator(), operator=(), and SetReadInterpolator().
|
private |
Middle line of the chip.
Definition at line 350 of file Chip.h.
Referenced by Chip(), Extract(), operator=(), and TackLine().
|
private |
Middle sample of the chip.
Definition at line 349 of file Chip.h.
Referenced by Chip(), Extract(), operator=(), and TackSample().
|
private |
|
private |