66 typedef typename std::vector<typename Image::Value> Values;
68 values.reserve(
domain.size());
70 values.push_back(rand());
72 std::copy(values.begin(), values.end(),
image.range().outputIterator());
75 trace.info() <<
"writing " << filename << endl;
78 trace.info() <<
"reading " << filename << endl;
80 trace.info() << image_read << endl;
87 typename Values::const_iterator iter_value = values.begin();
88 typename Values::const_iterator iter_value_end = values.end();
89 while (iter_value!=iter_value_end && iter_read!=iter_read_end)
91 if ((*iter_read)!=(*iter_value)) {
92 trace.error() <<
"values mismatch" << endl;
108 Image3DITK copy(input.domain());
109 Image3DITK::ImageSpacing s (0.2, 0.3, 0.4);
110 trace.info() <<
"setting image spacing to 0.2, 0.3, 0.4" << std::endl;
111 copy.setImageSpacing(s);
112 for (
auto p: input.domain() ) {copy.setValue(p, input(p));}
115 s = check.getImageSpacing();
116 trace.info() <<
"reading image spacing after write (should be 0.2, 0.3, 0.4)" << std::endl;
117 trace.info() <<
"spacing: " << s[0] <<
" " << s[1] <<
" " << s[2] << std::endl;
118 Image3D img (input.domain());
121 auto s3 = check3.getImageSpacing();
122 trace.info() <<
"reading image spacing after export with spacing mention (should be 0.8, 0.9, 1.0)" << std::endl;
123 trace.info() <<
"spacing: " << s3[0] <<
" " << s3[1] <<
" " << s3[2] << std::endl;
127 Image2DITK copy2(input2.domain());
128 Image2DITK::ImageSpacing s2 (0.2, 0.3);
129 trace.info() <<
"setting image spacing to 0.2, 0.3" << std::endl;
130 copy2.setImageSpacing(s2);
131 for (
auto p: input2.domain() ) {copy2.setValue(p, input2(p));}
134 s2 = check2.getImageSpacing();
135 trace.info() <<
"reading image spacing after write (should be 0.2, 0.3)" << std::endl;
136 trace.info() <<
"spacing: " << s2[0] <<
" " << s2[1] << std::endl;
139 return s[0] == 0.2 && s[1] == 0.3 && s[2] == 0.4 &&
140 s2[0] == 0.2 && s2[1] == 0.3 &&
141 s3[0] == 0.8 && s3[1] == 0.9 && s3[2] == 1.0;
const Point & lowerBound() const
const Point & upperBound() const