X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FOpenImageDialog.cxx;h=4a1038a684d43d68e2e8339f558e346dcda21f50;hb=f050938d3947f6b785289da6d58f8fec2da57421;hp=88ebdd363493988a80a2a33ca16b8ad48f556e05;hpb=29ac45e15af78e7565693465053770e00e7b1a0d;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenImageDialog.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenImageDialog.cxx index 88ebdd3..4a1038a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenImageDialog.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenImageDialog.cxx @@ -2,56 +2,126 @@ #include "OpenImageDialog.h" #include "creaWx.h" +#if defined(__GNUC__) +// GCC compiler +// dlopen, dlsym, etc. + #include +#endif + typedef vtkImageData* (*GETIMAGEDATADIALOG)(); namespace creaMaracasVisuKernel{ - OpenImageDialog::OpenImageDialog() + OpenImageDialog::OpenImageDialog(bool usegimmick) { - img = NULL; - bool gimmicknotfound = true; + img = NULL; + _filename = ""; + bool gimmickfound = false; - #ifdef WIN32 - HINSTANCE gimmickhandle; - gimmickhandle = LoadLibrary(TEXT("creaImageIO2.dll")); - std::cout<<"imagehandle "<ShowModal()==wxID_OK) { std::string path= crea::wx2std(FD->GetPath()); - - vtkMetaImageReader *reader = vtkMetaImageReader::New(); + vtkMetaImageReader* reader = vtkMetaImageReader::New(); reader->SetFileName(path.c_str()); - img = reader->GetOutput(); + reader->Update(); + _filename = path; + img = vtkImageData::New(); + img->DeepCopy(reader->GetOutput()); + //reader->GetOutput()->Delete(); + reader->Delete(); + /*std::cout<<"image reference count "<GetReferenceCount()<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 "<GetReferenceCount()<GetOutput()->GetScalarPointer(i,j,k); + ptr2=(unsigned short*)img->GetScalarPointer(i,j,k); + *ptr2 = *ptr1; + } + } + }*/ + + /*std::cout<<"image reference count "<GetReferenceCount()<