HiRISE
 PDS_JP2

HiRISE_PDS_Converter.hh

Go to the documentation of this file.
00001 /*  HiRISE_PDS_Converter
00002 
00003 HiROC CVS ID: HiRISE_PDS_Converter.hh,v 1.20 2009/10/01 06:06:44 castalia 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 _HiRISE_PDS_Converter_
00025 #define _HiRISE_PDS_Converter_
00026 
00027 #include    "Generic_PDS_Converter.hh"
00028 
00029 
00030 namespace UA
00031 {
00032 namespace HiRISE
00033 {
00045 class HiRISE_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     HIRISE_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 HiRISE_PDS_Converter ();
00147 
00164 explicit HiRISE_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

Generated on Wed Sep 30 23:48:18 2009 for UA::HiRISE::PDS_JP2 by  doxygen 1.5.3