HiRISE
 PDS_JP2

HiRISE_PDS_Converter.hh
Go to the documentation of this file.
1 /* HiRISE_PDS_Converter
2 
3 HiROC CVS ID: HiRISE_PDS_Converter.hh,v 1.20 2009/10/01 06:06:44 castalia Exp
4 
5 Copyright (C) 2006-2007 Arizona Board of Regents on behalf of the
6 Planetary Image Research Laboratory, Lunar and Planetary Laboratory at
7 the University of Arizona.
8 
9 This library is free software; you can redistribute it and/or modify it
10 under the terms of the GNU Lesser General Public License, version 2.1,
11 as published by the Free Software Foundation.
12 
13 This library is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17 
18 You should have received a copy of the GNU Lesser General Public License
19 along with this library; if not, write to the Free Software Foundation,
20 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21 
22 *******************************************************************************/
23 
24 #ifndef _HiRISE_PDS_Converter_
25 #define _HiRISE_PDS_Converter_
26 
27 #include "Generic_PDS_Converter.hh"
28 
29 
30 namespace UA
31 {
32 namespace HiRISE
33 {
46 : public Generic_PDS_Converter
47 {
48 public:
49 /*==============================================================================
50  Constants:
51 */
53 static const char* const
54  ID;
55 
60 static const char*
62 
68 static const char*
70 
71 
73 static const char*
75 
77 static const char*
79 
81 static const int
83 
84 
85 // The parameters that are to have their version specification updated.
86 static const char*
88 
90 static const int
92 
94 static const char*
96 
98 static const char*
100 
102 static const char*
104 
106 static const char*
108 
110 static const char*
112 
114 static const char*
116 
118 static const char*
120 
122 static const char*
124 
126 static const char*
128 
130 static const char*
132 
134 static const char*
136 
138 static const char*
140 
141 /*==============================================================================
142  Constructors:
143 */
147 
164 explicit HiRISE_PDS_Converter (const std::string& pathname,
165  const char** excluded_names = NULL, const char** image_names = NULL);
166 
167 /*==============================================================================
168  Manipulators:
169 */
170 /*------------------------------------------------------------------------------
171  PDS_Converter implementation
172 */
182 bool label_recognized () const;
183 
210  (
211  const std::string& PDS_label_pathname,
212  const std::string& JP2_pathname,
213  const char** removed_parameter_names = NULL,
214  PDS_Data* additional_parameters = NULL
215  );
216 
257 void write_PDS_label
258  (
259  const std::string& PDS_label_pathname,
260  const Rectangle* image_region = NULL,
261  unsigned int resolution_level = 1,
262  const char** removed_parameter_names = NULL,
263  PDS_Data* additional_parameters = NULL
264  );
265 
266 /*------------------------------------------------------------------------------
267  Product-specific conversions
268 */
277 std::string product_names () const;
278 
297 void
298 data_set_version (PDS_Data* additional_parameters);
299 
382 void
384  (
385  idaeim::PVL::Aggregate* image_map_projection,
386  const Rectangle& image_region,
387  unsigned int ratio
388  );
389 
390 }; // End class HiRISE_PDS_Converter
391 
392 } // namespace HiRISE
393 } // namespace UA
394 #endif
A Generic_PDS_Converter is used to convert a generic image data product PDS label between its attache...
Definition: Generic_PDS_Converter.hh:48
A HiRISE_PDS_Converter is used to convert a HiRISE image data product PDS label between its attached ...
Definition: HiRISE_PDS_Converter.hh:47
static const char * METERS_PER_PIXEL_PARAMETER_NAME
Meters per pixel.
Definition: HiRISE_PDS_Converter.hh:123
static const char * IMAGE_DATA_BLOCK_NAMES[]
Names of additional Image_Data_Block parameter aggregates.
Definition: HiRISE_PDS_Converter.hh:78
static const int DEFAULT_PDS_LABEL_SIZE
Default size (bytes) of an attached PDS label.
Definition: HiRISE_PDS_Converter.hh:82
static const int DATA_SET_VERSION_MINOR_VALUE
DATA_SET_xxx version minor value.
Definition: HiRISE_PDS_Converter.hh:91
static const char * EXCLUDED_DATA_BLOCK_NAMES[]
Names of data blocks to be ignored (redundant with other data blocks).
Definition: HiRISE_PDS_Converter.hh:74
void data_set_version(PDS_Data *additional_parameters)
Adjust the data set version parameters.
Definition: HiRISE_PDS_Converter.cc:300
void adjust_image_map_projection(idaeim::PVL::Aggregate *image_map_projection, const Rectangle &image_region, unsigned int ratio)
Adjust the IMAGE_MAP_PROJECTION_GROUP_NAME of parameters.
Definition: HiRISE_PDS_Converter.cc:395
static const char * PIXELS_PER_DEGREE_PARAMETER_NAME
Pixels per degree.
Definition: HiRISE_PDS_Converter.hh:119
static const char * MAXIMUM_LATITUDE_PARAMETER_NAME
Maximum latitude.
Definition: HiRISE_PDS_Converter.hh:131
static const char * MINIMUM_LATITUDE_PARAMETER_NAME
Minimum latitude.
Definition: HiRISE_PDS_Converter.hh:127
static const char * IMAGE_HEIGHT_PARAMETER_NAME
Image height.
Definition: HiRISE_PDS_Converter.hh:111
HiRISE_PDS_Converter()
Constructs an empty HiRISE_PDS_Converter.
Definition: HiRISE_PDS_Converter.cc:151
static const char * PROJECTION_TYPE_PARAMETER_NAME
Projection type.
Definition: HiRISE_PDS_Converter.hh:99
static const char * HIRISE_PRODUCT_TYPE
Default product name if the PRODUCT_TYPE_PARAMETER_NAME is not found.
Definition: HiRISE_PDS_Converter.hh:69
static const char * WESTERN_LONGITUDE_PARAMETER_NAME
Western longitude.
Definition: HiRISE_PDS_Converter.hh:139
static const char * IMAGE_MAP_PROJECTION_GROUP_NAME
IMAGE_MAP_PROJECTION parameters to be adjusted.
Definition: HiRISE_PDS_Converter.hh:95
bool label_recognized() const
Test whether the label parameters are recognized by this converter.
Definition: HiRISE_PDS_Converter.cc:175
static const char * VERTICAL_OFFSET_PARAMETER_NAME
Vertical offset.
Definition: HiRISE_PDS_Converter.hh:107
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)
Write a PDS label for image data to be appended.
Definition: HiRISE_PDS_Converter.cc:230
static const char * PRODUCT_TYPE_PARAMETER_NAME
Name of the parameter whose value is the product name being converted.
Definition: HiRISE_PDS_Converter.hh:61
std::string product_names() const
Get the name of the product types that this converter is intended to process.
Definition: HiRISE_PDS_Converter.cc:191
static const char * EASTERN_LONGITUDE_PARAMETER_NAME
Eastern longitude.
Definition: HiRISE_PDS_Converter.hh:135
static const char * IMAGE_WDITH_PARAMETER_NAME
Image width.
Definition: HiRISE_PDS_Converter.hh:115
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)
Write a detached PDS/JP2 label file.
Definition: HiRISE_PDS_Converter.cc:205
static const char * HORIZONATAL_OFFSET_PARAMETER_NAME
Horizonatal offset.
Definition: HiRISE_PDS_Converter.hh:103
static const char * UPDATE_VERSION_PARAMETER_NAMES[]
Definition: HiRISE_PDS_Converter.hh:87
static const char *const ID
Class identification name with source code version and date.
Definition: HiRISE_PDS_Converter.hh:54
PDS_Data contains PDS label PVL parameters.
Definition: PDS_Data.hh:52
std::string pathname(const Parameter *root=NULL) const
Definition: Dimensions.cc:30
A Rectangle is a position with a size.
Definition: Dimensions.hh:223