]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIORFImageReader.cpp
Added create DB.
[creaImageIO.git] / src2 / creaImageIORFImageReader.cpp
index 5c7aec269f16b93985f913263f4a191b97620a29..b1f23318750a494ec367d082e9a6f262da40a075 100644 (file)
@@ -7,15 +7,6 @@ namespace creaImageIO
 {
 #define HEADER_SIZE 19
 
-  void read_header_rf_file(FILE *rf_file,int *w,int *h,int *n_frame) 
-  {
-    int *header=(int*)malloc(sizeof(int)*HEADER_SIZE);
-    fread(header,sizeof(int),HEADER_SIZE,rf_file);
-    *n_frame=header[1];
-    *w=header[2];
-    *h=header[3];
-    free(header);
-  }
 
   //=====================================================================
   RFImageReader::RFImageReader()
@@ -44,9 +35,9 @@ namespace creaImageIO
   {
     int *header=(int*)malloc(sizeof(int)*HEADER_SIZE);
     fread(header,sizeof(int),HEADER_SIZE,rf_file);
-    h.frame = header[1];
-    h.width = header[2];
-    h.height = header[3];
+    h.frame  = header[1];
+    h.height = header[2];
+    h.width = header[3];
     free(header);  
     return true;
   }
@@ -61,8 +52,8 @@ namespace creaImageIO
       {
        rf_header h;
        ok = ReadHeader(rf_file,h);
+       fclose(rf_file);
       }
-    fclose(rf_file);
     return ok;
   }
   //=====================================================================
@@ -70,6 +61,9 @@ namespace creaImageIO
   //=====================================================================
   vtkImageData* RFImageReader::ReadImage(const std::string& filename)
   {
+
+         std::cout<<"RFImageReader reading "<<std::endl;
+
     FILE *rf_file=fopen(filename.c_str(),"rb");
     if (!rf_file) return false;
     rf_header h;
@@ -82,7 +76,7 @@ namespace creaImageIO
     long im_size = h.height * h.width * h.frame;
     short* data = (short*)malloc(sizeof(short)*im_size);
 
-    long frame_size = h.height * h.width * sizeof(short);
+    long frame_size = h.height * h.width;
     short* ptr = data;
     for (int k=0; k<h.frame; k++) {
       int frame_number;
@@ -92,9 +86,14 @@ namespace creaImageIO
     }
     fclose(rf_file);  
 
+    //    std::cout << "NewVtkImageDataFromRaw" << std::endl;
+    vtkImageData* im = crea::NewVtkImageDataFromRaw( data,
+                                                    h.width,
+                                                    h.height,
+                                                    h.frame);
+    return im;
 
-    return crea::NewVtkImageDataFromRaw( data,
-                                        im_size);
+    //    std::cout << "OK" << std::endl;
     
   }
   //=====================================================================