Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkArray2D.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkArray2D.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:29:00 $ 00007 Version: $Revision: 1.6 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkArray2D_h 00018 #define __itkArray2D_h 00019 00020 #include "itkMacro.h" 00021 #include "vnl/vnl_matrix.h" 00022 00023 namespace itk 00024 { 00025 00026 00043 template <typename TValueType > 00044 class Array2D : public vnl_matrix< TValueType > 00045 { 00046 public: 00047 00049 typedef TValueType ValueType; 00050 typedef Array2D Self; 00051 typedef vnl_matrix<TValueType> VnlMatrixType; 00052 00053 public: 00054 00055 Array2D(); 00056 Array2D(unsigned int rows,unsigned int cols); 00057 Array2D( const Self & array ); 00058 Array2D( const VnlMatrixType & matrix ); 00059 00060 const Self & operator=( const Self & array ); 00061 const Self & operator=( const VnlMatrixType & matrix ); 00062 00063 void Fill (TValueType const& v) { fill(v); } 00064 00067 ~Array2D() {}; 00068 00069 }; 00070 00071 00072 00073 template <typename TValueType > 00074 std::ostream & operator<<(std::ostream &os, const Array2D<TValueType> &arr) 00075 { 00076 const unsigned int numberOfColumns = arr.cols(); 00077 const unsigned int numberOfRows = arr.rows(); 00078 const signed int lastColumn = (signed int) numberOfColumns - 1; 00079 00080 for (unsigned int r=0; r < numberOfRows; ++r) 00081 { 00082 os << "["; 00083 for ( signed int c=0; c < lastColumn; ++c) 00084 { 00085 os << arr(r,c) << ", "; 00086 } 00087 if (numberOfColumns >= 1) 00088 { 00089 os << arr(r,lastColumn); 00090 } 00091 os << "]" << std::endl; 00092 } 00093 00094 return os; 00095 } 00096 00097 } // namespace itk 00098 00099 00100 #ifndef ITK_MANUAL_INSTANTIATION 00101 #include "itkArray2D.txx" 00102 #endif 00103 00104 00105 #endif

Generated at Sat Mar 31 02:14:09 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000