Code Monkey home page Code Monkey logo

pettumorsegmentation's Introduction

PETTumorSegmentation

Slicer Extension for tumor and lymph node segmentation in PET scans

Documentation: https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/PETTumorSegmentation

This work is funded in part by Quantitative Imaging to Assess Response in Cancer Therapy Trials NIH grant U01-CA140206 (PIs John Buatti, Tom Casavant, Michael Graham, Milan Sonka), Quantitative Image Informatics for Cancer Research (QIICR) NIH grant U24 CA180918, and Graph-based Medical Image Segmentation in 3D and 4D NIH grant R01 EB004640

pettumorsegmentation's People

Contributors

che85 avatar chribaue avatar fedorov avatar jcfr avatar pieper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pettumorsegmentation's Issues

Tool does not work right in LongitudinalPETCT

When this effect is used in the embedded EditorWidget of LongitudinalPETCT the undo/redo functionality is not working correctly.

One issue that the code accesses the Editor module widget which may not exist if the Editor module has not been entered, and in any case the variable would not be associated with the buttons in the embedded widget.

Since the effect tool is passed in the Editor's instance of the UndoRedo class it should be possible to implement the save and restore state functionality without accessing the widget.

can i use this code to segment knee cartilage?

Recently I read many Prof. Milan Sonka's papers and I am really interested in LOGISMOS.
But I did not find the source of LOGISMOS.
I wonder if I can reproduce LOGISMOS according to this code
My English is not very good, please forgive me if I speak stiffly

Fix narrowing warnings

Building against Slicer r24904 on Ubuntu 15.10 using g++ 5.2.1 returns the following

/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx: In member function ‘itk::Image<short int, 3u>::Pointer vtkSlicerPETTumorSegmentationLogic::ConvertLabelImageToITK(vtkMRMLPETTumorSegmentationParametersNode*, vtkImageData*)’:
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:189:119: warning: narrowing conversion of ‘-(* vtkLabelVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin())’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
   float origin2[3] = {-vtkLabelVolume->GetOrigin()[0], -vtkLabelVolume->GetOrigin()[1], vtkLabelVolume->GetOrigin()[2]};
                                                                                                                       ^
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:189:119: warning: narrowing conversion of ‘-(*(vtkLabelVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin() + 8u))’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:189:118: warning: narrowing conversion of ‘*(vtkLabelVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin() + 16u)’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
   float origin2[3] = {-vtkLabelVolume->GetOrigin()[0], -vtkLabelVolume->GetOrigin()[1], vtkLabelVolume->GetOrigin()[2]};
                                                                                                                      ^
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx: In member function ‘itk::Image<float, 3u>::Pointer vtkSlicerPETTumorSegmentationLogic::GetPETVolume(vtkMRMLPETTumorSegmentationParametersNode*)’:
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1765:113: warning: narrowing conversion of ‘-(* vtkPetVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin())’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
   float origin2[3] = {-vtkPetVolume->GetOrigin()[0], -vtkPetVolume->GetOrigin()[1], vtkPetVolume->GetOrigin()[2]};
                                                                                                                 ^
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1765:113: warning: narrowing conversion of ‘-(*(vtkPetVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin() + 8u))’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1765:112: warning: narrowing conversion of ‘*(vtkPetVolume->vtkMRMLScalarVolumeNode::<anonymous>.vtkMRMLVolumeNode::GetOrigin() + 16u)’ from ‘double’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
   float origin2[3] = {-vtkPetVolume->GetOrigin()[0], -vtkPetVolume->GetOrigin()[1], vtkPetVolume->GetOrigin()[2]};
                                                                                                                ^
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx: In instantiation of ‘typename ITKImageType::Pointer vtkSlicerPETTumorSegmentationLogic::convert2ITK(vtkSmartPointer<vtkImageData>) [with ITKImageType = itk::Image<short int, 3u>; typename ITKImageType::Pointer = itk::SmartPointer<itk::Image<short int, 3u> >]’:
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:187:85:   required from here
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘-(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<short int, 3u> >()->itk::Image<short int, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(0)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
   float origin[3] = {-itkVolume->GetOrigin()[0], -itkVolume->GetOrigin()[1], itkVolume->GetOrigin()[2]};
                                                                                                       ^
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘-(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<short int, 3u> >()->itk::Image<short int, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(1)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘(itk::FixedArray<double, 3u>::ValueType)(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<short int, 3u> >()->itk::Image<short int, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(2)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx: In instantiation of ‘typename ITKImageType::Pointer vtkSlicerPETTumorSegmentationLogic::convert2ITK(vtkSmartPointer<vtkImageData>) [with ITKImageType = itk::Image<float, 3u>; typename ITKImageType::Pointer = itk::SmartPointer<itk::Image<float, 3u> >]’:
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1763:74:   required from here
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘-(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<float, 3u> >()->itk::Image<float, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(0)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘-(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<float, 3u> >()->itk::Image<float, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(1)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]
/home/jcfr/Projects/PETTumorSegmentation/PETTumorSegmentation/Logic/vtkSlicerPETTumorSegmentationLogic.cxx:1583:103: warning: narrowing conversion of ‘(itk::FixedArray<double, 3u>::ValueType)(&(& itkVolume.itk::SmartPointer<TObjectType>::operator-><itk::Image<float, 3u> >()->itk::Image<float, 3u>::<anonymous>)->itk::ImageBase<VImageDimension>::GetOrigin<3u>())->itk::Point<double, 3u>::<anonymous>.itk::FixedArray<TValue, VLength>::operator[]<double, 3u>(2)’ from ‘itk::FixedArray<double, 3u>::ValueType {aka double}’ to ‘float’ inside { } is ill-formed in C++11 [-Wnarrowing]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.