- std::string path= FD->GetPath();
-
- vtkMetaImageReader *reader = vtkMetaImageReader::New();
- reader->SetFileName(path.c_str());
- img = reader->GetOutput();
- }
- }
-
-
-
+ std::string path= crea::wx2std(FD->GetPath());
+ vtkMetaImageReader* reader = vtkMetaImageReader::New();
+ reader->SetFileName(path.c_str());
+ reader->Update();
+ _filename = path;
+ img = vtkImageData::New();
+ img->DeepCopy(reader->GetOutput());
+ //reader->GetOutput()->Delete();
+ reader->Delete();
+ /*std::cout<<"image reference count "<<img->GetReferenceCount()<<std::endl;
+ reader->GetOutput()->GetSpacing(spacing);
+ img->SetSpacing(spacing);
+ reader->GetOutput()->GetExtent(extint);
+ img->SetExtent(extint);
+ img->SetScalarType(reader->GetOutput()->GetScalarType());
+ img->AllocateScalars();
+ std::cout<<"image reference count "<<img->GetReferenceCount()<<std::endl;
+ for (i=extint[0];i <= extint[1];i++){
+ for (j=extint[2];j<=extint[3];j++){
+ for (k=extint[4];k<=extint[5];k++){
+
+ ptr1=(unsigned short*) reader->GetOutput()->GetScalarPointer(i,j,k);
+ ptr2=(unsigned short*)img->GetScalarPointer(i,j,k);
+ *ptr2 = *ptr1;
+ }
+ }
+ }*/
+
+ /*std::cout<<"image reference count "<<img->GetReferenceCount()<<std::endl;*/
+ }
+ //delete FD;
+ }