[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

vigra/stdimage.hxx

00001 /************************************************************************/
00002 /*                                                                      */
00003 /*               Copyright 1998-2002 by Ullrich Koethe                  */
00004 /*       Cognitive Systems Group, University of Hamburg, Germany        */
00005 /*                                                                      */
00006 /*    This file is part of the VIGRA computer vision library.           */
00007 /*    The VIGRA Website is                                              */
00008 /*        http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/      */
00009 /*    Please direct questions, bug reports, and contributions to        */
00010 /*        ullrich.koethe@iwr.uni-heidelberg.de    or                    */
00011 /*        vigra@informatik.uni-hamburg.de                               */
00012 /*                                                                      */
00013 /*    Permission is hereby granted, free of charge, to any person       */
00014 /*    obtaining a copy of this software and associated documentation    */
00015 /*    files (the "Software"), to deal in the Software without           */
00016 /*    restriction, including without limitation the rights to use,      */
00017 /*    copy, modify, merge, publish, distribute, sublicense, and/or      */
00018 /*    sell copies of the Software, and to permit persons to whom the    */
00019 /*    Software is furnished to do so, subject to the following          */
00020 /*    conditions:                                                       */
00021 /*                                                                      */
00022 /*    The above copyright notice and this permission notice shall be    */
00023 /*    included in all copies or substantial portions of the             */
00024 /*    Software.                                                         */
00025 /*                                                                      */
00026 /*    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND    */
00027 /*    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES   */
00028 /*    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND          */
00029 /*    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT       */
00030 /*    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,      */
00031 /*    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING      */
00032 /*    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR     */
00033 /*    OTHER DEALINGS IN THE SOFTWARE.                                   */                
00034 /*                                                                      */
00035 /************************************************************************/
00036  
00037  
00038 #ifndef VIGRA_STDIMAGE_HXX
00039 #define VIGRA_STDIMAGE_HXX
00040 
00041 #include "sized_int.hxx"
00042 #include "tuple.hxx"
00043 #include "basicimage.hxx"
00044 #include "iteratortraits.hxx"
00045 #include "accessor.hxx"
00046 #include "rgbvalue.hxx"
00047 
00048 namespace vigra { 
00049 
00050 /** \addtogroup StandardImageTypes Standard Image Types
00051 
00052     \brief The most common instantiations of the \ref vigra::BasicImage template
00053 */
00054 //@{
00055 
00056     /** Byte (8-bit unsigned) image.
00057         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00058         their const counterparts to access the data.
00059         
00060         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00061         Namespace: vigra
00062     */
00063 typedef BasicImage<UInt8> BImage;
00064 
00065     /** Byte (8-bit unsigned) image.
00066         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00067         their const counterparts to access the data.
00068         
00069         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00070         Namespace: vigra
00071     */
00072 typedef BasicImage<UInt8> UInt8Image;
00073 
00074     /** Signed byte (8-bit signed) image.
00075         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00076         their const counterparts to access the data.
00077         
00078         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00079         Namespace: vigra
00080     */
00081 typedef BasicImage<Int8> Int8Image;
00082 
00083     /** Short integer (16-bit signed) image.
00084         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00085         their const counterparts to access the data.
00086         
00087         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00088         Namespace: vigra
00089     */
00090 typedef BasicImage<Int16> SImage;
00091 
00092     /** Short integer (16-bit unsigned) image.
00093         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00094         their const counterparts to access the data.
00095         
00096         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00097         Namespace: vigra
00098     */
00099 typedef BasicImage<UInt16> UInt16Image;
00100 
00101     /** Short integer (16-bit signed) image.
00102         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00103         their const counterparts to access the data.
00104         
00105         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00106         Namespace: vigra
00107     */
00108 typedef BasicImage<Int16> Int16Image;
00109 
00110     /** Integer (32-bit signed) image.
00111         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00112         their const counterparts to access the data.
00113         
00114         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00115         Namespace: vigra
00116     */
00117 typedef BasicImage<Int32> IImage;
00118 
00119     /** Integer (32-bit unsigned) image.
00120         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00121         their const counterparts to access the data.
00122         
00123         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00124         Namespace: vigra
00125     */
00126 typedef BasicImage<UInt32> UInt32Image;
00127 
00128     /** Integer (32-bit signed) image.
00129         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00130         their const counterparts to access the data.
00131         
00132         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00133         Namespace: vigra
00134     */
00135 typedef BasicImage<Int32> Int32Image;
00136 
00137     /** Float (float) image.
00138         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00139         their const counterparts to access the data.
00140         
00141         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00142         Namespace: vigra
00143     */
00144 typedef BasicImage<float> FImage;
00145 
00146 
00147     /** Double (double) image.
00148         It uses \ref vigra::BasicImageIterator and \ref vigra::StandardAccessor and 
00149         their const counterparts to access the data.
00150    
00151        <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00152         Namespace: vigra
00153  */
00154 typedef BasicImage<double> DImage;
00155 
00156 
00157     /** Byte (3x 8-bit unsigned) RGB image.
00158         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::UInt8>".
00159         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00160         their const counterparts to access the data.
00161         
00162         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00163         Namespace: vigra
00164     */
00165 typedef BasicImage<RGBValue<UInt8> > BRGBImage;
00166 
00167     /** Byte (3x 8-bit unsigned) RGB image.
00168         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::UInt8>".
00169         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00170         their const counterparts to access the data.
00171         
00172         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00173         Namespace: vigra
00174     */
00175 typedef BasicImage<RGBValue<UInt8> > UInt8RGBImage;
00176 
00177     /** Byte (3x 8-bit signed) RGB image.
00178         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::UInt8>".
00179         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00180         their const counterparts to access the data.
00181         
00182         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00183         Namespace: vigra
00184     */
00185 typedef BasicImage<RGBValue<Int8> > Int8RGBImage;
00186 
00187     /** Short (3x 16-bit signed) RGB image.
00188         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int16>".
00189         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00190         their const counterparts to access the data.
00191         
00192         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00193         Namespace: vigra
00194     */
00195 typedef BasicImage<RGBValue<Int16> > SRGBImage;
00196 
00197     /** Short (3x 16-bit unsigned) RGB image.
00198         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int16>".
00199         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00200         their const counterparts to access the data.
00201         
00202         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00203         Namespace: vigra
00204     */
00205 typedef BasicImage<RGBValue<UInt16> > UInt16RGBImage;
00206 
00207     /** Short (3x 16-bit signed) RGB image.
00208         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int16>".
00209         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00210         their const counterparts to access the data.
00211         
00212         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00213         Namespace: vigra
00214     */
00215 typedef BasicImage<RGBValue<Int16> > Int16RGBImage;
00216 
00217     /** Integer (3x 32-bit signed) RGB image.
00218         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int32>".
00219         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00220         their const counterparts to access the data.
00221         
00222         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00223         Namespace: vigra
00224     */
00225 typedef BasicImage<RGBValue<Int32> > IRGBImage;
00226 
00227     /** Integer (3x 32-bit unsigned) RGB image.
00228         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int32>".
00229         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00230         their const counterparts to access the data.
00231         
00232         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00233         Namespace: vigra
00234     */
00235 typedef BasicImage<RGBValue<UInt32> > UInt32RGBImage;
00236 
00237     /** Integer (3x 32-bit signed) RGB image.
00238         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<vigra::Int32>".
00239         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00240         their const counterparts to access the data.
00241         
00242         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00243         Namespace: vigra
00244     */
00245 typedef BasicImage<RGBValue<Int32> > Int32RGBImage;
00246 
00247 
00248     /** Floating-point (3x float) RGB image.
00249         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<float>".
00250         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00251         their const counterparts to access the data.
00252         
00253         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00254         Namespace: vigra
00255     */
00256 typedef BasicImage<RGBValue<float> > FRGBImage;
00257 
00258 
00259     /** Double-precision floating-point (3x double) RGB image.
00260         The pixel type is \ref vigra::RGBValue "vigra::RGBValue<double>".
00261         It uses \ref vigra::BasicImageIterator and \ref vigra::RGBAccessor and 
00262         their const counterparts to access the data.
00263         
00264         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00265         Namespace: vigra
00266     */
00267 typedef BasicImage<RGBValue<double> > DRGBImage;
00268 
00269     /** Floating-point TinyVector image.
00270         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<float, 2>".
00271         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00272         their const counterparts to access the data.
00273         
00274         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00275         Namespace: vigra
00276     */
00277 typedef BasicImage<TinyVector<float, 2> > FVector2Image; 
00278 
00279     /** Floating-point TinyVector image.
00280         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<float, 3>".
00281         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00282         their const counterparts to access the data.
00283         
00284         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00285         Namespace: vigra
00286     */
00287 typedef BasicImage<TinyVector<float, 3> > FVector3Image; 
00288 
00289     /** Floating-point TinyVector image.
00290         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<float, 4>".
00291         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00292         their const counterparts to access the data.
00293         
00294         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00295         Namespace: vigra
00296     */
00297 typedef BasicImage<TinyVector<float, 4> > FVector4Image; 
00298 
00299     /** Floating-point TinyVector image.
00300         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<double, 2>".
00301         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00302         their const counterparts to access the data.
00303         
00304         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00305         Namespace: vigra
00306     */
00307 typedef BasicImage<TinyVector<double, 2> > DVector2Image; 
00308 
00309     /** Floating-point TinyVector image.
00310         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<double, 3>".
00311         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00312         their const counterparts to access the data.
00313         
00314         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00315         Namespace: vigra
00316     */
00317 //typedef BasicImage<TinyVector<double, 3> > DVector3Image; 
00318 typedef BasicImage<TinyVector<double, 3> > DVector3Image; 
00319 
00320     /** Floating-point TinyVector image.
00321         The pixel type is \ref vigra::TinyVector "vigra::TinyVector<double, 4>".
00322         It uses \ref vigra::BasicImageIterator and \ref vigra::VectorAccessor and 
00323         their const counterparts to access the data.
00324         
00325         <b>\#include</b> <<a href="stdimage_8hxx-source.html">vigra/stdimage.hxx</a>><br>
00326         Namespace: vigra
00327     */
00328 typedef BasicImage<TinyVector<double, 4> > DVector4Image; 
00329 
00330 //@}
00331 
00332 } // namespace vigra
00333 
00334 #endif // VIGRA_STDIMAGE_HXX

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
VIGRA 1.6.0 (5 Nov 2009)