Revision a763b81ee81810f5fa544165d5053bde478b2dbd authored by Konrad Werys on 28 November 2019, 13:47:50 UTC, committed by Konrad Werys on 28 November 2019, 13:47:50 UTC
1 parent e3f0532
OxTestItkImagesFactory.h
/*!
* \file itkOxTestItkImagesFactory.h
* \author Konrad Werys
* \date 2018/07/30
*/
#ifndef Tomato_itkOxTestItkImagesFactory_H
#define Tomato_itkOxTestItkImagesFactory_H
#include "CmakeConfigForTomato.h"
#ifdef USE_ITK
#include "itkImage.h"
#include "itkImageRegionIteratorWithIndex.h"
#include "OxTestImage.h"
namespace Ox {
template< typename MeasureType >
class TestItkImagesFactory {
public:
typedef itk::Image< MeasureType, 3 > TImageIn;
typedef itk::Image< MeasureType, 2 > TImageOut;
TestItkImagesFactory(int nRows, int nCols, std::vector <std::string> filesPaths, std::vector<int> invTimesOrder);
TestItkImagesFactory(int nRows, int nCols, std::vector <std::string> filesPaths);
virtual ~TestItkImagesFactory();
virtual int getNSamples() const;
virtual MeasureType *getInvTimesPtr() ;
virtual std::vector<MeasureType> getInvTimes() const;
virtual vnl_vector<MeasureType> getInvTimesVnl() const;
virtual typename itk::Image< MeasureType, 3 >::Pointer generateImageMag();
virtual typename itk::Image< MeasureType, 3 >::Pointer generateImagePha();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsMolliA();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsMolliB();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsMolliT1star();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsShmolliA();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsShmolliB();
virtual typename itk::Image< MeasureType, 2 >::Pointer generateImageResultsShmolliT1star();
protected:
TestImage<MeasureType>* _testImage;
typename itk::Image< MeasureType, 2 >::Pointer generateImage2d();
typename itk::Image< MeasureType, 3 >::Pointer generateImage3d();
void copyBufferToImage2d(typename itk::Image< MeasureType, 2 >::Pointer image, MeasureType* buffer);
void copyBufferToImage3d(typename itk::Image< MeasureType, 3 >::Pointer image, MeasureType* buffer);
};
} // namespace Ox
#include "OxTestItkImagesFactory.hxx"
#endif //USE_ITK
#endif //Tomato_itkOxTestItkImagesFactory_H
Computing file changes ...