From juandelcruce1 at gmail.com Wed Jul 4 11:56:03 2018 From: juandelcruce1 at gmail.com (C Juan) Date: Wed, 4 Jul 2018 17:56:03 +0200 Subject: [ITK] [ITK-users] sitk.ReadImage for known deformation fields in dcm or niftii Message-ID: Hi all, I am new user of SimpleITK and for a project I want to read a known deformation field, previously calculated from another software, which is stored in dcm format, (could be also in Nifti format). When I use: dis = sitk.ReadImage('dvf.dcm', sitk.sitkVectorFloat64) Throws the error: RuntimeError: Exception thrown in SimpleITK ReadImage: C:\d\VS14-Win64-pkg\SimpleITK\Code\IO\src\sitkImageFileReader.cxx:248: sitk::ERROR: The file has unsupported 5 dimensions. I am not really sure if simply using ReadImage is the right approach. I would really appreciate if you can give me some ideas how to solve this issue. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From lasso at queensu.ca Wed Jul 4 12:38:17 2018 From: lasso at queensu.ca (Andras Lasso) Date: Wed, 4 Jul 2018 16:38:17 +0000 Subject: [ITK] [ITK-users] sitk.ReadImage for known deformation fields in dcm or niftii In-Reply-To: References: Message-ID: I think 3D Slicer can import registration objects from DICOM. You can either save the displacement field to file or use SimpleITK in 3D Slicer. To further discuss this, please post on ITK forum (https://discourse.itk.org/). Andras From: Community On Behalf Of C Juan Sent: Wednesday, July 4, 2018 11:56 AM To: insight-users at itk.org Subject: [ITK] [ITK-users] sitk.ReadImage for known deformation fields in dcm or niftii Hi all, I am new user of SimpleITK and for a project I want to read a known deformation field, previously calculated from another software, which is stored in dcm format, (could be also in Nifti format). When I use: dis = sitk.ReadImage('dvf.dcm', sitk.sitkVectorFloat64) Throws the error: RuntimeError: Exception thrown in SimpleITK ReadImage: C:\d\VS14-Win64-pkg\SimpleITK\Code\IO\src\sitkImageFileReader.cxx:248: sitk::ERROR: The file has unsupported 5 dimensions. I am not really sure if simply using ReadImage is the right approach. I would really appreciate if you can give me some ideas how to solve this issue. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From ashahrior.91994 at gmail.com Thu Jul 5 09:52:02 2018 From: ashahrior.91994 at gmail.com (Ashef Shahrior) Date: Thu, 5 Jul 2018 19:52:02 +0600 Subject: [ITK] [ITK-users] ITK and VTK connection problem Message-ID: >From ITK Software Guide Book, I am trying to do Region Growing - Connected Threshold segmentation and show it using VTK. In the guide book, the segmented image is written into another file. But I don't want to write it but rather display it using VTK renderer. But it seems to be not working. Can anyone see my code and help me out, please? Here's my code: #include #include #include #include #include #include "itkConnectedThresholdImageFilter.h" #include "itkImage.h" #include "itkCastImageFilter.h" #include "itkCurvatureFlowImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkVTKImageExport.h" #include "itkVTKImageImport.h" #include "itkRGBPixel.h" #include "vtkImageData.h" #include "vtkImageImport.h" #include "vtkImageExport.h" #include "vtkImageActor.h" #include "vtkRenderer.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkInteractorStyleImage.h" using namespace std; template void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) { importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); importer->SetSpacingCallback(exporter->GetSpacingCallback()); importer->SetOriginCallback(exporter->GetOriginCallback()); importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); importer->SetCallbackUserData(exporter->GetCallbackUserData()); } template void ConnectPipelines(VTK_Exporter* exporter, ITK_Importer importer) { importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); importer->SetSpacingCallback(exporter->GetSpacingCallback()); importer->SetOriginCallback(exporter->GetOriginCallback()); importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); importer->SetCallbackUserData(exporter->GetCallbackUserData()); } void main() { char inputImage[1000], seedx[10], seedy[10], lThreshold[100], uThreshold[100]; cout<< "Input values: "<> inputImage; cin>>seedx; cin>>seedy; cin>>lThreshold; cin>>uThreshold; const unsigned int Dimension = 2; typedef float InternalPixelType; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef unsigned char OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::CurvatureFlowImageFilter< InternalImageType, InternalImageType > CurvatureFlowImageFilterType; CurvatureFlowImageFilterType::Pointer smoothing = CurvatureFlowImageFilterType::New(); typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New(); typedef itk::CastImageFilter< InternalImageType, OutputImageType > CastingFilterType; CastingFilterType::Pointer caster = CastingFilterType::New(); typedef itk::ImageFileReader< InternalImageType > ReaderType; typedef itk::ImageFileWriter< OutputImageType > WriterType; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); reader->SetFileName( inputImage ); reader->Update(); //writer->SetFileName( outputImage ); smoothing->SetInput( reader->GetOutput() ); smoothing->SetNumberOfIterations( 5 ); smoothing->SetTimeStep( 0.125 ); //writer->SetInput( caster->GetOutput() ); const InternalPixelType lowerThreshold = atof( lThreshold ); const InternalPixelType upperThreshold = atof( uThreshold ); connectedThreshold->SetInput( smoothing->GetOutput() ); connectedThreshold->SetLower( lowerThreshold ); connectedThreshold->SetUpper( upperThreshold ); connectedThreshold->SetReplaceValue( 255 ); InternalImageType::IndexType index; index[0] = atoi( seedx ); index[1] = atoi( seedy ); connectedThreshold->SetSeed( index ); connectedThreshold->Update(); //caster->SetInput( connectedThreshold->GetOutput() ); caster->SetInput(connectedThreshold->GetOutput()); typedef itk::VTKImageExport< InternalImageType > ExportFilterType; // ExportFilterType::Pointer itkExporter = ExportFilterType::New(); // //itkExporter->SetInput( caster->GetOutput() ); // this line gives me error warning, so i did the following line itkExporter->SetInput(connectedThreshold->GetOutput()); vtkImageImport* vtkImporter = vtkImageImport::New(); // ConnectPipelines(itkExporter, vtkImporter); typedef itk::VTKImageImport< InternalImageType > ImportFilterType; // ImportFilterType::Pointer itkImporter = ImportFilterType::New(); // vtkImageExport* vtkExporter = vtkImageExport::New(); ConnectPipelines(vtkExporter, itkImporter); #if VTK_MAJOR_VERSION <= 5 vtkExporter->SetInput( vtkImporter->GetOutput() ); #else vtkImporter->Update(); vtkExporter->SetInputData( vtkImporter->GetOutput() ); #endif vtkImageActor* actor = vtkImageActor::New(); #if VTK_MAJOR_VERSION <= 5 actor->SetInput(vtkImporter->GetOutput()); #else actor->SetInputData(vtkImporter->GetOutput()); #endif vtkInteractorStyleImage * interactorStyle = vtkInteractorStyleImage::New(); vtkRenderer* renderer = vtkRenderer::New(); vtkRenderWindow* renWin = vtkRenderWindow::New(); vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New(); renWin->SetSize(500, 500); renWin->AddRenderer(renderer); iren->SetRenderWindow(renWin); iren->SetInteractorStyle( interactorStyle ); renderer->AddActor(actor); renderer->SetBackground(0.4392, 0.5020, 0.5647); renWin->Render(); iren->Start(); actor->Delete(); interactorStyle->Delete(); vtkImporter->Delete(); vtkExporter->Delete(); renWin->Delete(); renderer->Delete(); iren->Delete(); } Thanks in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From matt.mccormick at kitware.com Thu Jul 5 11:56:31 2018 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Jul 2018 11:56:31 -0400 Subject: [ITK] [ITK-users] ITK and VTK connection problem In-Reply-To: References: Message-ID: Hi, The itk::ImageToVTKImageFilter should be used instead of the itk::VTKImageImport class directly. See, for example: https://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertAnitkImageTovtkImageData/Documentation.html HTH, Matt On Thu, Jul 5, 2018 at 9:52 AM Ashef Shahrior wrote: > > From ITK Software Guide Book, I am trying to do Region Growing - Connected Threshold segmentation and show it using VTK. In the guide book, the segmented image is written into another file. But I don't want to write it but rather display it using VTK renderer. But it seems to be not working. Can anyone see my code and help me out, please? Here's my code: > > #include > #include > #include > #include > #include > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkVTKImageExport.h" > #include "itkVTKImageImport.h" > #include "itkRGBPixel.h" > > #include "vtkImageData.h" > #include "vtkImageImport.h" > #include "vtkImageExport.h" > #include "vtkImageActor.h" > #include "vtkRenderer.h" > #include "vtkRenderWindow.h" > #include "vtkRenderWindowInteractor.h" > #include "vtkInteractorStyleImage.h" > > using namespace std; > > template void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) > { > importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); > importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); > importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); > importer->SetSpacingCallback(exporter->GetSpacingCallback()); > importer->SetOriginCallback(exporter->GetOriginCallback()); > importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); > importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); > importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); > importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); > importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); > importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); > importer->SetCallbackUserData(exporter->GetCallbackUserData()); > } > > template void ConnectPipelines(VTK_Exporter* exporter, ITK_Importer importer) > { > importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); > importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); > importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); > importer->SetSpacingCallback(exporter->GetSpacingCallback()); > importer->SetOriginCallback(exporter->GetOriginCallback()); > importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); > importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); > importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); > importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); > importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); > importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); > importer->SetCallbackUserData(exporter->GetCallbackUserData()); > } > > > void main() > { > char inputImage[1000], seedx[10], seedy[10], lThreshold[100], uThreshold[100]; > > cout<< "Input values: "< cin >> inputImage; > cin>>seedx; > cin>>seedy; > cin>>lThreshold; > cin>>uThreshold; > > const unsigned int Dimension = 2; > > typedef float InternalPixelType; > typedef itk::Image< InternalPixelType, Dimension > InternalImageType; > > typedef unsigned char OutputPixelType; > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > > typedef itk::CurvatureFlowImageFilter< InternalImageType, InternalImageType > CurvatureFlowImageFilterType; > > CurvatureFlowImageFilterType::Pointer smoothing = CurvatureFlowImageFilterType::New(); > > typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; > > ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New(); > > typedef itk::CastImageFilter< InternalImageType, OutputImageType > CastingFilterType; > > CastingFilterType::Pointer caster = CastingFilterType::New(); > > typedef itk::ImageFileReader< InternalImageType > ReaderType; > typedef itk::ImageFileWriter< OutputImageType > WriterType; > > ReaderType::Pointer reader = ReaderType::New(); > WriterType::Pointer writer = WriterType::New(); > > reader->SetFileName( inputImage ); > reader->Update(); > //writer->SetFileName( outputImage ); > > smoothing->SetInput( reader->GetOutput() ); > smoothing->SetNumberOfIterations( 5 ); > smoothing->SetTimeStep( 0.125 ); > > //writer->SetInput( caster->GetOutput() ); > const InternalPixelType lowerThreshold = atof( lThreshold ); > const InternalPixelType upperThreshold = atof( uThreshold ); > > connectedThreshold->SetInput( smoothing->GetOutput() ); > connectedThreshold->SetLower( lowerThreshold ); > connectedThreshold->SetUpper( upperThreshold ); > > connectedThreshold->SetReplaceValue( 255 ); > > InternalImageType::IndexType index; > > index[0] = atoi( seedx ); > index[1] = atoi( seedy ); > > connectedThreshold->SetSeed( index ); > connectedThreshold->Update(); > > //caster->SetInput( connectedThreshold->GetOutput() ); > caster->SetInput(connectedThreshold->GetOutput()); > > typedef itk::VTKImageExport< InternalImageType > ExportFilterType; // > ExportFilterType::Pointer itkExporter = ExportFilterType::New(); // > > //itkExporter->SetInput( caster->GetOutput() ); // this line gives me error warning, so i did the following line > itkExporter->SetInput(connectedThreshold->GetOutput()); > > > > vtkImageImport* vtkImporter = vtkImageImport::New(); // > ConnectPipelines(itkExporter, vtkImporter); > > typedef itk::VTKImageImport< InternalImageType > ImportFilterType; // > ImportFilterType::Pointer itkImporter = ImportFilterType::New(); // > > > vtkImageExport* vtkExporter = vtkImageExport::New(); > ConnectPipelines(vtkExporter, itkImporter); > > #if VTK_MAJOR_VERSION <= 5 > vtkExporter->SetInput( vtkImporter->GetOutput() ); > #else > vtkImporter->Update(); > vtkExporter->SetInputData( vtkImporter->GetOutput() ); > #endif > > vtkImageActor* actor = vtkImageActor::New(); > #if VTK_MAJOR_VERSION <= 5 > actor->SetInput(vtkImporter->GetOutput()); > #else > actor->SetInputData(vtkImporter->GetOutput()); > #endif > > vtkInteractorStyleImage * interactorStyle = vtkInteractorStyleImage::New(); > > vtkRenderer* renderer = vtkRenderer::New(); > vtkRenderWindow* renWin = vtkRenderWindow::New(); > vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New(); > > renWin->SetSize(500, 500); > renWin->AddRenderer(renderer); > iren->SetRenderWindow(renWin); > iren->SetInteractorStyle( interactorStyle ); > > renderer->AddActor(actor); > renderer->SetBackground(0.4392, 0.5020, 0.5647); > > renWin->Render(); > iren->Start(); > > actor->Delete(); > interactorStyle->Delete(); > vtkImporter->Delete(); > vtkExporter->Delete(); > renWin->Delete(); > renderer->Delete(); > iren->Delete(); > } > > Thanks in advance. > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From Victor.Poughon at cnes.fr Fri Jul 6 08:21:19 2018 From: Victor.Poughon at cnes.fr (Poughon Victor) Date: Fri, 6 Jul 2018 12:21:19 +0000 Subject: [ITK] [ITK-dev] extern templates to reduce build time Message-ID: <3E55146A6A81B44A9CB69CAB65908CEA53F33449@TW-MBX-P01.cnesnet.ad.cnes.fr> Hello, In OTB (which is heavily based on ITK) we have been looking at the possibility of introducing explicit instantiation of common template classes in the dynamic libraries we build, together with "extern template" declarations in headers to reduce build times significantly. A quick grep in ITK source shows that this C++11 feature is barely used in ITK, and it seems like it is for another purpose (dynamic_cast issues). After a few test on our side, the best approach seems to be: - In the header file: declare common template classes specializations as "extern template" - In the cxx file: explicitely instantiate the same specializations This means that client code will not need to instantiate a template type (reducing build time significantly). It will need however to link with the corresponding lib. The benefit of this approach is supported by doing a quick: $ nm -g --demangle $(find . -name "*.o") | sort | uniq -c | sort -n | grep " W " in a build directory, and noticing that in a full build, the compiler instantiates the same template types tens of thousands of times. (why it does not keep a cache is beyond me...). This can be seen with the compiler option -ftime-report, also. This approach is promising (about ~15% reduction in build time in my initial tests, more can be achieved I think), but raises two issues which are probably worth discussing with ITK devs: 1. How to handle specialization on a type that is in another module, or another library? For example in OTB we have some: itk::ImageSource > (and many more). Where should the "extern template" declarations and explicit instantiations for this type be in the code? extern template declarations require the header of the type on which the template is specialized the be included (I think). This poses no issues for itk::Image, but some issues for more complex templating. 2. How to handle MSVC and gcc incompatibilities regarding library export keywords (decltype, dllexport, _EXPORT macros & co). This issue is explained well by this page: https://github.com/RobotLocomotion/drake/issues/3305 >From my research I found that ITK handles that somewhat with EXPORT_EXPLICIT macros. Other C++ projects out there have tackled that issue as well. See for example: https://bugs.chromium.org/p/chromium/issues/detail?id=420695 https://chromium.googlesource.com/chromium/src/+/66.0.3359.158/base/export_template.h So, questions: - Would ITK be interested in using extern templates to reduce build time? Which approach would you take? - How to make extern templates portable accross MSVC and gcc/clang? Something like Chromium's export_template.h? How does this interact with CMake's generation of _EXPORT macros? Maybe it needs to be a patch all the way in CMake's generate_export_header? Thanks, Victor Poughon The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-developers From blowekamp at mail.nih.gov Fri Jul 6 09:00:54 2018 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Fri, 6 Jul 2018 13:00:54 +0000 Subject: [ITK] [ITK-dev] extern templates to reduce build time Message-ID: Can you please post this topic in discourse? Brad ?On 7/6/18, 8:31 AM, "Poughon Victor" wrote: Hello, In OTB (which is heavily based on ITK) we have been looking at the possibility of introducing explicit instantiation of common template classes in the dynamic libraries we build, together with "extern template" declarations in headers to reduce build times significantly. A quick grep in ITK source shows that this C++11 feature is barely used in ITK, and it seems like it is for another purpose (dynamic_cast issues). After a few test on our side, the best approach seems to be: - In the header file: declare common template classes specializations as "extern template" - In the cxx file: explicitely instantiate the same specializations This means that client code will not need to instantiate a template type (reducing build time significantly). It will need however to link with the corresponding lib. The benefit of this approach is supported by doing a quick: $ nm -g --demangle $(find . -name "*.o") | sort | uniq -c | sort -n | grep " W " in a build directory, and noticing that in a full build, the compiler instantiates the same template types tens of thousands of times. (why it does not keep a cache is beyond me...). This can be seen with the compiler option -ftime-report, also. This approach is promising (about ~15% reduction in build time in my initial tests, more can be achieved I think), but raises two issues which are probably worth discussing with ITK devs: 1. How to handle specialization on a type that is in another module, or another library? For example in OTB we have some: itk::ImageSource > (and many more). Where should the "extern template" declarations and explicit instantiations for this type be in the code? extern template declarations require the header of the type on which the template is specialized the be included (I think). This poses no issues for itk::Image, but some issues for more complex templating. 2. How to handle MSVC and gcc incompatibilities regarding library export keywords (decltype, dllexport, _EXPORT macros & co). This issue is explained well by this page: https://github.com/RobotLocomotion/drake/issues/3305 From my research I found that ITK handles that somewhat with EXPORT_EXPLICIT macros. Other C++ projects out there have tackled that issue as well. See for example: https://bugs.chromium.org/p/chromium/issues/detail?id=420695 https://chromium.googlesource.com/chromium/src/+/66.0.3359.158/base/export_template.h So, questions: - Would ITK be interested in using extern templates to reduce build time? Which approach would you take? - How to make extern templates portable accross MSVC and gcc/clang? Something like Chromium's export_template.h? How does this interact with CMake's generation of _EXPORT macros? Maybe it needs to be a patch all the way in CMake's generate_export_header? Thanks, Victor Poughon The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-developers The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org https://itk.org/mailman/listinfo/community The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-developers From enslay at gmail.com Fri Jul 6 20:18:01 2018 From: enslay at gmail.com (Nathan Lay) Date: Fri, 6 Jul 2018 20:18:01 -0400 Subject: [ITK] [ITK-users] ITK is more general than medical imaging! Message-ID: Just personal observation... but I've been using ITK in a very similar fashion to medical imaging to do some cartography/geography related work (my spacing is m instead of mm). And saving extra/custom meta data like GeoTIFF is something the medical imaging community has been doing for decades with a plethora of formats (like MetaIO and DICOM). I can also imagine streaming IO being useful for streaming large sections of the earth too! It's also really useful to save 16 bit pixels sometimes... and visualize them (and overlay them on other images or masks). Why is ITK only a medical imaging toolkit again? A big reason I use ITK for such *unrelated* work is that its itk::Image carries transformations around. And that information (and more!) get saved to file too. I mean doing similar work with PNG/JPG and OpenCV is a nightmare by comparison when you need to work with lots of different coordinate systems simultaneously. Best regards, Nathan Lay -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Sat Jul 7 19:36:00 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 7 Jul 2018 19:36:00 -0400 Subject: [ITK] [ITK-users] ITK is more general than medical imaging! In-Reply-To: References: Message-ID: Hi Nathan, ITK is NOT only a medical imaging toolkit. It has many other uses. You are right that it has primarily medical focus, and that is because it has been primarily funded by NIH. Thanks for positive feedback. Also, you might want to join the new forum . Regards, D?enan On Fri, Jul 6, 2018 at 8:18 PM Nathan Lay wrote: > Just personal observation... but I've been using ITK in a very similar > fashion to medical imaging to do some cartography/geography related work > (my spacing is m instead of mm). And saving extra/custom meta data like > GeoTIFF is something the medical imaging community has been doing for > decades with a plethora of formats (like MetaIO and DICOM). I can also > imagine streaming IO being useful for streaming large sections of the earth > too! It's also really useful to save 16 bit pixels sometimes... and > visualize them (and overlay them on other images or masks). > > Why is ITK only a medical imaging toolkit again? A big reason I use ITK > for such *unrelated* work is that its itk::Image carries transformations > around. And that information (and more!) get saved to file too. > > I mean doing similar work with PNG/JPG and OpenCV is a nightmare by > comparison when you need to work with lots of different coordinate systems > simultaneously. > > Best regards, > Nathan Lay > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From matt.mccormick at kitware.com Mon Jul 9 10:55:17 2018 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 9 Jul 2018 10:55:17 -0400 Subject: [ITK] [ITK-users] ITK is more general than medical imaging! In-Reply-To: References: Message-ID: Hi Nathan, Yes, ITK's capability for spatial analysis and its general functionality has a lot to offer many domains. We need your help to spread the word :-). Regarding satellite imagery, the ITK-based OrfeoToolbox (OTB) has a lot to offer also: https://www.orfeo-toolbox.org/ Cheers, Matt On Sat, Jul 7, 2018 at 7:36 PM D?enan Zuki? wrote: > > Hi Nathan, > > ITK is NOT only a medical imaging toolkit. It has many other uses. You are right that it has primarily medical focus, and that is because it has been primarily funded by NIH. > > Thanks for positive feedback. Also, you might want to join the new forum. > > Regards, > D?enan > > On Fri, Jul 6, 2018 at 8:18 PM Nathan Lay wrote: >> >> Just personal observation... but I've been using ITK in a very similar fashion to medical imaging to do some cartography/geography related work (my spacing is m instead of mm). And saving extra/custom meta data like GeoTIFF is something the medical imaging community has been doing for decades with a plethora of formats (like MetaIO and DICOM). I can also imagine streaming IO being useful for streaming large sections of the earth too! It's also really useful to save 16 bit pixels sometimes... and visualize them (and overlay them on other images or masks). >> >> Why is ITK only a medical imaging toolkit again? A big reason I use ITK for such *unrelated* work is that its itk::Image carries transformations around. And that information (and more!) get saved to file too. >> >> I mean doing similar work with PNG/JPG and OpenCV is a nightmare by comparison when you need to work with lots of different coordinate systems simultaneously. >> >> Best regards, >> Nathan Lay >> The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> https://itk.org/mailman/listinfo/insight-users > > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From Darren.Thompson at csiro.au Thu Jul 12 07:36:06 2018 From: Darren.Thompson at csiro.au (Darren.Thompson at csiro.au) Date: Thu, 12 Jul 2018 11:36:06 +0000 Subject: [ITK] [ITK-users] ITKModuleTemplate and external modules for use with python Message-ID: <45eec90025e2442c85429ef978da1ecd@exch3-mel.nexus.csiro.au> Hi All, I'm revisiting making my own external ITK module (for use in Python) after an initial attempt a while back. This time I've managed to get much further and have managed to successfully create python wheels following the directions on https://github.com/InsightSoftwareConsortium/ITKPythonPackage/blob/master/docs/Build_ITK_Module_Python_packages.rst , I've created Windows wheels via AppVeyor and linux wheels with CircleCI in addition to locally built versions via the docker based method. All tests are passed successfully. However, after installing them with pip in a fresh virtual environment in a Python 3.6 instance (Anaconda), I seem to always get a kernel crash (segmentation fault) when I try and actually use or create one of my custom filters. To strip everything back to basics I generated a vanilla external module, using only default values with: python -m cookiecutter gh:InsightSoftwareConsortium/ITKModuleTemplate I then built the wheels as described and installed them into the virtual environment. Using the following basic python script below results in a seg fault, import itk InputType = itk.Image[itk.F,2] OutputType = itk.Image[itk.F,2] test = itk.MinimalStandardRandomVariateGenerator.New() I get the same result if I try and create any of the classes defined in ITKModuleTemplate, however I can successfully create standard itk filters. After running the script with gdb I see that it crashes in the call as follows: #1 0x00007fffe7405373 in PyInit__ModuleTemplatePython () from /home/tho78s/anaconda3/lib/python3.6/site-packages/itk/Configuration/../_ModuleTemplatePython.so I'm currently out of ideas as to where the problem lies and I seem to get the identical problem in Windows too. Any help or pointers in to what is going wrong would be greatly appreciated! I you want any extra info, feel free to contact me. Regards, Darren -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From srbn.ghosh99 at gmail.com Fri Jul 13 12:07:10 2018 From: srbn.ghosh99 at gmail.com (Shrabani Ghosh) Date: Fri, 13 Jul 2018 09:07:10 -0700 (MST) Subject: [ITK] [ITK-users] How to convert vtk data to vtp data Message-ID: <1531498030634-0.post@n2.nabble.com> I want to convert my vtk to vtp data. Is there any example available for the conversion. Please suggest. -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From gunjan_naik at persistent.com Sun Jul 15 14:53:53 2018 From: gunjan_naik at persistent.com (Gunjan Naik) Date: Sun, 15 Jul 2018 18:53:53 +0000 Subject: [ITK] [ITK-users] Undefined function SaveMHDData Message-ID: Hi, I wanted to build the Glistr library, for brain tumor segmentation. URL:http://www.med.upenn.edu/sbia/glistr.html GLISTR | Section for Biomedical Image Analysis (SBIA ... www.med.upenn.edu The Section for Biomedical Image Analysis (SBIA), part of the Center of Biomedical Image Computing and Analytics ? CBICA, is devoted to the development of computer-based image analysis methods, and their application to a wide variety of clinical research studies. While building that, I got the following error: 'Linking CXX executable EvaluateQ CMakeFiles/EvaluateQ.dir/EvaluateQ.cpp.o: In function `int SaveMHDData(char const*, char const*, float****, float****, float****, int, int, int, float, float, float, float, float, float)': EvaluateQ.cpp:(.text._Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff[_Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff]+0x9c): undefined reference to `MetaImage::MetaImage(int, int, int, float, float, float, MET_ValueEnumType, int, void*)' collect2: error: ld returned 1 exit status' Is there any function 'SaveMHDData' in the ITK library, for which I have to set the parameters, while building ITK from source? Thanks and Regards, Gunjan Naik DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From jhlegarreta at vicomtech.org Mon Jul 16 02:22:14 2018 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Mon, 16 Jul 2018 08:22:14 +0200 Subject: [ITK] [ITK-users] How to convert vtk data to vtp data In-Reply-To: <1531498030634-0.post@n2.nabble.com> References: <1531498030634-0.post@n2.nabble.com> Message-ID: Hi Shrabani, these file formats are used by VTK. You are more likely to get a better answer if you post to the VTK mailing list: https://www.vtk.org/mailing-lists/ Also, note that ITK has transitioned to the discourse.itk.org discussion site. Whenever you need to post a question about ITK, please use the discourse.itk.org site. Thanks, JON HAITZ -- On 13 July 2018 at 18:07, Shrabani Ghosh wrote: > I want to convert my vtk to vtp data. Is there any example available for the > conversion. > > Please suggest. > > > > -- > Sent from: http://itk-insight-users.2283740.n2.nabble.com/ > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From aduque at neuro.ciren.cu Mon Jul 16 11:55:57 2018 From: aduque at neuro.ciren.cu (Armando Abreu Duque) Date: Mon, 16 Jul 2018 11:55:57 -0400 Subject: [ITK] Error in ITK compilation with wingw32-make Message-ID: Hi. I want to create an application to read and process DICOM image files. I want to use ITK + VTK + Qt. I have not any problem with Configure and Generate ITK with CMake. When I start to compile ITK bin files after generated with CMake all seems go well until 90% when stops an shows the message that you can see in attachment. Some data: OS: Windows 10 Pro x64 ITK version: 4.13.0 CMake version: 3.9.2 Qt version: 5.10.0 (Qt Creator 4.5.0) I put this 'C:\Qt\Qt5.10.0\Tools\mingw530_32\bin\' in the Path environment variable of the system. I would like to use ITK in my project. My project is about Stereotactic Neurosurgery Planning System for the treatment of movement disorders (Parkinson's disease). Thanks. Ing. Armando Abreu Duque Especialista en Ciencias Inform?ticas Grupo de Procesamiento de Im?genes y Medicina Nuclear, CIREN La Habana, Cuba -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7023 bytes Desc: not available URL: From dzenanz at gmail.com Mon Jul 16 12:35:28 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 16 Jul 2018 12:35:28 -0400 Subject: [ITK] [ITK-users] ITKModuleTemplate and external modules for use with python In-Reply-To: <45eec90025e2442c85429ef978da1ecd@exch3-mel.nexus.csiro.au> References: <45eec90025e2442c85429ef978da1ecd@exch3-mel.nexus.csiro.au> Message-ID: Hi Darren, can you please re-post this question on the forum ? Many of us were on vacation in the last few weeks. Regards, D?enan On Thu, Jul 12, 2018 at 7:47 AM wrote: > Hi All, > > > > I?m revisiting making my own external ITK module (for use in Python) after > an initial attempt a while back. This time I?ve managed to get much further > and have managed to successfully create python wheels following the > directions on > https://github.com/InsightSoftwareConsortium/ITKPythonPackage/blob/master/docs/Build_ITK_Module_Python_packages.rst > , I?ve created Windows wheels via AppVeyor and linux wheels with CircleCI > in addition to locally built versions via the docker based method. All > tests are passed successfully. > > > > However, after installing them with pip in a fresh virtual environment in > a Python 3.6 instance (Anaconda), I seem to always get a kernel crash > (segmentation fault) when I try and actually use or create one of my custom > filters. > > > > To strip everything back to basics I generated a vanilla external module, > using only default values with: > > > > python -m cookiecutter gh:InsightSoftwareConsortium/ITKModuleTemplate > > > > I then built the wheels as described and installed them into the virtual > environment. > > > > Using the following basic python script below results in a seg fault, > > > > import itk > > InputType = itk.Image[itk.F,2] > > OutputType = itk.Image[itk.F,2] > > test = itk.MinimalStandardRandomVariateGenerator.New() > > > > I get the same result if I try and create any of the classes defined in > ITKModuleTemplate, however I can successfully create standard itk filters. > > > > After running the script with gdb I see that it crashes in the call as > follows: > > > > #1 0x00007fffe7405373 in PyInit__ModuleTemplatePython () from > /home/tho78s/anaconda3/lib/python3.6/site-packages/itk/Configuration/../_ModuleTemplatePython.so > > > > I?m currently out of ideas as to where the problem lies and I seem to get > the identical problem in Windows too. > > > > Any help or pointers in to what is going wrong would be greatly > appreciated! > > > > I you want any extra info, feel free to contact me. > > > > Regards, > > > > Darren > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Mon Jul 16 12:40:58 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 16 Jul 2018 12:40:58 -0400 Subject: [ITK] [ITK-users] Undefined function SaveMHDData In-Reply-To: References: Message-ID: SaveMHDData is a function in glistr, and a constructor for MetaImage which it invokes is not available during link stage. It could be something wrong with that library's build system, you could have set up something in a wrong way, or the library is relying on a constructor signature which is no longer available. MetaImage saw some precision-related update in the last year I think, and that might have changed the constructor signature. You could try with an older version of ITK, e.g. 4.11. Regards, D?enan On Sun, Jul 15, 2018 at 3:04 PM Gunjan Naik wrote: > Hi, > > > I wanted to build the Glistr library, for brain tumor segmentation. > > > URL:http://www.med.upenn.edu/sbia/glistr.html > GLISTR | Section for Biomedical Image Analysis (SBIA ... > > www.med.upenn.edu > The Section for Biomedical Image Analysis (SBIA), part of the Center of > Biomedical Image Computing and Analytics ? CBICA, is devoted to the > development of computer-based image analysis methods, and their application > to a wide variety of clinical research studies. > > While building that, I got the following error: > > 'Linking CXX executable EvaluateQ > CMakeFiles/EvaluateQ.dir/EvaluateQ.cpp.o: In function `int > SaveMHDData(char const*, char const*, float****, float****, > float****, int, int, int, float, float, float, float, float, float)': > EvaluateQ.cpp:(.text._Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff[_Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff]+0x9c): > undefined reference to `MetaImage::MetaImage(int, int, int, float, float, > float, MET_ValueEnumType, int, void*)' > collect2: error: ld returned 1 exit status' > > > Is there any function 'SaveMHDData' in the ITK library, for which I have > to set the parameters, while building ITK from source? > > > Thanks and Regards, > > Gunjan Naik > DISCLAIMER > ========== > This e-mail may contain privileged and confidential information which is > the property of Persistent Systems Ltd. It is intended only for the use of > the individual or entity to which it is addressed. If you are not the > intended recipient, you are not authorized to read, retain, copy, print, > distribute or use this message. If you have received this communication in > error, please notify the sender and delete all copies of this message. > Persistent Systems Ltd. does not accept any liability for virus infected > mails. > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Mon Jul 16 12:46:51 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 16 Jul 2018 12:46:51 -0400 Subject: [ITK] Error in ITK compilation with wingw32-make In-Reply-To: References: Message-ID: Hi Armando, I guess you forgot to attach the build log. But you should be posting the question on the new forum . Regards, D?enan On Mon, Jul 16, 2018 at 11:59 AM Armando Abreu Duque wrote: > Hi. > > > > I want to create an application to read and process DICOM image files. > > I want to use ITK + VTK + Qt. > > I have not any problem with Configure and Generate ITK with CMake. > > When I start to compile ITK bin files after generated with CMake all seems > go well until 90% when stops an shows the message that you can see in > attachment. > > > > Some data: > > OS: Windows 10 Pro x64 > > ITK version: 4.13.0 > > CMake version: 3.9.2 > > Qt version: 5.10.0 (Qt Creator 4.5.0) > > I put this 'C:\Qt\Qt5.10.0\Tools\mingw530_32\bin\' in the Path environment > variable of the system. > > > > I would like to use ITK in my project. My project is about Stereotactic > Neurosurgery Planning System for the treatment of movement disorders > (Parkinson's disease). > > Thanks. > > > > > > Ing. Armando Abreu Duque > > Especialista en Ciencias Inform?ticas > > Grupo de Procesamiento de Im?genes y Medicina Nuclear, CIREN > > La Habana, Cuba > > > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________________ > Community mailing list > Community at itk.org > https://itk.org/mailman/listinfo/community > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7023 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7023 bytes Desc: not available URL: From gunjan_naik at persistent.com Tue Jul 17 06:30:46 2018 From: gunjan_naik at persistent.com (Gunjan Naik) Date: Tue, 17 Jul 2018 10:30:46 +0000 Subject: [ITK] [ITK-users] Undefined function SaveMHDData In-Reply-To: References: , Message-ID: Thanks D?enan Zuki?, As per your guideline, I build an older ITK with version 4.7.2. And set the flags for MetaImage using ImageIO. The Glistr has been built. Regards, Gunjan Naik ________________________________ From: D?enan Zuki? Sent: Monday, July 16, 2018 10:10 PM To: Gunjan Naik Cc: Insight-users Subject: Re: [ITK-users] Undefined function SaveMHDData SaveMHDData is a function in glistr, and a constructor for MetaImage which it invokes is not available during link stage. It could be something wrong with that library's build system, you could have set up something in a wrong way, or the library is relying on a constructor signature which is no longer available. MetaImage saw some precision-related update in the last year I think, and that might have changed the constructor signature. You could try with an older version of ITK, e.g. 4.11. Regards, D?enan On Sun, Jul 15, 2018 at 3:04 PM Gunjan Naik > wrote: Hi, I wanted to build the Glistr library, for brain tumor segmentation. URL:http://www.med.upenn.edu/sbia/glistr.html GLISTR | Section for Biomedical Image Analysis (SBIA ... www.med.upenn.edu The Section for Biomedical Image Analysis (SBIA), part of the Center of Biomedical Image Computing and Analytics ? CBICA, is devoted to the development of computer-based image analysis methods, and their application to a wide variety of clinical research studies. While building that, I got the following error: 'Linking CXX executable EvaluateQ CMakeFiles/EvaluateQ.dir/EvaluateQ.cpp.o: In function `int SaveMHDData(char const*, char const*, float****, float****, float****, int, int, int, float, float, float, float, float, float)': EvaluateQ.cpp:(.text._Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff[_Z11SaveMHDDataIfEiPKcS1_PPPPT_S6_S6_iiiffffff]+0x9c): undefined reference to `MetaImage::MetaImage(int, int, int, float, float, float, MET_ValueEnumType, int, void*)' collect2: error: ld returned 1 exit status' Is there any function 'SaveMHDData' in the ITK library, for which I have to set the parameters, while building ITK from source? Thanks and Regards, Gunjan Naik DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails. The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From srbn.ghosh99 at gmail.com Thu Jul 19 18:36:34 2018 From: srbn.ghosh99 at gmail.com (Shrabani Ghosh) Date: Thu, 19 Jul 2018 15:36:34 -0700 (MST) Subject: [ITK] [ITK-users] Split 3D image one image into two parts Message-ID: <1532039794697-0.post@n2.nabble.com> Hi, I have a 3D image to use it for a machine learning problem. But when I am trying to run it , it's running out of memory. Is there any way to spit the 3D image into two parts? Because I have tried to split the 3D image into 2D slices. But 2D slices are not the same as the original image slice of the 3D image anymore. -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From pablo.hernandez.cerdan at outlook.com Fri Jul 20 02:36:29 2018 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Fri, 20 Jul 2018 06:36:29 +0000 Subject: [ITK] [ITK-users] Split 3D image one image into two parts In-Reply-To: <1532039794697-0.post@n2.nabble.com> References: <1532039794697-0.post@n2.nabble.com> Message-ID: Hi Shrabani, I think you already asked this exact same question in a post in discourse [0] some time ago! As mentioned there, you can use a CropImageFilter or a ExtractImageFilter providing a 3D region. [0]: https://discourse.itk.org/t/how-to-crop-a-3d-image-with-a-specified-size/715 On Thu, Jul 19, 2018 at 6:36 PM, Shrabani Ghosh > wrote: Hi, I have a 3D image to use it for a machine learning problem. But when I am trying to run it , it's running out of memory. Is there any way to spit the 3D image into two parts? Because I have tried to split the 3D image into 2D slices. But 2D slices are not the same as the original image slice of the 3D image anymore. -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From pablo.hernandez.cerdan at outlook.com Fri Jul 20 02:36:30 2018 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Fri, 20 Jul 2018 06:36:30 +0000 Subject: [ITK] [ITK-users] Split 3D image one image into two parts In-Reply-To: <1532039794697-0.post@n2.nabble.com> References: <1532039794697-0.post@n2.nabble.com> Message-ID: Hi Shrabani, I think you already asked this exact same question in a post in discourse [0] some time ago! As mentioned there, you can use a CropImageFilter or a ExtractImageFilter providing a 3D region. [0]: https://discourse.itk.org/t/how-to-crop-a-3d-image-with-a-specified-size/715 On Thu, Jul 19, 2018 at 6:36 PM, Shrabani Ghosh > wrote: Hi, I have a 3D image to use it for a machine learning problem. But when I am trying to run it , it's running out of memory. Is there any way to spit the 3D image into two parts? Because I have tried to split the 3D image into 2D slices. But 2D slices are not the same as the original image slice of the 3D image anymore. -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From srbn.ghosh99 at gmail.com Thu Jul 26 10:47:51 2018 From: srbn.ghosh99 at gmail.com (Shrabani Ghosh) Date: Thu, 26 Jul 2018 07:47:51 -0700 (MST) Subject: [ITK] [ITK-users] Combine Polydata Message-ID: <1532616471776-0.post@n2.nabble.com> I want to combine two vtk file together so that they can stick together. But after combining them I can see that they did stick together with same world coordinate. I used this code. How to do that? https://itk.org/Wiki/VTK/Examples/Cxx/Filtering/CombinePolyData -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Thu Jul 26 11:29:03 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 26 Jul 2018 11:29:03 -0400 Subject: [ITK] [ITK-users] Combine Polydata In-Reply-To: <1532616471776-0.post@n2.nabble.com> References: <1532616471776-0.post@n2.nabble.com> Message-ID: Hi Shrabani, I think you might have posted to the wrong list. Perhaps you wanted vtk-users ? Also, your question is not clear enough. Did that code work or not? If not, how was the result different from your expectation. Regards, D?enan On Thu, Jul 26, 2018 at 10:47 AM Shrabani Ghosh wrote: > I want to combine two vtk file together so that they can stick together. > But > after combining them I can see that they did stick together with same world > coordinate. I used this code. How to do that? > > https://itk.org/Wiki/VTK/Examples/Cxx/Filtering/CombinePolyData > > > > > > > -- > Sent from: http://itk-insight-users.2283740.n2.nabble.com/ > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > https://itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Thu Jul 26 11:42:49 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 26 Jul 2018 11:42:49 -0400 Subject: [ITK] [ITK-users] Combine Polydata In-Reply-To: References: <1532616471776-0.post@n2.nabble.com> Message-ID: You probably need to supply the transform to have the proper alignment after merging the meshes. On Thu, Jul 26, 2018 at 11:37 AM Shrabani Ghosh wrote: > Okay. I can post it in the VTK users. The code did not as I wanted. I want > the two polydata will overlap onto each other.. and fit together. Like > image 1, 2 combine together and created 3. > > > On Thu, Jul 26, 2018 at 11:29 AM D?enan Zuki? wrote: > >> Hi Shrabani, >> >> I think you might have posted to the wrong list. Perhaps you wanted >> vtk-users ? >> >> Also, your question is not clear enough. Did that code work or not? If >> not, how was the result different from your expectation. >> >> Regards, >> D?enan >> >> On Thu, Jul 26, 2018 at 10:47 AM Shrabani Ghosh >> wrote: >> >>> I want to combine two vtk file together so that they can stick together. >>> But >>> after combining them I can see that they did stick together with same >>> world >>> coordinate. I used this code. How to do that? >>> >>> https://itk.org/Wiki/VTK/Examples/Cxx/Filtering/CombinePolyData >>> >>> >>> >>> >>> >>> >>> >>> -- >>> Sent from: http://itk-insight-users.2283740.n2.nabble.com/ >>> The ITK community is transitioning from this mailing list to >>> discourse.itk.org. Please join us there! >>> ________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> https://itk.org/mailman/listinfo/insight-users >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users From dzenanz at gmail.com Thu Jul 26 11:51:10 2018 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 26 Jul 2018 11:51:10 -0400 Subject: [ITK] [ITK-users] Combine Polydata In-Reply-To: References: <1532616471776-0.post@n2.nabble.com> Message-ID: How about this ? On Thu, Jul 26, 2018 at 11:49 AM Shrabani Ghosh wrote: > Okay. Is there any similar kind of example given vtk? > > On Thu, Jul 26, 2018 at 11:43 AM D?enan Zuki? wrote: > >> You probably need to supply the transform to have the proper alignment >> after merging the meshes. >> >> On Thu, Jul 26, 2018 at 11:37 AM Shrabani Ghosh >> wrote: >> >>> Okay. I can post it in the VTK users. The code did not as I wanted. I >>> want the two polydata will overlap onto each other.. and fit together. >>> Like image 1, 2 combine together and created 3. >>> >>> >>> On Thu, Jul 26, 2018 at 11:29 AM D?enan Zuki? wrote: >>> >>>> Hi Shrabani, >>>> >>>> I think you might have posted to the wrong list. Perhaps you wanted >>>> vtk-users ? >>>> >>>> Also, your question is not clear enough. Did that code work or not? If >>>> not, how was the result different from your expectation. >>>> >>>> Regards, >>>> D?enan >>>> >>>> On Thu, Jul 26, 2018 at 10:47 AM Shrabani Ghosh >>>> wrote: >>>> >>>>> I want to combine two vtk file together so that they can stick >>>>> together. But >>>>> after combining them I can see that they did stick together with same >>>>> world >>>>> coordinate. I used this code. How to do that? >>>>> >>>>> https://itk.org/Wiki/VTK/Examples/Cxx/Filtering/CombinePolyData >>>>> >>>>> < >>>>> http://itk-insight-users.2283740.n2.nabble.com/file/t396636/Capture.png> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Sent from: http://itk-insight-users.2283740.n2.nabble.com/ >>>>> The ITK community is transitioning from this mailing list to >>>>> discourse.itk.org. Please join us there! >>>>> ________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.php >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> https://itk.org/mailman/listinfo/insight-users >>>>> >>>> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: https://itk.org/mailman/listinfo/insight-users