00001 // This file is part of the imaging2 class library. 00002 // 00003 // University of Innsbruck, Infmath Imaging, 2009. 00004 // http://infmath.uibk.ac.at 00005 // 00006 // All rights reserved. 00007 00008 00009 #ifndef IMAGE_IMAGEINTERFACE_H 00010 #define IMAGE_IMAGEINTERFACE_H 00011 00012 #include <core/imaging2.hpp> 00013 00014 namespace imaging 00015 { 00029 template <std::size_t N, class DATA_t> 00030 class ImageInterface 00031 { 00032 public: 00034 static const std::size_t dimension = N; 00035 00037 typedef DATA_t data_t; 00038 00040 const DATA_t & operator[](const ublas::fixed_vector<size_t, dimension> & index) const; 00041 00043 DATA_t & operator[](const ublas::fixed_vector<size_t, dimension> & index); 00044 00046 const ublas::fixed_vector<size_t, dimension> & size() const; 00047 }; 00048 } 00049 00050 #endif