HiRISE
 PDS_JP2

HiRISE_PDS_Converter.hh
Go to the documentation of this file.
1/* HiRISE_PDS_Converter
2
3HiROC CVS ID: HiRISE_PDS_Converter.hh,v 1.20 2009/10/01 06:06:44 castalia Exp
4
5Copyright (C) 2006-2007 Arizona Board of Regents on behalf of the
6Planetary Image Research Laboratory, Lunar and Planetary Laboratory at
7the University of Arizona.
8
9This library is free software; you can redistribute it and/or modify it
10under the terms of the GNU Lesser General Public License, version 2.1,
11as published by the Free Software Foundation.
12
13This library is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16Lesser General Public License for more details.
17
18You should have received a copy of the GNU Lesser General Public License
19along with this library; if not, write to the Free Software Foundation,
20Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21
22*******************************************************************************/
23
24#ifndef _HiRISE_PDS_Converter_
25#define _HiRISE_PDS_Converter_
26
28
29
30namespace UA
31{
32namespace HiRISE
33{
47{
48public:
49/*==============================================================================
50 Constants:
51*/
53static const char* const
55
60static const char*
62
68static const char*
70
71
73static const char*
75
77static const char*
79
81static const int
83
84
85// The parameters that are to have their version specification updated.
86static const char*
88
90static const int
92
94static const char*
96
98static const char*
100
102static const char*
104
106static const char*
108
110static const char*
112
114static const char*
116
118static const char*
120
122static const char*
124
126static const char*
128
130static const char*
132
134static const char*
136
138static const char*
140
141/*==============================================================================
142 Constructors:
143*/
147
164explicit 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*/
182bool 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
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*/
277std::string product_names () const;
278
297void
298data_set_version (PDS_Data* additional_parameters);
299
382void
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
Generic_PDS_Converter()
Constructs an empty Generic_PDS_Converter.
Definition Generic_PDS_Converter.cc:123
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:32
Definition Dimensions.cc:30
A Rectangle is a position with a size.
Definition Dimensions.hh:223