HiRISE
 PDS_JP2

HiPrecision_PDS_Converter.hh
Go to the documentation of this file.
1 /* HiRISE_PDS_Converter
2 
3 HiROC CVS ID: HiPrecision_PDS_Converter.hh,v 1.1 2013/01/29 20:01:33 guym 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 _HiPrecision_PDS_Converter_
25 #define _HiPrecision_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*
95  IMAGE_MAP_PROJECTION_GROUP_NAME;
96 
98 static const char*
99  PROJECTION_TYPE_PARAMETER_NAME;
100 
102 static const char*
103  HORIZONATAL_OFFSET_PARAMETER_NAME;
104 
106 static const char*
107  VERTICAL_OFFSET_PARAMETER_NAME;
108 */
110 static const char*
112 
114 static const char*
116 /*
118 static const char*
119  PIXELS_PER_DEGREE_PARAMETER_NAME;
120 
122 static const char*
123  METERS_PER_PIXEL_PARAMETER_NAME;
124 
126 static const char*
127  MINIMUM_LATITUDE_PARAMETER_NAME;
128 
130 static const char*
131  MAXIMUM_LATITUDE_PARAMETER_NAME;
132 
134 static const char*
135  EASTERN_LONGITUDE_PARAMETER_NAME;
136 
138 static const char*
139  WESTERN_LONGITUDE_PARAMETER_NAME;
140 */
141 /*==============================================================================
142  Constructors:
143 */
147 
164 explicit HiPrecision_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: HiPrecision_PDS_Converter.hh:47
static const char * IMAGE_DATA_BLOCK_NAMES[]
Names of additional Image_Data_Block parameter aggregates.
Definition: HiPrecision_PDS_Converter.hh:78
static const int DEFAULT_PDS_LABEL_SIZE
Default size (bytes) of an attached PDS label.
Definition: HiPrecision_PDS_Converter.hh:82
static const int DATA_SET_VERSION_MINOR_VALUE
DATA_SET_xxx version minor value.
Definition: HiPrecision_PDS_Converter.hh:91
static const char * EXCLUDED_DATA_BLOCK_NAMES[]
Names of data blocks to be ignored (redundant with other data blocks).
Definition: HiPrecision_PDS_Converter.hh:74
void data_set_version(PDS_Data *additional_parameters)
Adjust the data set version parameters.
Definition: HiPrecision_PDS_Converter.cc:270
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: HiPrecision_PDS_Converter.cc:365
HiPrecision_PDS_Converter()
Constructs an empty HiPrecision_PDS_Converter.
Definition: HiPrecision_PDS_Converter.cc:127
static const char * HIPRECISION_PRODUCT_TYPE
Default product name if the PRODUCT_TYPE_PARAMETER_NAME is not found.
Definition: HiPrecision_PDS_Converter.hh:69
bool label_recognized() const
Test whether the label parameters are recognized by this converter.
Definition: HiPrecision_PDS_Converter.cc:151
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: HiPrecision_PDS_Converter.cc:223
static const char * PRODUCT_TYPE_PARAMETER_NAME
Name of the parameter whose value is the product name being converted.
Definition: HiPrecision_PDS_Converter.hh:61
std::string product_names() const
Get the name of the product types that this converter is intended to process.
Definition: HiPrecision_PDS_Converter.cc:184
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: HiPrecision_PDS_Converter.cc:198
static const char * IMAGE_WDITH_PARAMETER_NAME
Image width.
Definition: HiPrecision_PDS_Converter.hh:115
static const char * UPDATE_VERSION_PARAMETER_NAMES[]
Definition: HiPrecision_PDS_Converter.hh:87
static const char *const ID
Class identification name with source code version and date.
Definition: HiPrecision_PDS_Converter.hh:54
static const char * IMAGE_HEIGHT_PARAMETER_NAME
Image height.
Definition: HiPrecision_PDS_Converter.hh:111
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