+ itksys::RegularExpression regex;
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[0], handle)) return false;
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[1], handle)) return false;
+ header.matrix_size[0] = ConvertFromString<double>(regex.match(1));
+ header.matrix_size[1] = ConvertFromString<double>(regex.match(2));
+ header.matrix_size[2] = ConvertFromString<double>(regex.match(3));
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[2], handle)) return false;
+ header.resolution[0] = ConvertFromString<int>(regex.match(1));
+ header.resolution[1] = ConvertFromString<int>(regex.match(2));
+ header.resolution[2] = ConvertFromString<int>(regex.match(3));
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[3], handle)) return false;
+ header.voxel_size[0] = ConvertFromString<double>(regex.match(1));
+ header.voxel_size[1] = ConvertFromString<double>(regex.match(2));
+ header.voxel_size[2] = ConvertFromString<double>(regex.match(3));
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[4], handle)) return false;
+ header.nb_value = ConvertFromString<int>(regex.match(1));
+
+ if(!FindRegularExpressionNextLine(regex, regexstr[0], handle)) return false;
+
+ return true;
+}
+
+//--------------------------------------------------------------------
+// Read Image Content
+void clitk::GateAsciiImageIO::Read(void* abstract_buffer)
+{
+ FILE* handle = fopen(m_FileName.c_str(),"r");
+ if (!handle) {
+ itkGenericExceptionMacro(<< "Could not open file (for reading): " << m_FileName);
+ return;