HiRISE
 PDS_JP2

Image_Data_Block.hh

Go to the documentation of this file.
00001 /*  Image_Data_Block
00002 
00003 HiROC CVS ID: Image_Data_Block.hh,v 1.12 2007/08/06 07:53:52 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 program is free software; you can redistribute it and/or modify it
00010 under the terms of the GNU General Public License, version 2, as
00011 published by the Free Software Foundation.
00012 
00013 This program 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 General Public License for more details.
00017 
00018 You should have received a copy of the GNU General Public License along
00019 with this program; if not, write to the Free Software Foundation, Inc.,
00020 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00021 */
00022 
00023 #ifndef _Image_Data_Block_
00024 #define _Image_Data_Block_
00025 
00026 #include    "PDS_Data_Block.hh"
00027 
00028 
00029 namespace UA
00030 {
00031 namespace HiRISE
00032 {
00042 class Image_Data_Block
00043 :   public PDS_Data_Block
00044 {
00045 public:
00046 /*==============================================================================
00047     Constants:
00048 */
00050 static const char* const ID;
00051 
00053 static const char* const
00054     IMAGE_BANDS_PARAMETER_NAME;
00055 
00057 static const char* const
00058     IMAGE_WIDTH_PARAMETER_NAME;
00059 
00061 static const char* const
00062     IMAGE_HEIGHT_PARAMETER_NAME;
00063 
00065 static const char* const
00066     PIXEL_BYTES_PARAMETER_NAME;
00067 
00069 static const char* const
00070     PIXEL_BITS_PARAMETER_NAME;
00071 
00073 static const char* const
00074     PIXEL_DATA_TYPE_PARAMETER_NAME;
00075 
00079 static const char* const
00080     UNSIGNED_PIXEL_TYPE_IDENTIFIER;
00081 
00085 static const char* const
00086     SIGNED_PIXEL_TYPE_IDENTIFIER;
00087 
00091 static const char* const
00092     LSB_PIXEL_TYPE_IDENTIFIER;
00093 
00097 static const char* const
00098     MSB_PIXEL_TYPE_IDENTIFIER;
00099 
00101 static const char* const
00102     LINE_PREFIX_BYTES_PARAMETER_NAME;
00103 
00105 static const char* const
00106     LINE_SUFFIX_BYTES_PARAMETER_NAME;
00107 
00108 /*==============================================================================
00109     Constructors
00110 */
00113 Image_Data_Block ();
00114 
00120 Image_Data_Block
00121     (
00122     const idaeim::PVL::Aggregate&   parameters,
00123     std::ios::off_type              file_offset
00124     );
00125 
00126 /*==============================================================================
00127     Accessors:
00128 */
00136 unsigned int image_bands ()
00137 {return Image_Bands;}
00138 
00145 unsigned int image_width ()
00146 {return Image_Width;}
00147 
00154 unsigned int image_height ()
00155 {return Image_Height;}
00156 
00167 unsigned int pixel_bytes ()
00168 {return Pixel_Bytes;}
00169 
00185 unsigned int pixel_bits ()
00186 {return Pixel_Bits;}
00187 
00196 int signed_data ()
00197 {return Signed_Data;}
00198 
00207 int MSB_data ()
00208 {return MSB_Data;}
00209 
00216 unsigned int line_prefix_bytes ()
00217 {return Line_Prefix_Bytes;}
00218 
00225 unsigned int line_suffix_bytes ()
00226 {return Line_Suffix_Bytes;}
00227 
00228 /*==============================================================================
00229     Data Members:
00230 */
00231 protected:
00232 
00249 virtual unsigned long long data_block_size ();
00250 
00251 
00252 private:
00253 
00254 unsigned int
00255     Image_Bands,
00256     Image_Width,
00257     Image_Height,
00258     Pixel_Bytes,
00259     Pixel_Bits,
00260     Line_Prefix_Bytes,
00261     Line_Suffix_Bytes;
00262 
00264 int
00265     Signed_Data,
00266     MSB_Data;
00267 };
00268 
00269 }   //  namespace HiRISE
00270 }   //  namespace UA
00271 #endif

Generated on Tue Jul 15 14:22:43 2008 for UA::HiRISE::PDS_JP2 by  doxygen 1.4.6