RISA
risa::Receiver Class Reference

This class controls the ReceiverModule objects. More...

#include <Receiver.h>

Collaboration diagram for risa::Receiver:

Public Types

using manager_type = glados::cuda::HostMemoryManager< unsigned short, glados::cuda::async_copy_policy >
 

Public Member Functions

 Receiver (const std::string &address, const std::string &configPath)
 
auto loadImage () -> glados::Image< manager_type >
 loadImage is called, when the software pipeline is able to process a new image More...
 
auto run () -> void
 

Private Member Functions

auto readConfig (const std::string &configFile) -> bool
 

Private Attributes

std::vector< ReceiverModulemodules_
 
std::map< unsigned int, std::vector< unsigned short > > buffers_
 one input buffer for each detector module More...
 
std::vector< std::thread > moduleThreads_
 stores the ReceiverModule threads More...
 
OnlineReceiverNotification notification_
 performs the synchronization between the Receiver and the ReceiverModules, to know when a complete sinogramm is ready More...
 
std::array< std::atomic< int >, 27 > lastEntry_
 stores the last indices of the received sinogramms More...
 
int numberOfDetectorModules_
 the number of detector modules More...
 
int numberOfDetectors_
 the number of detectors in the fan beam sinogram More...
 
int numberOfProjections_
 the number of projections in the fan beam sinogram More...
 
unsigned int memoryPoolIndex_
 
unsigned int bufferSize_
 

Detailed Description

This class controls the ReceiverModule objects.

It gets notified, when a new sinogram arrived. If all ReceiverModules notified this class, it pushes the complete sinogram through the software pipeline. (If the pipeline is reader, otherwise it skips sinogramms).

Definition at line 48 of file Receiver.h.

Member Typedef Documentation

Constructor & Destructor Documentation

risa::Receiver::Receiver ( const std::string &  address,
const std::string &  configPath 
)

Definition at line 34 of file Receiver.cpp.

Member Function Documentation

auto risa::Receiver::loadImage ( ) -> glados::Image<manager_type>

loadImage is called, when the software pipeline is able to process a new image

Returns
the image that is pushed through the software pipeline

Definition at line 69 of file Receiver.cpp.

auto risa::Receiver::readConfig ( const std::string &  configFile) -> bool
private

Definition at line 89 of file Receiver.cpp.

auto risa::Receiver::run ( ) -> void

Definition at line 65 of file Receiver.cpp.

Member Data Documentation

std::map<unsigned int, std::vector<unsigned short> > risa::Receiver::buffers_
private

one input buffer for each detector module

Definition at line 66 of file Receiver.h.

unsigned int risa::Receiver::bufferSize_
private

Definition at line 80 of file Receiver.h.

std::array<std::atomic<int>, 27> risa::Receiver::lastEntry_
private

stores the last indices of the received sinogramms

Definition at line 72 of file Receiver.h.

unsigned int risa::Receiver::memoryPoolIndex_
private

Definition at line 78 of file Receiver.h.

std::vector<ReceiverModule> risa::Receiver::modules_
private

Definition at line 64 of file Receiver.h.

std::vector<std::thread> risa::Receiver::moduleThreads_
private

stores the ReceiverModule threads

Definition at line 68 of file Receiver.h.

OnlineReceiverNotification risa::Receiver::notification_
private

performs the synchronization between the Receiver and the ReceiverModules, to know when a complete sinogramm is ready

Definition at line 70 of file Receiver.h.

int risa::Receiver::numberOfDetectorModules_
private

the number of detector modules

Definition at line 74 of file Receiver.h.

int risa::Receiver::numberOfDetectors_
private

the number of detectors in the fan beam sinogram

Definition at line 75 of file Receiver.h.

int risa::Receiver::numberOfProjections_
private

the number of projections in the fan beam sinogram

Definition at line 76 of file Receiver.h.


The documentation for this class was generated from the following files: