PDS_JP2
|
00001 /* HiRISE_PDS_Converter 00002 00003 HiROC CVS ID: HiPrecision_PDS_Converter.hh,v 1.1 2013/01/29 20:01:33 guym Exp 00004 00005 Copyright (C) 2006-2007 Arizona Board of Regents on behalf of the 00006 Planetary Image Research Laboratory, Lunar and Planetary Laboratory at 00007 the University of Arizona. 00008 00009 This library is free software; you can redistribute it and/or modify it 00010 under the terms of the GNU Lesser General Public License, version 2.1, 00011 as published by the Free Software Foundation. 00012 00013 This library is distributed in the hope that it will be useful, but 00014 WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public License 00019 along with this library; if not, write to the Free Software Foundation, 00020 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00021 00022 *******************************************************************************/ 00023 00024 #ifndef _HiPrecision_PDS_Converter_ 00025 #define _HiPrecision_PDS_Converter_ 00026 00027 #include "Generic_PDS_Converter.hh" 00028 00029 00030 namespace UA 00031 { 00032 namespace HiRISE 00033 { 00045 class HiPrecision_PDS_Converter 00046 : public Generic_PDS_Converter 00047 { 00048 public: 00049 /*============================================================================== 00050 Constants: 00051 */ 00053 static const char* const 00054 ID; 00055 00060 static const char* 00061 PRODUCT_TYPE_PARAMETER_NAME; 00062 00068 static const char* 00069 HIPRECISION_PRODUCT_TYPE; 00070 00071 00073 static const char* 00074 EXCLUDED_DATA_BLOCK_NAMES[]; 00075 00077 static const char* 00078 IMAGE_DATA_BLOCK_NAMES[]; 00079 00081 static const int 00082 DEFAULT_PDS_LABEL_SIZE; 00083 00084 00085 // The parameters that are to have their version specification updated. 00086 static const char* 00087 UPDATE_VERSION_PARAMETER_NAMES[]; 00088 00090 static const int 00091 DATA_SET_VERSION_MINOR_VALUE; 00092 /* 00094 static const char* 00095 IMAGE_MAP_PROJECTION_GROUP_NAME; 00096 00098 static const char* 00099 PROJECTION_TYPE_PARAMETER_NAME; 00100 00102 static const char* 00103 HORIZONATAL_OFFSET_PARAMETER_NAME; 00104 00106 static const char* 00107 VERTICAL_OFFSET_PARAMETER_NAME; 00108 */ 00110 static const char* 00111 IMAGE_HEIGHT_PARAMETER_NAME; 00112 00114 static const char* 00115 IMAGE_WDITH_PARAMETER_NAME; 00116 /* 00118 static const char* 00119 PIXELS_PER_DEGREE_PARAMETER_NAME; 00120 00122 static const char* 00123 METERS_PER_PIXEL_PARAMETER_NAME; 00124 00126 static const char* 00127 MINIMUM_LATITUDE_PARAMETER_NAME; 00128 00130 static const char* 00131 MAXIMUM_LATITUDE_PARAMETER_NAME; 00132 00134 static const char* 00135 EASTERN_LONGITUDE_PARAMETER_NAME; 00136 00138 static const char* 00139 WESTERN_LONGITUDE_PARAMETER_NAME; 00140 */ 00141 /*============================================================================== 00142 Constructors: 00143 */ 00146 HiPrecision_PDS_Converter (); 00147 00164 explicit HiPrecision_PDS_Converter (const std::string& pathname, 00165 const char** excluded_names = NULL, const char** image_names = NULL); 00166 00167 /*============================================================================== 00168 Manipulators: 00169 */ 00170 /*------------------------------------------------------------------------------ 00171 PDS_Converter implementation 00172 */ 00182 bool label_recognized () const; 00183 00209 void write_PDS_JP2_label 00210 ( 00211 const std::string& PDS_label_pathname, 00212 const std::string& JP2_pathname, 00213 const char** removed_parameter_names = NULL, 00214 PDS_Data* additional_parameters = NULL 00215 ); 00216 00257 void write_PDS_label 00258 ( 00259 const std::string& PDS_label_pathname, 00260 const Rectangle* image_region = NULL, 00261 unsigned int resolution_level = 1, 00262 const char** removed_parameter_names = NULL, 00263 PDS_Data* additional_parameters = NULL 00264 ); 00265 00266 /*------------------------------------------------------------------------------ 00267 Product-specific conversions 00268 */ 00277 std::string product_names () const; 00278 00297 void 00298 data_set_version (PDS_Data* additional_parameters); 00299 00382 void 00383 adjust_image_map_projection 00384 ( 00385 idaeim::PVL::Aggregate* image_map_projection, 00386 const Rectangle& image_region, 00387 unsigned int ratio 00388 ); 00389 00390 }; // End class HiRISE_PDS_Converter 00391 00392 } // namespace HiRISE 00393 } // namespace UA 00394 #endif