Revision b3e985673faa705f581ab7a13f14c774575ff5c7 authored by Konrad Werys on 28 November 2019, 11:23:12 UTC, committed by Konrad Werys on 28 November 2019, 11:23:12 UTC
1 parent 0c0d192
OxOriginalShmolliDicomReader.h
/*!
* \file OxOriginalShmolliDicomReader.h
* \author Konrad Werys
* \date 2018/08/24
*/
#ifndef Tomato_OxOriginalShmolliDicomReader_H
#define Tomato_OxOriginalShmolliDicomReader_H
#include "CmakeConfigForTomato.h"
#include "tomatolib_export.h"
#ifdef USE_ITK
#include "itkReadFileListFilter.h"
#include "itkSortInvTimesImageFilter.h"
#include "itkExtractImageFilter.h"
namespace Ox {
/**
* \class OxOriginalShmolliDicomReader
* includes factories and methods needed for calculation
*/
template< typename MeasureType >
class OriginalShmolliDicomReader {
public:
// typedefs primitive data types
typedef MeasureType InputPixelType;
typedef MeasureType OutputPixelType;
// typedefs image data types
typedef itk::Image<InputPixelType, 3> Image3dType;
typedef itk::Image<OutputPixelType, 2> Image2dType;
typedef itk::ReadFileListFilter<Image3dType> ReadFileListFilterType;
typedef itk::SortInvTimesImageFilter<Image3dType, Image3dType> SortInvTimesImageFilterType;
// member variables
InputPixelType *_invTimes;
InputPixelType *_echoTimes;
int _nSamples;
typename Image3dType::Pointer _imageMag;
typename Image3dType::Pointer _imagePha;
typename Image2dType::Pointer _imageT1grey;
typename Image2dType::Pointer _imageT1color;
typename Image2dType::Pointer _imageR2;
typename Image2dType::Pointer _imageA;
typename Image2dType::Pointer _imageB;
typename Image2dType::Pointer _imageT1star;
typename Image2dType::Pointer _imageNShmolliSamplesUsed;
typename Image2dType::Pointer _imageChiSqrt;
typename Image2dType::Pointer _imageSnr;
std::vector<std::string> _filesMag;
std::vector<std::string> _filesPha;
std::vector<std::string> _filesT1;
std::vector<std::string> _filesFitparams;
/**
* readAndSort
* @return success/failure
*/
int readAndSort();
int copyFromImage(MeasureType* array, const typename Image3dType::Pointer image, const typename Image3dType::IndexType index);
/**
* constructor
* @param inputFileNam
*/
OriginalShmolliDicomReader(){
_invTimes = 0;
_echoTimes = 0;
_nSamples = 0;
_imageMag = 0;
_imagePha = 0;
_imageT1grey = 0;
_imageT1color = 0;
_imageA = 0;
_imageB = 0;
_imageT1star = 0;
_imageNShmolliSamplesUsed = 0;
_imageChiSqrt = 0;
_imageSnr = 0;
};
/**
* \brief do not forget about the virtual destructor, see
* https://stackoverflow.com/questions/461203/when-to-use-virtual-destructors
*/
virtual ~OriginalShmolliDicomReader(){
delete [] _invTimes;
};
};
} // namespace Ox
#ifndef TOMATOLIB_COMPILED
#include "OxOriginalShmolliDicomReader.hxx"
#endif //TOMATOLIB_COMPILED
#endif
#endif //Tomato_OxOriginalShmolliDicomReader_H
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...