1#ifndef ProcessExportPds4_h
2#define ProcessExportPds4_h
10#include "ProcessExport.h"
13#include <QDomDocument>
83 UniformlySampledSpectrum
87 QDomDocument &SpectralPds4Label();
91 void StandardImageImage();
103 void addHistory(QString description, QString date =
"tbd", QString version =
"1.0");
111 QString transMapFile =
"$ISISROOT/appdata/translations/pds4ExportUnits.pvl");
113 void addSchema(QString sch, QString xsd, QString xmlns, QString xmlnsURI);
114 void addSchema(QString xsd, QString xmlns, QString xmlnsURI);
Process class for exporting cubes.
virtual void StartProcess(void funct(Isis::Buffer &in))
This method invokes the process operation over a single input cube.
Process class for exporting cubes to PDS4 standards.
void StartProcess(std::ofstream &fout)
This method fills the image data of the PDS4 file using the parent class ProcessExport::StartProcess.
void setVersionId(QString versionId)
Allows mission specific programs to set version_id required for PDS4 labels.
void setImageType(ImageType imageType)
Create a standard PDS4 image label from the input cube.
void setLogicalId(QString lid)
Allows mission specific programs to set logical_identifier required for PDS4 labels.
QDomDocument * m_domDoc
XML label.
QString m_versionId
QString with specified version id.
void identificationArea()
This method writes the identification information to the PDS4 labels.
void translateBandBinSpectrumUniform(Pvl &inputLabel)
Export BandBin group for uniformly spaced 3D Spectral data format.
ProcessExportPds4()
Default Constructor - Set to default the data members.
QDomDocument & GetLabel()
Return the internalized PDS4 label.
void translateBandBinSpectrumBinSet(Pvl &inputLabel)
Export BandBin group for non-uniformly spaced 3D Spectral data format.
static void translateChildUnits(QDomElement parent, QMap< QString, QString > transMap)
Recursive method that will translate the "unit" attribute of any child elements of a given element.
void addHistory(QString description, QString date="tbd", QString version="1.0")
Add a modification history instance by adding a Modification_Detail entry to the Modification_History...
QDomElement getElement(QStringList xmlPath, QDomElement parent=QDomElement())
Convenience method to get an element given a path and its parent.
QString m_schemaLocation
QString with all schema locations required.
void setTitle(QString title)
Allows mission specific programs to set the title required for PDS4 labels.
~ProcessExportPds4()
Destructor.
void reorder()
This method reorders the existing m_domDoc to follow PDS4 standards and fixes time formatting if need...
void setSchemaLocation(QString schema)
Allows mission specific programs to use specified versions of dictionaries.
QString m_lid
QString with specified logical identifier.
static void translateUnits(QDomDocument &label, QString transMapFile="$ISISROOT/appdata/translations/pds4ExportUnits.pvl")
This function will go through an XML document and attempt to convert all "units" attributes to the ap...
ImageType m_imageType
Type of image data to be written.
void standardBandBin()
Export bandbin group to sp:Spectral Characteristics.
void addSchema(QString sch, QString xsd, QString xmlns, QString xmlnsURI)
Adds necessary information to the xml header for a pds4 class.
void translateBandBinImage(Pvl &inputLabel)
Export BandBin group for 2D or 3D Image format.
void fileAreaObservational()
Create and internalize an image output label from the input image.
QString m_title
QString with specified title.
void StandardAllMapping()
Create the standard keywords for the IMAGE_MAP_PROJECTION group in a PDS label.
void standardInstrument()
This method translates the information from the ISIS Instrument group to the PDS4 labels.
void setPixelDescription(QString description)
Sets the description string which describes the pixel vales in File_Area_Observational.
QString PDS4PixelType(PixelType pixelType, ByteOrder endianType)
Helper function for converting ISIS pixel type and byte order to a PDS4 data_type value.
QDomDocument & StandardPds4Label()
Create a standard PDS4 image label from the input cube.
QString m_pixelDescription
Description of pixel values.
void CreateImageLabel()
Creates a PDS4 label.
void displaySettings()
This method writes the display direction information to the PDS4 labels.
static QMap< QString, QString > createUnitMap(Pvl configPvl)
Helper function for creating the unit translation map from a PVL object.
void OutputLabel(std::ofstream &os)
Write the XML label to the supplied stream.
void WritePds4(QString outFile)
This method write out the labels and image data to the specified output file.
Container for cube-like labels.
ByteOrder
Tests the current architecture for byte order.
This is free and unencumbered software released into the public domain.
PixelType
Enumerations for Isis Pixel Types.