diff --git a/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.cpp b/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.cpp deleted file mode 100644 index d5e9be0f60..0000000000 --- a/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.cpp +++ /dev/null @@ -1,162 +0,0 @@ - -#ifndef __mitkTractAnalyzer_cpp -#define __mitkTractAnalyzer_cpp - - - -#include -#include - -#include - - -#include -#include - -#include -#include - - -using namespace std; - -namespace mitk { - - TractAnalyzer::TractAnalyzer() - { - - } - - - void TractAnalyzer::BuildGraph(itk::Index<3> startPoint, itk::Index<3> endPoint) - { - - typedef itk::ShortestPathImageFilter ShortestPathFilterType; - typedef itk::ShortestPathCostFunctionTbss CostFunctionType; - - - FloatImageType::Pointer meanSkeleton; - - mitk::CastToItkImage(m_InputImage, meanSkeleton); - - // Only use the mitk image - - - - if(meanSkeleton) - { - CostFunctionType::Pointer costFunction = CostFunctionType::New(); - costFunction->SetImage(meanSkeleton); - costFunction->SetStartIndex(startPoint); - costFunction->SetEndIndex(endPoint); - costFunction->SetThreshold(m_Threshold); - - ShortestPathFilterType::Pointer pathFinder = ShortestPathFilterType::New(); - pathFinder->SetCostFunction(costFunction); - pathFinder->SetFullNeighborsMode(true); - //pathFinder->SetCalcMode(ShortestPathFilterType::A_STAR); - pathFinder->SetInput(meanSkeleton); - pathFinder->SetStartIndex(startPoint); - pathFinder->SetEndIndex(endPoint); - pathFinder->Update(); - - m_Path = pathFinder->GetVectorPath(); - - - m_RoiImg = pathFinder->GetOutput(); - } - - - - } - - void TractAnalyzer::MeasureRoi() - { - - // Output two types - ProjectionsImageType::SizeType size = m_Projections->GetLargestPossibleRegion().GetSize(); - - std::ofstream file(m_FileName.c_str()); - - std::vector individuals; - for(int i=0; i group = m_Groups[i]; - for(int j=0; j ix = m_Roi[k]; - itk::Index<4> ix4; - ix4[0] = ix[0]; - ix4[1] = ix[1]; - ix4[2] = ix[2]; - ix4[3] = j; - - float f = m_Projections->GetPixel(ix4); - - file << f << " "; - - } - - file << "\n"; - - } - - file.close(); - - - - // Write the long format output - std::ofstream fileLong(m_FileNameLong.c_str()); - - fileLong << "ID " << "group " << "position " << "value\n"; - - for(int i=0; i ix = m_Roi[i]; - itk::Index<4> ix4; - ix4[0] = ix[0]; - ix4[1] = ix[1]; - ix4[2] = ix[2]; - ix4[3] = j; - - float f = m_Projections->GetPixel(ix4); - - fileLong << "ID" << j << " " << individuals[j] << " " << "pos" << i << " "<< f << "\n"; - } - } - - fileLong.close(); - - - } - - - -} -#endif diff --git a/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.h b/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.h deleted file mode 100644 index 6fbc00d524..0000000000 --- a/Modules/DiffusionImaging/Algorithms/mitkTractAnalyzer.h +++ /dev/null @@ -1,144 +0,0 @@ -/*========================================================================= - - Program: Insight Segmentation & Registration Toolkit - Module: $RCSfile: itkDiffusionTensor3DReconstructionImageFilter.h,v $ - Language: C++ - Date: $Date: 2006-03-27 17:01:06 $ - Version: $Revision: 1.12 $ - - Copyright (c) Insight Software Consortium. All rights reserved. - See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ -#ifndef __mitkTractAnalyzer_h_ -#define __mitkTractAnalyzer_h_ - -#include "MitkDiffusionImagingMBIExports.h" -#include -#include - - -namespace mitk{ -/** \class TractAnalyzer - */ - - -class MitkDiffusionImagingMBI_EXPORT TractAnalyzer -{ - -public: - - - TractAnalyzer(); - ~TractAnalyzer() {}; - - typedef itk::Image CharImageType; - typedef itk::Image FloatImageType; - typedef itk::Image ProjectionsImageType; - typedef itk::VectorImage VectorImageType; - - - - /* - void SetSkeleton(CharImageType::Pointer skeleton) - { - m_Skeleton = skeleton; - } - - void SetMeanSkeleton(FloatImageType::Pointer i) - { - m_MeanSkeleton = i; - }*/ - - - void SetTbssImage(mitk::TbssImage::Pointer tbssImg) - { - m_TbssImage = tbssImg; - } - - void SetProjections(ProjectionsImageType::Pointer projections) - { - m_Projections = projections; - } - - void BuildGraph(itk::Index<3> startPoint, itk::Index<3> endPoint); - - std::vector< itk::Index<3> > GetPath() - { - return m_Path; - } - - void SetFileName(std::string fname) - { - m_FileName = fname; - } - - void SetFileNameLong(std::string fname) - { - m_FileNameLong = fname; - } - - void SetRoi(std::vector< itk::Index<3> > roi) - { - m_Roi = roi; - } - - CharImageType::Pointer GetRoiImage() - { - return m_RoiImg; - } - - void SetGroups(std::vector< std::pair > groups) - { - m_Groups = groups; - } - - void MeasureRoi(); - - void SetInputImage(mitk::Image::Pointer inputImage) - { - m_InputImage = inputImage; - } - - - void SetThreshold(double threshold) - { - m_Threshold = threshold; - } - - -protected: - - - //CharImageType::Pointer m_Skeleton; - CharImageType::Pointer m_RoiImg; - ProjectionsImageType::Pointer m_Projections; - //FloatImageType::Pointer m_MeanSkeleton; - mitk::TbssImage::Pointer m_TbssImage; - - mitk::Image::Pointer m_InputImage; - - double m_Threshold; - - std::vector< itk::Index<3> > m_Path; - - std::string m_FileName; - - std::string m_FileNameLong; // For the regression analysis 'friendly' file - - std::vector< std::pair > m_Groups; - - std::vector< itk::Index<3> > m_Roi; - -private: - -}; - -} - -#endif //__itkTractAnalyzer_h_ - diff --git a/Modules/DiffusionImaging/files.cmake b/Modules/DiffusionImaging/files.cmake index 59e8147d6b..961349c228 100644 --- a/Modules/DiffusionImaging/files.cmake +++ b/Modules/DiffusionImaging/files.cmake @@ -1,177 +1,180 @@ SET(CPP_FILES # DicomImport DicomImport/mitkDicomDiffusionImageReader.cpp DicomImport/mitkGroupDiffusionHeadersFilter.cpp DicomImport/mitkDicomDiffusionImageHeaderReader.cpp DicomImport/mitkGEDicomDiffusionImageHeaderReader.cpp DicomImport/mitkPhilipsDicomDiffusionImageHeaderReader.cpp DicomImport/mitkSiemensDicomDiffusionImageHeaderReader.cpp DicomImport/mitkSiemensMosaicDicomDiffusionImageHeaderReader.cpp # DataStructures IODataStructures/mitkDiffusionImagingObjectFactory.cpp # DataStructures -> DWI IODataStructures/DiffusionWeightedImages/mitkDiffusionImageHeaderInformation.cpp IODataStructures/DiffusionWeightedImages/mitkDiffusionImageSource.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageReader.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageWriter.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageIOFactory.cpp IODataStructures/DiffusionWeightedImages/mitkNrrdDiffusionImageWriterFactory.cpp IODataStructures/DiffusionWeightedImages/mitkDiffusionImageSerializer.cpp # DataStructures -> QBall IODataStructures/QBallImages/mitkQBallImageSource.cpp IODataStructures/QBallImages/mitkNrrdQBallImageReader.cpp IODataStructures/QBallImages/mitkNrrdQBallImageWriter.cpp IODataStructures/QBallImages/mitkNrrdQBallImageIOFactory.cpp IODataStructures/QBallImages/mitkNrrdQBallImageWriterFactory.cpp IODataStructures/QBallImages/mitkQBallImage.cpp IODataStructures/QBallImages/mitkQBallImageSerializer.cpp # DataStructures -> Tensor IODataStructures/TensorImages/mitkTensorImageSource.cpp IODataStructures/TensorImages/mitkNrrdTensorImageReader.cpp IODataStructures/TensorImages/mitkNrrdTensorImageWriter.cpp IODataStructures/TensorImages/mitkNrrdTensorImageIOFactory.cpp IODataStructures/TensorImages/mitkNrrdTensorImageWriterFactory.cpp IODataStructures/TensorImages/mitkTensorImage.cpp IODataStructures/TensorImages/mitkTensorImageSerializer.cpp # DataStructures -> FiberBundle IODataStructures/FiberBundle/mitkFiberBundle.cpp IODataStructures/FiberBundle/mitkFiberBundleWriter.cpp IODataStructures/FiberBundle/mitkFiberBundleReader.cpp IODataStructures/FiberBundle/mitkFiberBundleIOFactory.cpp IODataStructures/FiberBundle/mitkFiberBundleWriterFactory.cpp IODataStructures/FiberBundle/mitkFiberBundleSerializer.cpp IODataStructures/FiberBundle/mitkParticle.cpp IODataStructures/FiberBundle/mitkParticleGrid.cpp # DataStructures -> FiberBundleX IODataStructures/FiberBundleX/mitkFiberBundleX.cpp IODataStructures/FiberBundleX/mitkFiberBundleXWriter.cpp IODataStructures/FiberBundleX/mitkFiberBundleXReader.cpp IODataStructures/FiberBundleX/mitkFiberBundleXIOFactory.cpp IODataStructures/FiberBundleX/mitkFiberBundleXWriterFactory.cpp IODataStructures/FiberBundleX/mitkFiberBundleXSerializer.cpp IODataStructures/FiberBundleX/mitkFiberBundleXThreadMonitor.cpp # DataStructures -> PlanarFigureComposite IODataStructures/PlanarFigureComposite/mitkPlanarFigureComposite.cpp # DataStructures -> Tbss IODataStructures/TbssImages/mitkTbssImageSource.cpp IODataStructures/TbssImages/mitkTbssRoiImageSource.cpp IODataStructures/TbssImages/mitkNrrdTbssImageReader.cpp IODataStructures/TbssImages/mitkNrrdTbssImageIOFactory.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageReader.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageIOFactory.cpp IODataStructures/TbssImages/mitkTbssImage.cpp IODataStructures/TbssImages/mitkTbssRoiImage.cpp IODataStructures/TbssImages/mitkNrrdTbssImageWriter.cpp IODataStructures/TbssImages/mitkNrrdTbssImageWriterFactory.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageWriter.cpp IODataStructures/TbssImages/mitkNrrdTbssRoiImageWriterFactory.cpp IODataStructures/TbssImages/mitkTbssImporter.cpp # Rendering Rendering/vtkMaskedProgrammableGlyphFilter.cpp Rendering/mitkCompositeMapper.cpp Rendering/mitkVectorImageVtkGlyphMapper3D.cpp Rendering/vtkOdfSource.cxx Rendering/vtkThickPlane.cxx Rendering/mitkOdfNormalizationMethodProperty.cpp Rendering/mitkOdfScaleByProperty.cpp Rendering/mitkFiberBundleMapper2D.cpp Rendering/mitkFiberBundleMapper3D.cpp Rendering/mitkFiberBundleXMapper2D.cpp Rendering/mitkFiberBundleXMapper3D.cpp Rendering/mitkFiberBundleXThreadMonitorMapper3D.cpp Rendering/mitkTbssImageMapper.cpp Rendering/mitkPlanarCircleMapper3D.cpp Rendering/mitkPlanarPolygonMapper3D.cpp # Interactions Interactions/mitkFiberBundleInteractor.cpp # Algorithms Algorithms/mitkPartialVolumeAnalysisHistogramCalculator.cpp Algorithms/mitkPartialVolumeAnalysisClusteringCalculator.cpp # Tractography Tractography/itkStochasticTractographyFilter.h ) SET(H_FILES # Rendering Rendering/mitkDiffusionImageMapper.h Rendering/mitkTbssImageMapper.h Rendering/mitkOdfVtkMapper2D.h Rendering/mitkFiberBundleMapper2D.h Rendering/mitkFiberBundleMapper3D.h Rendering/mitkFiberBundleXMapper3D.h Rendering/mitkFiberBundleXMapper2D.h Rendering/mitkFiberBundleXThreadMonitorMapper3D.h Rendering/mitkPlanarCircleMapper3D.h Rendering/mitkPlanarPolygonMapper3D.h # Reconstruction Reconstruction/itkDiffusionQballReconstructionImageFilter.h Reconstruction/mitkTeemDiffusionTensor3DReconstructionImageFilter.h Reconstruction/itkAnalyticalDiffusionQballReconstructionImageFilter.h Reconstruction/itkPointShell.h Reconstruction/itkOrientationDistributionFunction.h Reconstruction/itkDiffusionIntravoxelIncoherentMotionReconstructionImageFilter.h Reconstruction/itkRegularizedIVIMLocalVariationImageFilter.h Reconstruction/itkRegularizedIVIMReconstructionFilter.h Reconstruction/itkRegularizedIVIMReconstructionSingleIteration.h # IO Datastructures IODataStructures/DiffusionWeightedImages/mitkDiffusionImage.h IODataStructures/FiberBundle/itkSlowPolyLineParametricPath.h # DataStructures -> FiberBundleX IODataStructures/FiberBundleX/mitkFiberBundleX.h IODataStructures/FiberBundleX/mitkFiberBundleXWriter.h IODataStructures/FiberBundleX/mitkFiberBundleXReader.h IODataStructures/FiberBundleX/mitkFiberBundleXIOFactory.h IODataStructures/FiberBundleX/mitkFiberBundleXWriterFactory.h IODataStructures/FiberBundleX/mitkFiberBundleXSerializer.h IODataStructures/FiberBundleX/mitkFiberBundleXThreadMonitor.h # Tractography Tractography/itkGibbsTrackingFilter.h Tractography/itkStochasticTractographyFilter.h # Algorithms Algorithms/itkDiffusionQballGeneralizedFaImageFilter.h Algorithms/itkDiffusionQballPrepareVisualizationImageFilter.h Algorithms/itkTensorDerivedMeasurementsFilter.h Algorithms/itkBrainMaskExtractionImageFilter.h Algorithms/itkB0ImageExtractionImageFilter.h Algorithms/itkTensorImageToDiffusionImageFilter.h Algorithms/itkTensorToL2NormImageFilter.h Algorithms/itkTractsToProbabilityImageFilter.h Algorithms/itkTractsToFiberEndingsImageFilter.h Algorithms/itkGaussianInterpolateImageFunction.h Algorithms/mitkPartialVolumeAnalysisHistogramCalculator.h Algorithms/mitkPartialVolumeAnalysisClusteringCalculator.h Algorithms/itkDiffusionTensorPrincipleDirectionImageFilter.h Algorithms/itkCartesianToPolarVectorImageFilter.h Algorithms/itkPolarToCartesianVectorImageFilter.h + Algorithms/itkDistanceMapFilter.h + Algorithms/itkProjectionFilter.h + Algorithms/itkSkeletonizationFilter.h ) SET( TOOL_FILES ) IF(WIN32) ENDIF(WIN32) #MITK_MULTIPLEX_PICTYPE( Algorithms/mitkImageRegistrationMethod-TYPE.cpp )