HiRISE
 PDS_JP2

HiPrecision_PDS_Converter.hh
Go to the documentation of this file.
1/* HiRISE_PDS_Converter
2
3HiROC CVS ID: HiPrecision_PDS_Converter.hh,v 1.1 2013/01/29 20:01:33 guym 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 _HiPrecision_PDS_Converter_
25#define _HiPrecision_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*
95 IMAGE_MAP_PROJECTION_GROUP_NAME;
96
98static const char*
99 PROJECTION_TYPE_PARAMETER_NAME;
100
102static const char*
103 HORIZONATAL_OFFSET_PARAMETER_NAME;
104
106static const char*
107 VERTICAL_OFFSET_PARAMETER_NAME;
108*/
110static const char*
112
114static const char*
116/*
118static const char*
119 PIXELS_PER_DEGREE_PARAMETER_NAME;
120
122static const char*
123 METERS_PER_PIXEL_PARAMETER_NAME;
124
126static const char*
127 MINIMUM_LATITUDE_PARAMETER_NAME;
128
130static const char*
131 MAXIMUM_LATITUDE_PARAMETER_NAME;
132
134static const char*
135 EASTERN_LONGITUDE_PARAMETER_NAME;
136
138static const char*
139 WESTERN_LONGITUDE_PARAMETER_NAME;
140*/
141/*==============================================================================
142 Constructors:
143*/
147
164explicit 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*/
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 * 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:32
Definition Dimensions.cc:30
A Rectangle is a position with a size.
Definition Dimensions.hh:223