Revision 745bee4ed1580dc96789a7b7e7607bb38c0e6bc8 authored by Konrad Werys on 16 August 2019, 10:11:41 UTC, committed by Konrad Werys on 16 August 2019, 10:11:41 UTC
1 parent c96fbf0
OxImageCalculatorT1.h
/*!
* \file OxImageCalculator.h
* \author Konrad Werys
* \date 2018/08/07
*/
#ifndef Tomato_OXIMAGECALCULATORT1_H
#define Tomato_OXIMAGECALCULATORT1_H
#include "CmakeConfigForTomato.h"
#ifndef CXX_STANDARD_98
#include <thread>
#endif
#include "OxCalculatorT1.h"
namespace Ox {
template<typename MeasureType>
class ImageCalculatorT1 {
public:
ImageCalculatorT1();
virtual ~ImageCalculatorT1(){};
void setUseThreads(bool _useThreads);
void setNCols(int _nCols);
void setNRows(int _nRows);
void setNSamples(int _nSamples);
void setInvTimes(MeasureType *_invTimes);
void setImageMag(MeasureType *_imageMag);
void setImagePha(MeasureType *_imagePha);
void setImageResults(MeasureType *_imageResults);
void setCalculatorT1(CalculatorT1<MeasureType> *_calculatorT1);
MeasureType *getImageResults() const;
virtual int calculate();
virtual int calculateOneThread(int posStart, int posStop);
protected:
bool _useThreads;
int _nCols;
int _nRows;
int _nSamples;
MeasureType* _invTimes; // nSamples
MeasureType* _imageMag; // nCols * nRows * nSamples, address [iCol][iRow][iSam] iSample * (nCols*nRows) + iRow * nCols + iCol
MeasureType* _imagePha; // nCols * nRows * nSamples, address [iCol][iRow][iSam] iSample * (nCols*nRows) + iRow * nCols + iCol
MeasureType* _imageResults; // nCols * nRows * nDims, address [iCol][iRow][iDim] iDim * (nCols*nRows) + iRow * nCols + iCol
MeasureType phaseRange;
CalculatorT1<MeasureType> *_calculatorT1;
};
} // namespace Ox
#ifdef TomatoLib_EXPORTS
#include "OxImageCalculatorT1.hxx"
#endif //TomatoLib_EXPORTS
#endif //Tomato_OXIMAGECALCULATORT1_H
Computing file changes ...