23 #include "vnl/vnl_matrix.h"
41 template <
typename TValue>
42 class ITK_TEMPLATE_EXPORT
Array2D :
public vnl_matrix<TValue>
54 Array2D(
unsigned int numberOfRows,
unsigned int numberOfCols);
58 Array2D(
unsigned int numberOfRows,
unsigned int numberOfCols,
const TValue & initialValue);
68 operator=(
const Self & array);
84 return this->operator()(static_cast<unsigned int>(row), static_cast<unsigned int>(col));
91 this->operator()(static_cast<unsigned int>(row), static_cast<unsigned int>(col)) = value;
96 SetSize(
unsigned int m,
unsigned int n);
102 template <
typename TValue>
106 const unsigned int numberOfRows = arr.rows();
107 const unsigned int numberOfColumns = arr.cols();
109 for (
unsigned int r = 0; r < numberOfRows; ++r)
112 if (numberOfColumns >= 1)
114 const unsigned int lastColumn = numberOfColumns - 1;
115 for (
unsigned int c = 0; c < lastColumn; ++c)
117 os << arr(r, c) <<
", ";
119 os << arr(r, lastColumn);
121 os <<
']' << std::endl;
129 ITKCommon_EXPORT std::ostream &
130 operator<<(std::ostream & os,
const Array2D<float> & arr);
132 ITKCommon_EXPORT std::ostream &
133 operator<<(std::ostream & os,
const Array2D<double> & arr);
137 #ifndef ITK_MANUAL_INSTANTIATION
138 # include "itkArray2D.hxx"