1#ifndef ProcessImportPds_h
2#define ProcessImportPds_h
18 class PvlToPvlTranslationManager;
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);
269 void ProcessDataFilePointer(PvlToPvlTranslationManager & pdsXlater,
270 const bool & calcOffsetOnly);
271 void ProcessPixelBitandType(PvlToPvlTranslationManager & pdsXlater);
272 void ProcessSpecialPixels(PvlToPvlTranslationManager & pdsXlater,
const bool & isQube);
274 void ProcessPdsImageLabel(
const QString &pdsDataFile);
275 void ProcessPdsQubeLabel(
const QString &pdsDataFile,
const QString &transFile);
276 void ProcessPdsM3Label(
const QString &pdsDataFile, PdsFileType fileType);
277 void ProcessPdsCombinedSpectrumLabel(
const QString &pdsDataFile);
279 void ExtractPdsProjection(PvlToPvlTranslationManager &pdsXlater);
280 void GetProjectionOffsetMults(
double &xoff,
double &yoff,
281 double &xmult,
double &ymult);
283 void IdentifySource(Pvl &lab);
285 void TranslateIsis2BandBin(Pvl &lab);
286 void TranslateIsis2Instrument(Pvl &lab);
287 void TranslatePdsBandBin(Pvl &lab);
288 void TranslatePdsArchive(Pvl &lab);
296 EncodingType p_encodingType;
303 QString p_projection;
306 bool p_projectionOffsetChange;
309 PvlGroup p_projectionOffsetGroup;
311 QString p_targetName;
312 double p_equatorialRadius;
314 double p_polarRadius;
316 QString p_longitudeDirection;
318 int p_longitudeDomain;
320 QString p_latitudeType;
322 double p_minimumLatitude;
324 double p_maximumLatitude;
326 double p_minimumLongitude;
328 double p_maximumLongitude;
330 double p_pixelResolution;
332 double p_scaleFactor;
336 double p_sampleProjectionOffset;
337 double p_lineProjectionOffset;
341 bool p_keepOriginalLabel;
343 std::vector<Table> p_tables;
Buffer for reading and writing cube data.
Definition Buffer.h:53
This represents a cube in a project-based GUI interface.
Definition Image.h:105
Byte swapper.
Definition ProcessImport.h:155
virtual void StartProcess()
Process the input file and write it to the output.
Definition ProcessImport.cpp:1302
Convert PDS archive files to Isis format.
Definition ProcessImportPds.h:214
void TranslateIsis2Labels(Pvl &lab)
Translate as many of the ISIS2 labels as possible.
Definition ProcessImportPds.cpp:1500
virtual ~ProcessImportPds()
Definition ProcessImportPds.cpp:52
void EndProcess()
Definition ProcessImportPds.cpp:59
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.
Definition ProcessImportPds.cpp:1395
ProcessImportPds()
Constructor.
Definition ProcessImportPds.cpp:40
void StartProcess()
This method will write the cube and table data to the output cube.
Definition ProcessImportPds.cpp:1421
void OmitOriginalLabel()
Prevents the Original Label blob from being written out to the end of the cube.
Definition ProcessImportPds.cpp:472
void TranslatePdsProjection(Pvl &lab)
Fills the passed in label with the projection information from the PDS label file.
Definition ProcessImportPds.cpp:1562
bool GetProjectionOffsetChange()
Return whether the projection offsets have changed.
Definition ProcessImportPds.cpp:326
bool IsIsis2()
Return true if ISIS2 cube, else return false.
Definition ProcessImportPds.cpp:455
Table & ImportTable(QString pdsTableName)
This method will import the PDS table with the given name into an Isis Table object.
Definition ProcessImportPds.cpp:428
void TranslatePdsLabels(Pvl &lab)
Translate as many of the PDS labels as possible.
Definition ProcessImportPds.cpp:1545
PvlGroup GetProjectionOffsetGroup()
Return the projection offsets.
Definition ProcessImportPds.cpp:334
void ProcessLabel(const QString &pdsDataFile, PdsFileType allowedTypes)
Load the PDS labels after determining what type of data file was provided.
Definition ProcessImportPds.cpp:595
PdsFileType
Definition ProcessImportPds.h:217
@ Loc
Definition ProcessImportPds.h:223
@ Obs
Definition ProcessImportPds.h:224
@ SpectralQube
Definition ProcessImportPds.h:220
@ Qube
Definition ProcessImportPds.h:219
@ L0
Definition ProcessImportPds.h:221
@ CombinedSpectrum
Definition ProcessImportPds.h:225
@ All
Definition ProcessImportPds.h:226
@ Rdn
Definition ProcessImportPds.h:222
void Finalize()
End the processing sequence and cleans up by closing cubes, freeing memory, etc.
Definition ProcessImportPds.cpp:312
Contains multiple PvlContainers.
Definition PvlGroup.h:41
Container for cube-like labels.
Definition Pvl.h:119
Class for storing Table blobs information.
Definition Table.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16