VIGRA - VIGRA: vigra/stdimage.hxx Source File

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