1 #ifndef ProcessMosaic_h 2 #define ProcessMosaic_h 216 static const int FLOAT_STORE_INT_PRECISELY_MAX_VALUE = 16777216;
217 static const int FLOAT_STORE_INT_PRECISELY_MIN_VALUE = -16777215;
228 NumImageOverlayOptions
240 virtual void StartProcess(
const int &piOutSample,
const int &piOutLine,
const int &piOutBand);
253 const int ss,
const int sl,
255 const int ns,
const int nl,
262 const int ss = 1,
const int sl = 1,
264 const int ns = -1,
const int nl = -1,
273 void SetBandBinMatch(
bool enforceBandBinMatch);
275 void SetBandKeyword(QString bandPriorityKeyName, QString bandPriorityKeyValue);
284 void SetTrackFlag(
bool trackingEnabled);
304 int bandPriorityInputBandNumber,
int bandPriorityOutputBandNumber,
309 int ins,
int inl,
int inb,
310 int bandPriorityInputBandNumber,
311 int bandPriorityOutputBandNumber);
339 bool m_trackingEnabled;
341 bool m_createOutputMosaic;
342 int m_bandPriorityBandNumber;
343 QString m_bandPriorityKeyName;
344 QString m_bandPriorityKeyValue;
345 bool m_bandPriorityUseMaxValue;
375 bool m_placeHighSatPixels;
376 bool m_placeLowSatPixels;
377 bool m_placeNullPixels;
bool ProcessAveragePriority(int piPixel, Portal &pInPortal, Portal &pOutPortal, Portal &pOrigPortal)
Calculate DN value for a pixel for AverageImageWithMosaic priority and set the Count band portal...
bool GetTrackStatus()
This method searchs the mosaic label for a table with name "InputFile".
void SetNullFlag(bool placeNullPixels)
When true, Null pixels will be considered valid data for the purposes of placing pixels in the output...
int m_inb
The number of bands from the input cube.
void SetHighSaturationFlag(bool placeHighSatPixels)
When true, high saturation (HRS, HIS) will be considered valid data for the purposes of placing pixel...
virtual void EndProcess()
Cleans up by closing input, output and tracking cubes.
void ResetCountBands()
Reset all the count bands to default at the time of mosaic creation.
int GetInputStartLineInMosaic() const
This is the line where the image was placed into the output mosaic.
PvlObject imagePositions()
Accessor for the placed images and their locations.
void SetLowSaturationFlag(bool placeLowSatPixels)
When true, low saturation (LRS, LIS) will be considered valid data for the purposes of placing pixels...
int m_osb
The starting band within the output cube.
Buffer for containing a two dimensional section of an image.
Isis::Cube * SetOutputCube(const QString &psParameter)
Opens an output cube specified by the user.
void SetBandKeyword(QString bandPriorityKeyName, QString bandPriorityKeyValue)
Set the keyword/value to use for comparing when using band priority.
bool m_enforceBandBinMatch
True/False value to determine whether to enforce the input cube bandbin matches the mosaic bandbin gr...
int GetOriginDefaultByPixelType()
This method returns the defaults(unassigned origin value) depending on the pixel type.
int m_ins
The number of samples from the input cube.
Cube * m_trackingCube
Output tracking cube. NULL unless tracking is enabled.
int m_inl
The number of lines from the input cube.
ImageOverlay
Enumeration for different Mosaic priorities (input, mosaic, band)
bool GetLowSaturationFlag() const
static QString OverlayToString(ImageOverlay)
Convert an ImageOverlay to a QString.
void BandComparison(int iss, int isl, int ins, int inl, int bandPriorityInputBandNumber, int bandPriorityOutputBandNumber, int index)
This method compares the specified band of the input and output using the criteria (lesser or greater...
virtual void StartProcess(void funct())
In the base class, this method will invoked a user-specified function exactly one time...
int m_onb
The number of bands in the output cube.
void SetBandNumber(int bandPriorityBandNumber)
Set the band to use for priorities when using band priority.
int GetInputStartBandInMosaic() const
This is the band where the image was placed into the output mosaic.
void MatchDEMShapeModel()
Match the Shape Model for input and mosaic.
void BandPriorityWithNoTracking(int iss, int isl, int isb, int ins, int inl, int inb, int bandPriorityInputBandNumber, int bandPriorityOutputBandNumber)
Mosaicking for Band Priority with no Tracking.
virtual Isis::Cube * SetInputCube(const QString ¶meter, const int requirements=0)
Opens an input cube specified by the user and verifies requirements are met.
int m_oss
The starting sample within the output cube.
void MatchBandBinGroup(int origIsb, int &inb)
This method matches the input BandBin group to the mosaic BandBin Group and allows band to be replace...
bool m_enforceMatchDEM
DEM of the input and mosaic should match.
int GetInputStartSampleInMosaic() const
This is the sample where the image was placed into the output mosaic.
int m_osl
The starting line within the output cube.
bool GetHighSaturationFlag() const
void SetMatchDEM(bool matchDEM)
Set the DEM match flag.
static ImageOverlay StringToOverlay(QString)
Convert a QString to an ImageOverlay (case-insensitive).
virtual ~ProcessMosaic()
Destroys the Mosaic object. It will close all opened cubes.
int m_iss
The starting sample within the input cube.
ProcessMosaic()
ProcessMosaic Contructor.
void SetBandUseMaxValue(bool useMax)
Set whether to take the image with the max or min value when using band priority. ...
Mosaic two cubes together.
virtual Isis::Cube * SetInputCube(const QString ¶meter, const int ss, const int sl, const int sb, const int ns, const int nl, const int nb)
Opens an input cube specified by the user.
PvlObject m_imagePositions
List of images placed on the mosaic.
void SetCreateFlag(bool createOutputMosaic)
Flag to indicate that the mosaic is being newly created Indication that the new label specific to the...
Namespace for ISIS/Bullet specific routines.
bool GetTrackFlag() const
virtual void StartProcess(const int &piOutSample, const int &piOutLine, const int &piOutBand)
This method invokes the process by mosaic operation over a single input cube and single output cube...
static const char * TRACKING_TABLE_NAME
This is the name of the table in the Cube which will contain the image file names.
void AddDefaultBandBinGroup()
AddDefaultBandBinGroup.
int m_isb
The starting band within the input cube.
Contains Pvl Groups and Pvl Objects.
void AddBandBinGroup(int origIsb)
This method adds the BandBin group to the mosaic corresponding to the actual bands in the mosaic...
Base class for all cube processing derivatives.
int GetBandIndex(bool inputFile)
Get the Band Index in an image of type (input/output)
int m_isl
The starting line within the input cube.
IO Handler for Isis Cubes.