CARTA Backend
The backend component of CARTA
Loading...
Searching...
No Matches
carta::RegionHistogram Class Reference

#include <RegionHistogram.h>

Collaboration diagram for carta::RegionHistogram:
[legend]

Public Member Functions

 RegionHistogram ()=default
 Default constructor.
 
 RegionHistogram (int region_id, int file_id, const std::vector< CARTA::HistogramConfig > &configs)
 Constructor which sets histogram requirements.
 
void SetConfigurations (int file_id, const std::vector< CARTA::HistogramConfig > &configs)
 Set configurations for histogram calculation.
 
bool GetConfigurations (int file_id, std::vector< HistogramConfig > &configs)
 Get configurations for histogram calculation for file id.
 
std::vector< int > GetConfigFileIds (int file_id)
 Get file ids in configurations which match file id.
 
bool GetRegionHistogramData (int file_id, std::shared_ptr< Frame > frame, const HistogramConfig &config, std::shared_ptr< casacore::LCRegion > lcregion, StokesSource &stokes_source, CARTA::RegionHistogramData &histogram_data_message)
 Add cached or calculated histogram to message.
 
void ClearCache ()
 Clear cache when region changes.
 
void ClearFileConfigsCache (int file_id)
 Clear configurations and cache for frame.
 

Private Member Functions

void FillHistogramDataParams (int file_id, StokesSource &stokes_source, const HistogramConfig &config, CARTA::RegionHistogramData &histogram_data_message)
 Fill message with histogram parameters.
 
int GetNumBins (const HistogramConfig &config, std::shared_ptr< Frame > frame, std::shared_ptr< casacore::LCRegion > lcregion)
 Get number of bins from config and calculate if not supplied.
 
bool AddCachedHistogram (CacheId &cache_id, const HistogramConfig &config, int num_bins, CARTA::RegionHistogramData &histogram_data_message)
 Add Histogram from cache if it exists.
 
void AddDefaultHistogram (CARTA::RegionHistogramData &histogram_data)
 Add default histogram to message.
 

Private Attributes

int _region_id
 Region id for this object, for config and cache ids.
 
std::unordered_map< ConfigId, RegionHistogramConfig, ConfigIdHash_configs
 Histogram configurations stored as vector of HistogramConfig structs.
 
std::unordered_map< CacheId, HistogramCache, CacheIdHash_cache
 Cache to hold calculated histograms.
 

Constructor & Destructor Documentation

◆ RegionHistogram() [1/2]

carta::RegionHistogram::RegionHistogram ( )
default

Default constructor.

◆ RegionHistogram() [2/2]

carta::RegionHistogram::RegionHistogram ( int  region_id,
int  file_id,
const std::vector< CARTA::HistogramConfig > &  configs 
)

Constructor which sets histogram requirements.

Parameters
region_idRegion id for histogram
file_idFile id for image frame
configsHistogram configurations
Here is the call graph for this function:

Member Function Documentation

◆ AddCachedHistogram()

bool carta::RegionHistogram::AddCachedHistogram ( CacheId cache_id,
const HistogramConfig config,
int  num_bins,
CARTA::RegionHistogramData &  histogram_data_message 
)
private

Add Histogram from cache if it exists.

Parameters
[in]cache_idCacheId struct
[in]configHistogram configuration
[in]num_binsNumber of histogram bins
[in,out]histogram_data_messageRegion histogram data message
Returns
Whether cached histogram was added
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddDefaultHistogram()

void carta::RegionHistogram::AddDefaultHistogram ( CARTA::RegionHistogramData &  histogram_data)
private

Add default histogram to message.

Parameters
[in,out]histogram_dataHistogram data message
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearCache()

void carta::RegionHistogram::ClearCache ( )

Clear cache when region changes.

◆ ClearFileConfigsCache()

void carta::RegionHistogram::ClearFileConfigsCache ( int  file_id)

Clear configurations and cache for frame.

Parameters
file_idFile id for image frame

◆ FillHistogramDataParams()

void carta::RegionHistogram::FillHistogramDataParams ( int  file_id,
StokesSource stokes_source,
const HistogramConfig config,
CARTA::RegionHistogramData &  histogram_data_message 
)
private

Fill message with histogram parameters.

Parameters
[in]file_idFile id for image frame
[in]stokes_sourceStruct describing stokes and z range
[in]configHistogram configuration struct
[out]histogram_data_messageRegion histogram data message
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetConfigFileIds()

std::vector< int > carta::RegionHistogram::GetConfigFileIds ( int  file_id)

Get file ids in configurations which match file id.

Parameters
file_idFile id for image frame
Returns
File ids

◆ GetConfigurations()

bool carta::RegionHistogram::GetConfigurations ( int  file_id,
std::vector< HistogramConfig > &  configs 
)

Get configurations for histogram calculation for file id.

Parameters
[in]file_idFile id for image frame
[out]configsHistogram configuration structs
Returns
Whether configs exist for file id

◆ GetNumBins()

int carta::RegionHistogram::GetNumBins ( const HistogramConfig config,
std::shared_ptr< Frame frame,
std::shared_ptr< casacore::LCRegion >  lcregion 
)
private

Get number of bins from config and calculate if not supplied.

Parameters
configHistogram configuration struct
frameImage frame
lcregionRegion applied to image
Returns
number of bins
Here is the caller graph for this function:

◆ GetRegionHistogramData()

bool carta::RegionHistogram::GetRegionHistogramData ( int  file_id,
std::shared_ptr< Frame frame,
const HistogramConfig config,
std::shared_ptr< casacore::LCRegion >  lcregion,
StokesSource stokes_source,
CARTA::RegionHistogramData &  histogram_data_message 
)

Add cached or calculated histogram to message.

Parameters
[in]file_idFile id for image frame
[in]frameImage frame
[in]configHistogram configuration struct
[in]lcregionRegion applied to image
[in]stokes_sourceStruct describing stokes and z range
[out]histogram_data_messageRegion histogram data message
Returns
Whether histogram was added
Here is the call graph for this function:

◆ SetConfigurations()

void carta::RegionHistogram::SetConfigurations ( int  file_id,
const std::vector< CARTA::HistogramConfig > &  configs 
)

Set configurations for histogram calculation.

Parameters
file_idFile id for image frame
configsHistogram configuration structs
Here is the caller graph for this function:

Member Data Documentation

◆ _cache

std::unordered_map<CacheId, HistogramCache, CacheIdHash> carta::RegionHistogram::_cache
private

Cache to hold calculated histograms.

◆ _configs

std::unordered_map<ConfigId, RegionHistogramConfig, ConfigIdHash> carta::RegionHistogram::_configs
private

Histogram configurations stored as vector of HistogramConfig structs.

◆ _region_id

int carta::RegionHistogram::_region_id
private

Region id for this object, for config and cache ids.


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