|
|
PDS_JP2
|
#include <PDS_Converter.hh>
Inheritance diagram for PDS_Converter:


Public Member Functions | |
| PDS_Converter () | |
| Constructs an empty PDS_Converter. | |
| PDS_Converter (const std::string &pathname, const char **excluded_names=NULL, const char **image_names=NULL) | |
| Constructs a PDS_Converter from a named file. | |
| PDS_Converter (const PDS_Converter &converter) | |
| Copies a PDS_Converter. | |
| virtual PDS_Converter & | operator= (const PDS_Converter &converter) |
| Assigns another PDS_Converter to this PDS_Converter. | |
| virtual | ~PDS_Converter () |
| Frees the PDS_Data::PDS_Data_Block_List and its contents. | |
| virtual void | write_PDS_JP2_label (const std::string &PDS_label_pathname, const std::string &JP2_pathname, const char **removed_parameter_names=NULL, PDS_Data *additional_parameters=NULL)=0 |
| Write a detached PDS/JP2 label file. | |
| virtual void | write_PDS_label (const std::string &PDS_label_pathname, const Rectangle *image_region=NULL, unsigned int resolution_level=1, const char **removed_parameter_names=NULL, PDS_Data *additional_parameters=NULL)=0 |
| Write a PDS label file for image data to be appended. | |
| virtual std::string | product_names () const |
| Get the name of the product types that this converter is intended to process. | |
| virtual bool | label_recognized () const =0 |
| Test whether the label parameters are recognized by this converter. | |
| PDS_Converter & | label_size (unsigned int size) |
| Set the preferred size of a label file. | |
| unsigned int | label_size () const |
| Get the preferred size of a label file. | |
| PDS_Data::PDS_Data_Block_List * | data_blocks () const |
| Get the list of data blocks in the PDS label. | |
| void | refresh_data_blocks () |
| Refresh the list of data blocks. | |
| Image_Data_Block * | image_data () |
| Get the Image_Data_Block from the PDS_Data::PDS_Data_Block_List. | |
| PDS_Converter & | excluded_data_block_names (const char **names) |
| Set the names of parameters to be excluded from the data block list. | |
| const char ** | excluded_data_block_names () const |
| Get the names of parameters to be excluded from the data block list. | |
| PDS_Converter & | image_data_block_names (const char **names) |
| Set the parameter names of image data blocks. | |
| const char ** | image_data_block_names () const |
| Get the parameter names of image data blocks. | |
| idaeim::PVL::Aggregate * | PDS_JP2_image_parameters (const std::string &JP2_pathname) |
| Assemble PDS/JP2 image file description parameters. | |
| unsigned int | write_label (const std::string &pathname, PDS_Data &label, idaeim::PVL::Lister *lister=NULL, bool pad_label=false) |
| Write a label file. | |
Static Public Attributes | |
| static const char *const | ID |
| Class identification name with source code version and date. | |
| static const char * | DEFAULT_PRODUCT_TYPE = "unspecified" |
| Default product name. | |
| static const char * | UNCOMPRESSED_FILE_PARAMETERS_GROUP = "UNCOMPRESSED_FILE" |
| Name of the PDS/JP2 label parameter group describing the source uncompressed file. | |
| static const char * | COMPRESSED_FILE_PARAMETERS_GROUP = "COMPRESSED_FILE" |
| Names of the PDS/JP2 label parameter group describing the destination compressed file. | |
| static const char * | GeoTIFF_PARAMETER_NAME = "GeoTIFF_Included" |
| GeoTIFF included. | |
| static const char * | GML_PARAMETER_NAME = "GML_Included" |
| GML included. | |
Protected Member Functions | |
| void | clear_data_blocks () |
| Clear the data blocks list. | |
Protected Attributes | |
| const char ** | Excluded_Data_Block_Names |
| Names (NULL-terminated array) of data blocks to be exluded from the list of data blocks (probably because they are redundant with other data blocks). | |
| PDS_Data::PDS_Data_Block_List * | Data_Blocks |
| Pointer to the list of data blocks found in the PDS label. | |
| const char ** | Image_Data_Block_Names |
| Names (NULL-terminated array) of data blocks that are Image_Data_Blocks. | |
| Image_Data_Block * | IMAGE_Data_Block |
| Pointer to the IMAGE data block in the Data_Blocks list. | |
| unsigned int | Label_Size |
| The preferred size of the attached PDS label. | |
A PDS_Converter inherits from PDS_Data which contains the label to be converted.
This abstract class provides a base for product-specific label converter classes. Each implementation must provide the label_recognized, write_PDS_JP2_label and write_PDS_label methods.
PDS_Converter::write_PDS_JP2_label(const std::string&, const std::string&, const char**, PDS_Data*)
PDS_Converter::write_PDS_label(const std::string&, const Rectangle*, unsigned int, const char**, PDS*)
|
|
Constructs an empty PDS_Converter.
|
|
||||||||||||||||
|
Constructs a PDS_Converter from a named file. The PDS file may be a detached PDS/JP2 file or a PDS file with an attached label. Either the write_PDS_label or write_PDS_JP2_label methods can be used to convert either source, respectively.
|
|
|
Copies a PDS_Converter.
|
|
|
Frees the PDS_Data::PDS_Data_Block_List and its contents.
|
|
|
Assigns another PDS_Converter to this PDS_Converter.
|
|
||||||||||||||||||||
|
Write a detached PDS/JP2 label file. N.B.: This is a pure virtual method that must be provided by the implementing class. This method converts the PDS label held by this PDS_Converter, which is expected to be from a file with an attached label, to its detached PDS/JP2 form and writes the results to a file at the specified pathname. Though the method is free to convert the source label in place, this is strongly discouraged; instead modifications should be made to a copy of the source label. For example:
Implemented in Generic_PDS_Converter, and HiRISE_PDS_Converter. |
|
||||||||||||||||||||||||
|
Write a PDS label file for image data to be appended. N.B.: This is a pure virtual method that must be provided by the implementing class. This method converts the the PDS label held by this PDS_Converter, which is expected to be from a detached PDS/JP2 label, to its attached PDS form and writes the results to a file at the specified pathname. Though the method is free to convert the source label in place, this is strongly discouraged; instead modifications should be made to a copy of the source label. For example:
Implemented in Generic_PDS_Converter, and HiRISE_PDS_Converter. |
|
|
Get the name of the product types that this converter is intended to process. There is no particular meaning to the string that is returned. Each PDS_Converter implementation may choose whatever name(s) it sees fit. Nevertheless, it is recommended that each space separated word in the returned string be chosen to name a recognizable product such as the value of a label parameter that is known to identify the type of product. For example, the value of the INSTRUMENT_ID parameter might be used.
Reimplemented in Generic_PDS_Converter, and HiRISE_PDS_Converter. |
|
|
Test whether the label parameters are recognized by this converter. N.B.: A false return value does not necessarily mean that this converter will be unable to process the label; only that the label does not describe a product type recognized by the converter.
Implemented in Generic_PDS_Converter, and HiRISE_PDS_Converter. |
|
|
Set the preferred size of a label file. N.B.: The preferred label size is a hint; the actual size of the label may be larger, but will not be smaller. If the label will not fit in the preferred size the label size is increased the to minimum size required rounded up to the nearest 1K (1024) bytes.
|
|
|
Get the preferred size of a label file.
|
|
|
Get the list of data blocks in the PDS label.
|
|
|
Refresh the list of data blocks. Both the general data blocks list and the image data block pointer are refreshed from the current PDS label parameters. The previous data blocks are deleted. |
|
|
Get the Image_Data_Block from the PDS_Data::PDS_Data_Block_List. If the Image_Data_Block has has not yet been found the PDS_Data::PDS_Data_Block_List is searched for it. If there is currently no list of data blocks, an attempt is made get a new data block list. If this fails to identify an image data block an attempt is made to find a Parameter Aggregate with the PDS_Data::IMAGE_DATA_BLOCK_NAME regardless of whether a corresponding record pointer parameter is present in the label. If this succeeds an IMAGE_Data_Block is constructed from the parameter group that is found.
|
|
|
Set the names of parameters to be excluded from the data block list. The list of known data blocks is updated. N.B.: The current image data block names are used to refresh the data block list, so if they are to be set they should be set first.
|
|
|
Get the names of parameters to be excluded from the data block list.
|
|
|
Set the parameter names of image data blocks. N.B.: The PDS_Data::IMAGE_DATA_BLOCK_NAME is always implicitly included even if the image names array is NULL. The label's image data block is located. At the same time the list of known data blocks is also refreshed.
|
|
|
Get the parameter names of image data blocks.
|
|
|
Assemble PDS/JP2 image file description parameters. Two groups of parameters are generated: A COMPRESSED_FILE group that refers to an associated JP2 file, and an UNCOMPRESSED_FILE group that describes the source image data file used to generate the JP2 file. The UNCOMPRESSED_FILE group also includes the complete IMAGE parameters group. The source image data filename is found in the name of the Parameter Aggregate containing this PDS label representation. The image data block is used to obtain the image data definitions. Example:
|
|
||||||||||||||||||||
|
Write a label file. If a file exists at the specified pathname it will be replaced with the new file. If label padding is enabled (it is not by default) and the size of the label file after writing the label parameters is less than the preferred label size the file will be padded with space characters up to the preferred size.
|
|
|
Clear the data blocks list. The current data blocks are deleted and the pointers set to NULL. |
|
|
Initial value:
"UA::HiRISE::PDS_Converter (1.12 2008/05/21 21:55:29)"
Reimplemented from PDS_Data. Reimplemented in Generic_PDS_Converter, and HiRISE_PDS_Converter. |
|
|
Default product name.
|
|
|
Name of the PDS/JP2 label parameter group describing the source uncompressed file.
|
|
|
Names of the PDS/JP2 label parameter group describing the destination compressed file.
|
|
|
GeoTIFF included.
|
|
|
GML included.
|
|
|
Names (NULL-terminated array) of data blocks to be exluded from the list of data blocks (probably because they are redundant with other data blocks).
|
|
|
Pointer to the list of data blocks found in the PDS label.
|
|
|
Names (NULL-terminated array) of data blocks that are Image_Data_Blocks.
|
|
|
Pointer to the IMAGE data block in the Data_Blocks list.
|
|
|
The preferred size of the attached PDS label.
|
1.4.6