1#ifndef ProcessImportPds_h
2#define ProcessImportPds_h
9#include "ProcessImport.h"
18 class PvlToPvlTranslationManager;
225 CombinedSpectrum = 128,
226 All =
Image | Qube | SpectralQube | L0 | Rdn | Loc | Obs | CombinedSpectrum
232 void SetPdsFile(
const QString &pdsLabelFile,
const QString &pdsDataFile,
233 Pvl &pdsLabel, PdsFileType allowedTypes = All);
234 void SetPdsFile(
const Pvl &pdsLabelPvl,
const QString &pdsDataFile,
235 PdsFileType allowedTypes = All);
236 void ProcessLabel(
const QString &pdsDataFile, PdsFileType allowedTypes);
270 const bool & calcOffsetOnly);
281 double &xmult,
double &ymult);
311 QString p_targetName;
336 double p_sampleProjectionOffset;
337 double p_lineProjectionOffset;
Buffer for reading and writing cube data.
This represents a cube in a project-based GUI interface.
virtual void StartProcess()
Process the input file and write it to the output.
Convert PDS archive files to Isis format.
EncodingType p_encodingType
The encoding type of the image data.
QString p_labelFile
The filename where the PDS label came from.
void GetProjectionOffsetMults(double &xoff, double &yoff, double &xmult, double &ymult)
Read mults and offsets from a def file in order to calculate the upper left x/y.
void TranslatePdsBandBin(Pvl &lab)
Fill as many of the Isis BandBin labels as possible.
double p_scaleFactor
The scale factor found in the PDS projection labels.
double p_minimumLongitude
Minimum longitude found in the PDS projection labels.
bool p_keepOriginalLabel
determines whether or not to keep the OriginalLabel blob.
void TranslateIsis2Labels(Pvl &lab)
Translate as many of the ISIS2 labels as possible.
void IdentifySource(Pvl &lab)
Identify the source of this file PDS or ISIS2.
std::vector< Table > p_tables
Vector of Isis Table objects that were imported from PDS and need to be added to the imported cube fi...
double p_minimumLatitude
Minimum latitude found in the PDS projection labels.
QString p_jp2File
The name of the file containing the encoded JP2 data.
QString p_transDir
Base data directory.
void SetPdsFile(const QString &pdsLabelFile, const QString &pdsDataFile, Pvl &pdsLabel, PdsFileType allowedTypes=All)
Set the input label file, data file and initialize a Pvl with the PDS labels.
QString p_longitudeDirection
Longitude direction found in the PDS projection labels.
double p_maximumLatitude
Maximum latitude found in the PDS projection labels.
double p_equatorialRadius
Equatorial radius found in the PDS projection labels.
ProcessImportPds()
Constructor.
void StartProcess()
This method will write the cube and table data to the output cube.
void OmitOriginalLabel()
Prevents the Original Label blob from being written out to the end of the cube.
void TranslateIsis2BandBin(Pvl &lab)
Fill as many of the Isis BandBin labels as possible.
Pvl p_pdsLabel
Internalized PDS label.
void ProcessDataFilePointer(PvlToPvlTranslationManager &pdsXlater, const bool &calcOffsetOnly)
Handles the DataFilePointer keyword, aka ^QUBE or ^IMAGE.
void TranslatePdsProjection(Pvl &lab)
Fills the passed in label with the projection information from the PDS label file.
void ProcessPixelBitandType(PvlToPvlTranslationManager &pdsXlater)
Handles PixelType and BitsPerPixel Calls SetPixelType with the correct values.
void ExtractPdsProjection(PvlToPvlTranslationManager &pdsXlater)
Extract all possible PDS projection parameters from the PDS label.
bool p_projectionOffsetChange
Whether the projection offsets were updated upon loading.
void TranslatePdsArchive(Pvl &lab)
Fill as many of the Isis BandBin labels as possible.
void ProcessSpecialPixels(PvlToPvlTranslationManager &pdsXlater, const bool &isQube)
Handles all special pixel setting, ultimately, calls SetSpecialValues.
double p_maximumLongitude
Maximum longitude found in the PDS projection labels.
bool GetProjectionOffsetChange()
Return whether the projection offsets have changed.
void ProcessPdsQubeLabel(const QString &pdsDataFile, const QString &transFile)
Process the PDS label of type QUBE or SPECTRALQUBE.
bool IsIsis2()
Return true if ISIS2 cube, else return false.
double p_polarRadius
The polar radius found in the PDS projection labels.
void ProcessPdsCombinedSpectrumLabel(const QString &pdsDataFile)
Process the PDS label of type CombinedSpectrum.
Table & ImportTable(QString pdsTableName)
This method will import the PDS table with the given name into an Isis Table object.
int p_longitudeDomain
Longitude domain found in the PDS projection labels.
void ProcessPdsImageLabel(const QString &pdsDataFile)
Process the PDS label of type IMAGE.
void TranslatePdsLabels(Pvl &lab)
Translate as many of the PDS labels as possible.
PvlGroup GetProjectionOffsetGroup()
Return the projection offsets.
void ProcessPdsM3Label(const QString &pdsDataFile, PdsFileType fileType)
Process Chandrayaan M3 PDS label.
QString p_projection
The name of the projection found in the PDS projection labels.
double p_rotation
The rotation found in the PDS labels.
void ProcessLabel(const QString &pdsDataFile, PdsFileType allowedTypes)
Load the PDS labels after determining what type of data file was provided.
PvlGroup p_projectionOffsetGroup
Log information for projection offsets.
double p_pixelResolution
Pixel resolution found in the PDS projection labels.
void TranslateIsis2Instrument(Pvl &lab)
Fill as many of the Isis instrument labels as possible.
void Finalize()
End the processing sequence and cleans up by closing cubes, freeing memory, etc.
QString p_latitudeType
The latitude type found in the PDS projection labels.
Contains multiple PvlContainers.
Container for cube-like labels.
Allows applications to translate simple text files.
Class for storing Table blobs information.
This is free and unencumbered software released into the public domain.