![]() |
PDS_JP2
|
00001 /* Generic_PDS_Converter 00002 00003 HiROC CVS ID: Generic_PDS_Converter.hh,v 1.9 2009/10/01 06:06:44 castalia Exp 00004 00005 Copyright (C) 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 _Generic_PDS_Converter_ 00025 #define _Generic_PDS_Converter_ 00026 00027 #include "PDS_Converter.hh" 00028 00029 00030 namespace UA 00031 { 00032 namespace HiRISE 00033 { 00046 class Generic_PDS_Converter 00047 : public PDS_Converter 00048 { 00049 public: 00050 /*============================================================================== 00051 Constants: 00052 */ 00054 static const char* const 00055 ID; 00056 00058 static const char 00059 *PRODUCT_TYPE; 00060 00062 static const char 00063 *DATA_POINTER_PARAMETER_UNITS; 00064 00068 static const char* 00069 REMOVED_PDS_PARAMETER_NAMES[]; 00070 00074 static const char* 00075 REMOVED_PDS_JP2_PARAMETER_NAMES[]; 00076 00078 static const int 00079 DEFAULT_PDS_LABEL_SIZE; 00080 00081 /*============================================================================== 00082 Constructors: 00083 */ 00086 Generic_PDS_Converter (); 00087 00104 explicit Generic_PDS_Converter (const std::string& pathname, 00105 const char** excluded_names = NULL, const char** image_names = NULL); 00106 00107 /*============================================================================== 00108 Accessors: 00109 */ 00115 std::string product_names () const; 00116 00117 /*============================================================================== 00118 Manipulators: 00119 *//*------------------------------------------------------------------------------ 00120 PDS_Converter implementation 00121 */ 00130 bool label_recognized () const; 00131 00166 void write_PDS_JP2_label 00167 ( 00168 const std::string& PDS_label_pathname, 00169 const std::string& JP2_pathname, 00170 const char** removed_parameter_names = NULL, 00171 PDS_Data* additional_parameters = NULL 00172 ); 00173 00229 void write_PDS_label 00230 ( 00231 const std::string& PDS_label_pathname, 00232 const Rectangle* image_region = NULL, 00233 unsigned int resolution_level = 1, 00234 const char** removed_parameter_names = NULL, 00235 PDS_Data* additional_parameters = NULL 00236 ); 00237 00238 /*============================================================================== 00239 Helpers 00240 */ 00241 protected: 00242 00259 Parameter* 00260 parameter_of (idaeim::PVL::Aggregate& parameters, const char* name, 00261 bool throw_unless_found = true); 00262 00263 }; // End class Generic_PDS_Converter 00264 00265 } // namespace HiRISE 00266 } // namespace UA 00267 #endif