File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
 |
Isis Developer Reference
|
Go to the documentation of this file.
19 #include <geos/geom/MultiPolygon.h>
90 Chip(
const int samples,
const int lines);
93 void SetSize(
const int samples,
const int lines);
100 return m_chipSamples;
126 void SetValue(
int sample,
int line,
const double &value) {
127 m_buf[line-1][sample-1] = value;
146 return m_buf[line-1][sample-1];
163 inline double GetValue(
int sample,
int line)
const {
164 return m_buf[line-1][sample-1];
167 void TackCube(
const double cubeSample,
const double cubeLine);
191 void Load(
Cube &cube,
const double rotation = 0.0,
const double scale = 1.0,
194 const double scale = 1.0,
const int band = 1);
195 void Load(
Cube &cube,
const Affine &affine,
const bool &keepPoly =
true,
241 double value =
GetValue(sample, line);
242 if (value < m_validMinimum)
return false;
243 if (value > m_validMaximum)
return false;
255 bool IsValid(
double percentage);
256 Chip Extract(
int samples,
int lines,
int samp,
int line);
260 void Write(
const QString &filename);
293 delete m_clipPolygon;
310 return m_readInterpolator;
327 m_readInterpolator = type;
331 QString msg =
"Invalid Interpolator type. Cannot use [";
332 msg +=
toString(type) +
"] to read cube into chip.";
337 void Init(
const int samples,
const int lines);
338 void Read(
Cube &cube,
const int band);
339 std::vector<int> MovePoints(
int startSamp,
int startLine,
340 int endSamp,
int endLine);
341 bool PointsColinear(
double x0,
double y0,
342 double x1,
double y1,
343 double x2,
double y2,
348 std::vector< std::vector<double> > m_buf;
352 double m_cubeTackSample;
353 double m_cubeTackLine;
355 double m_validMinimum;
356 double m_validMaximum;
363 geos::geom::MultiPolygon *m_clipPolygon;
const double ValidMaximum
The maximum valid double value for Isis pixels.
Definition: SpecialPixel.h:122
Chip & operator=(const Chip &other)
Copy assignment operator.
Definition: Chip.cpp:1021
bool IsInsideChip(double sample, double line)
Definition: Chip.cpp:162
void Compute(double x, double y)
Compute (xp,yp) given (x,y).
Definition: Affine.cpp:191
void SetValidRange(const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
Set the valid range of data in the chip.
Definition: Chip.cpp:681
@ BiLinearType
Definition: Interpolator.h:43
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:94
virtual QString fileName() const
Returns the opened cube's filename.
Definition: Cube.cpp:1563
void AddData(const double *data, const unsigned int count)
Add an array of doubles to the accumulators and counters.
Definition: Statistics.cpp:141
Buffer manager, for moving through a cube in lines.
Definition: LineManager.h:39
const double PI
The mathematical constant PI.
Definition: Constants.h:40
Buffer for containing a two dimensional section of an image.
Definition: Portal.h:36
@ CubicConvolutionType
Definition: Interpolator.h:44
virtual double UniversalLatitude()
This returns a universal latitude (planetocentric).
Definition: TProjection.cpp:908
bool HasSurfaceIntersection() const
Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection wi...
Definition: Sensor.cpp:186
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition: Camera.cpp:154
void SetSize(const int samples, const int lines)
Change the size of the Chip.
Definition: Chip.cpp:134
void read(Blob &blob, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >()) const
This method will read data from the specified Blob object.
Definition: Cube.cpp:807
virtual double Sample() const
Returns the current sample number.
Definition: Camera.cpp:2690
void TackCube(const double cubeSample, const double cubeLine)
This sets which cube position will be located at the chip tack position.
Definition: Chip.cpp:182
double * DoubleBuffer() const
Returns the value of the shape buffer.
Definition: Buffer.h:138
double GetValue(int sample, int line)
Loads a Chip with a value.
Definition: Chip.h:145
void SetReadInterpolator(const Interpolator::interpType type)
Sets Interpolator Type for loading a chip.
Definition: Chip.h:323
void close(bool remove=false)
Closes the cube and updates the labels.
Definition: Cube.cpp:260
double ChipSample() const
Definition: Chip.h:219
void SetCubePosition(const double sample, const double line)
Compute the position of the chip given a cube coordinate.
Definition: Chip.cpp:660
int Lines()
Returns the number of lines needed by the interpolator.
Definition: Interpolator.cpp:236
static geos::geom::GeometryFactory::Ptr globalFactory
Definition: PolygonTools.h:51
virtual bool SetUniversalGround(const double coord1, const double coord2)
This method is used to set the lat/lon or radius/azimuth (i.e.
Definition: Projection.cpp:417
double CubeSample() const
Definition: Chip.h:203
Chip Extract(int samples, int lines, int samp, int line)
Extract a sub-chip from a chip.
Definition: Chip.cpp:727
void SetValue(int sample, int line, const double &value)
Sets a value in the chip.
Definition: Chip.h:126
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
void SetValidRange(const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
Definition: Statistics.cpp:255
double HotSample()
Returns the sample coordinate of the center pixel in the buffer for the interpolator.
Definition: Interpolator.cpp:265
void Load(Cube &cube, const double rotation=0.0, const double scale=1.0, const int band=1)
Load cube data into the Chip.
Definition: Chip.cpp:203
void SetTransform(const Affine &affine, const bool &keepPoly=true)
Sets the internal Affine transform to new translation.
Definition: Chip.h:290
void append(const IException &exceptionSource)
Appends the given exception (and its list of previous exceptions) to this exception's causational exc...
Definition: IException.cpp:409
int TackSample() const
This method returns a chip's fixed tack sample; the middle of the chip.
Definition: Chip.h:176
double CubeLine() const
Definition: Chip.h:210
int Lines() const
Definition: Chip.h:106
virtual double WorldY() const
This returns the world Y coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:544
bool IsGood() const
This indicates if the last invocation of SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:374
void SetAllValues(const double &d)
Single value assignment operator.
Definition: Chip.cpp:100
Chip()
Constructs a Chip.
Definition: Chip.cpp:35
@ Double
Definition: PixelType.h:36
virtual double UniversalLongitude() const
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in t...
Definition: Sensor.cpp:233
int lineCount() const
Definition: Cube.cpp:1734
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
int TackLine() const
This method returns a chip's fixed tack line; the middle of the chip.
Definition: Chip.h:187
AMatrix Forward() const
Returns the forward Affine matrix.
Definition: Affine.h:127
void setDimensions(int ns, int nl, int nb)
Used prior to the Create method to specify the size of the cube.
Definition: Cube.cpp:1217
void create(const QString &cfile)
This method will create an isis cube for writing.
Definition: Cube.cpp:414
interpType
The interpolator type, including: None, Nearest Neighbor, BiLinear or Cubic Convultion.
Definition: Interpolator.h:40
void Write(const QString &filename)
Writes the contents of the Chip to a cube.
Definition: Chip.cpp:985
double ChipLine() const
Definition: Chip.h:226
Base class for Map TProjections.
Definition: TProjection.h:166
virtual bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
Definition: Camera.cpp:380
const double NULL8
Definition: SpecialPixel.h:94
int sampleCount() const
Definition: Cube.cpp:1807
virtual double WorldX() const
This returns the world X coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:524
IO Handler for Isis Cubes.
Definition: Cube.h:167
Pixel interpolator.
Definition: Interpolator.h:34
Isis exception class.
Definition: IException.h:91
virtual bool SetWorld(const double x, const double y)
This method is used to set a world coordinate.
Definition: Projection.cpp:497
const Affine & GetTransform() const
Returns the Affine transformation of chip-to-cube indices.
Definition: Chip.h:275
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1451
virtual ~Chip()
Destroys the Chip object.
Definition: Chip.cpp:88
bool SetLine(const int line, const int band=1)
Positions the buffer at the requested line and returns a status indicator if the set was succesful or...
Definition: LineManager.cpp:44
const double ValidMinimum
The minimum valid double value for Isis pixels.
Definition: SpecialPixel.h:87
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
bool IsValid(int sample, int line)
Definition: Chip.h:240
Namespace for the standard library.
PixelType pixelType() const
Definition: Cube.cpp:1758
double Interpolate(const double isamp, const double iline, const double buf[])
Performs an interpolation on the data according to the parameters set in the constructor.
Definition: Interpolator.cpp:56
double xp() const
Returns the computed x'.
Definition: Affine.h:86
double GetValue(int sample, int line) const
Get a value from a Chip.
Definition: Chip.h:163
void write(Blob &blob, bool overwrite=true)
This method will write a blob of data (e.g.
Definition: Cube.cpp:971
virtual double UniversalLongitude()
This returns a universal longitude (positive east in 0 to 360 domain).
Definition: TProjection.cpp:922
A small chip of data used for pattern matching.
Definition: Chip.h:86
int Samples() const
Definition: Chip.h:99
Affine basis function.
Definition: Affine.h:65
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
int Samples()
Returns the number of samples needed by the interpolator.
Definition: Interpolator.cpp:208
double yp() const
Returns the computed y'.
Definition: Affine.h:95
Isis::Statistics * Statistics()
Returns a statistics object of the current data in the chip.
Definition: Chip.cpp:909
QString FileName() const
Definition: Chip.h:113
virtual double Line() const
Returns the current line number.
Definition: Camera.cpp:2710
Interpolator::interpType GetReadInterpolator()
Access method that returns the Interpolator Type used for loading a chip.
Definition: Chip.h:309
void SetChipPosition(const double sample, const double line)
Compute the position of the cube given a chip coordinate.
Definition: Chip.cpp:643
int Sample(const int index=0) const
Returns the sample position associated with a shape buffer index.
Definition: Buffer.cpp:127
Base class for Map Projections.
Definition: Projection.h:155
double HotLine()
Returns the line coordinate of the center pixel in the buffer for the interpolator.
Definition: Interpolator.cpp:297
void SetClipPolygon(const geos::geom::MultiPolygon &clipPolygon)
Sets the clipping polygon for this chip.
Definition: Chip.cpp:1008
void SetPosition(const double sample, const double line, const int band)
Sets the line and sample position of the buffer.
Definition: Portal.h:93
@ NearestNeighborType
Definition: Interpolator.h:42
Projection * projection()
Definition: Cube.cpp:1794
int Line(const int index=0) const
Returns the line position associated with a shape buffer index.
Definition: Buffer.cpp:145
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
virtual double UniversalLatitude() const
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed ...
Definition: Sensor.cpp:210