12#ifndef mitkThreadedToFRawDataReconstruction_h
13#define mitkThreadedToFRawDataReconstruction_h
16#include "mitkImageSource.h"
17#include <MitkPMDExports.h>
20#include <itkBarrier.h>
21#include <itkFastMutexLock.h>
24#include "vtkShortArray.h"
50 void SetChannelData(vtkShortArray* sourceData);
52 void Initialize(
int width,
int height,
int modulationFrequency,
int sourceDataSize );
54 void GetDistances(
float* dist);
55 void GetAmplitudes(
float* ampl);
56 void GetIntensities(
float* inten);
57 void GetAllData(
float* dist,
float* ampl,
float* inten);
75 virtual void GenerateData();
81 virtual void BeforeThreadedGenerateData();
86 static ITK_THREAD_RETURN_TYPE ThreadedGenerateDataCallbackFunction(
void* data);
ThreadDataStruct * m_ThreadData
vtkShortArray * m_SourceData
float * m_ThreadedCISAmpl
mitkClassMacroItkParent(ThreadedToFRawDataReconstruction, itk::ProcessObject)
float * m_ThreadedCISInten
itk::MultiThreader::Pointer m_Threader
float * m_CISInten
holds the intensity information from for one intensity image slice
void ResizeOutputImage(float *in, float *out)
Method to reduce image size from original controller size to output size (200x200px) and rotate the i...
float * m_ThreadedCISDist
itkFactorylessNewMacro(Self)
float * m_CISDist
holds the distance information from for one distance image slice
float * m_CISAmpl
holds the amplitude information from for one amplitude image slice
itk::FastMutexLock::Pointer m_ImageDataMutex
mutex for coordinated access to image data
unsigned int m_ModulationFrequency
std::vector< float * > m_OutputData
std::vector< std::vector< short > > m_InputData
itk::FastMutexLock::Pointer m_ThreadDataMutex
mutex to control access to images
itk::Barrier::Pointer m_Barrier
barrier to synchronize ends of threads
unsigned int m_FrameHeight