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, StokesRegion &stokes_region, 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, casacore::ImageRegion &image_region)
 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,
casacore::ImageRegion &  image_region 
)
private

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

Parameters
configHistogram configuration struct
frameImage frame
image_regionRegion 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,
StokesRegion stokes_region,
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]stokes_regionStruct describing region, 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: