iRoCS Toolbox  1.1.0
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Slots | Protected Attributes
RGBChannelSpecs Class Reference

#include <RGBChannelSpecs.hh>

Inheritance diagram for RGBChannelSpecs:
Collaboration diagram for RGBChannelSpecs:

Public Types

enum  ChannelType {
  Data = 0x0001, Visualization = 0x0002, RGB = 0x0004, Annotation = 0x0008,
  SplineCurve = 0x0010, IRoCS = 0x0020, IRoCSSCT = 0x0040
}
 

Public Slots

void revalidate ()
 Reset the channel shape, element size, transformation and bounding box from the underlying data. More...
 
void setAlpha (float alpha)
 
void setHasNewData (bool hasNewData)
 
void setIcon (QIcon const &icon)
 
void setName (std::string const &name)
 
void setTransformation (blitz::TinyMatrix< double, 4, 4 > const &transformation)
 
void setUpdatesEnabled (bool enable)
 Enables/Disables cache updates for this channel. More...
 
void setVisible (bool visible)
 
void update ()
 Explicitely trigger a cache update for all associated renderers. More...
 

Signals

void boundingBoxChanged (blitz::TinyVector< double, 3 > const &lowerBoundUm, blitz::TinyVector< double, 3 > const &upperBoundUm)
 
void iconChanged ()
 
void nameChanged ()
 
void transformationChanged ()
 
void viewChanged ()
 This signal is emitted whenever the contents or visualization of the channel are altered and an update of the views is required to reflect these changes. More...
 

Public Member Functions

 RGBChannelSpecs (atb::Array< blitz::TinyVector< float, 3 >, 3 > *data, MultiChannelModel *model=NULL)
 
 ~RGBChannelSpecs ()
 
ChannelSpecsRendereraddRenderer (ViewWidget *view)
 
float alpha () const
 
QWidget * channelControlWidget () const
 
ChannelSpecs::ChannelType channelType () const
 
atb::Array< blitz::TinyVector< float, 3 >, 3 > const * data () const
 
atb::Array< blitz::TinyVector< float, 3 >, 3 > * data ()
 
virtual blitz::TinyVector< double, 3 > const & elementSizeUm () const
 
float gamma () const
 
float gammaLUT (size_t index) const
 
bool hasNewData () const
 
QIcon icon () const
 
virtual blitz::TinyVector< double, 3 > const & lowerBoundUm () const
 
float maxValue () const
 
float minValue () const
 
MultiChannelModelmodel () const
 
std::string name () const
 
bool normalize () const
 
void removeRenderer (ViewWidget *view)
 
ChannelSpecsRendererrenderer (ViewWidget *view) const
 
std::map< ViewWidget *, ChannelSpecsRenderer * > const & renderers () const
 
std::map< ViewWidget *, ChannelSpecsRenderer * > & renderers ()
 
void setGamma (float gamma)
 
void setModel (MultiChannelModel *model)
 
void setNormalize (bool normalize)
 
void setShowExposureProblems (bool exposure)
 
bool showExposureProblems () const
 
std::string stringValueAt (blitz::TinyVector< double, 3 > const &positionUm) const
 
virtual blitz::TinyMatrix< double, 4, 4 > const & transformation () const
 
bool updatesEnabled () const
 Check whether cache updates for this channel are enabled. More...
 
virtual blitz::TinyVector< double, 3 > const & upperBoundUm () const
 
float valueAt (blitz::TinyVector< double, 3 > const &positionUm) const
 
bool visible () const
 

Static Public Member Functions

static RGBChannelSpecsload ()
 

Static Public Attributes

static ChannelTypes const Any
 

Protected Slots

void emitUpdateRequest ()
 This function sets the hasNewData flag for this channel to true, to inform the renderers that this channel has new data and possibly cached values are invalid. More...
 

Protected Attributes

blitz::TinyVector< double, 3 > _elementSizeUm
 
bool _hasNewData
 
blitz::TinyVector< double, 3 > _lowerBoundUm
 
bool _oldVisibilityState
 
blitz::TinyMatrix< double, 4, 4 > _originalTransformation
 
std::map< ViewWidget *, ChannelSpecsRenderer * > _renderers
 
blitz::TinyMatrix< double, 4, 4 > _transformation
 
blitz::TinyVector< double, 3 > _upperBoundUm
 
QFormLayout * p_advancedControlLayout
 
QWidget * p_advancedControlWidget
 
DoubleControlElementp_alphaControl
 
QFormLayout * p_channelControlLayout
 
QWidget * p_channelControlWidget
 
MultiChannelModelp_model
 
QToolButton * p_toggleAdvancedButton
 
Double4x4ControlElementp_transformationControl
 
BoolControlElementp_visibleControl
 

Detailed Description

Definition at line 36 of file RGBChannelSpecs.hh.

Member Enumeration Documentation

◆ ChannelType

enum ChannelSpecs::ChannelType
inherited
Enumerator
Data 
Visualization 
RGB 
Annotation 
SplineCurve 
IRoCS 
IRoCSSCT 

Definition at line 60 of file ChannelSpecs.hh.

Constructor & Destructor Documentation

◆ RGBChannelSpecs()

RGBChannelSpecs::RGBChannelSpecs ( atb::Array< blitz::TinyVector< float, 3 >, 3 > *  data,
MultiChannelModel model = NULL 
)

◆ ~RGBChannelSpecs()

RGBChannelSpecs::~RGBChannelSpecs ( )

Member Function Documentation

◆ channelType()

ChannelSpecs::ChannelType RGBChannelSpecs::channelType ( ) const
virtual

Implements ChannelSpecs.

◆ load()

static RGBChannelSpecs* RGBChannelSpecs::load ( )
static

◆ gamma()

float RGBChannelSpecs::gamma ( ) const

◆ setGamma()

void RGBChannelSpecs::setGamma ( float  gamma)

◆ normalize()

bool RGBChannelSpecs::normalize ( ) const

◆ setNormalize()

void RGBChannelSpecs::setNormalize ( bool  normalize)

◆ minValue()

float RGBChannelSpecs::minValue ( ) const

◆ maxValue()

float RGBChannelSpecs::maxValue ( ) const

◆ gammaLUT()

float RGBChannelSpecs::gammaLUT ( size_t  index) const

◆ showExposureProblems()

bool RGBChannelSpecs::showExposureProblems ( ) const

◆ setShowExposureProblems()

void RGBChannelSpecs::setShowExposureProblems ( bool  exposure)

◆ data() [1/2]

atb::Array<blitz::TinyVector<float,3>,3> const* RGBChannelSpecs::data ( ) const

◆ data() [2/2]

atb::Array<blitz::TinyVector<float,3>,3>* RGBChannelSpecs::data ( )

◆ valueAt()

float RGBChannelSpecs::valueAt ( blitz::TinyVector< double, 3 > const &  positionUm) const
virtual

Implements ChannelSpecs.

◆ stringValueAt()

std::string RGBChannelSpecs::stringValueAt ( blitz::TinyVector< double, 3 > const &  positionUm) const
virtual

Implements ChannelSpecs.

◆ addRenderer()

ChannelSpecsRenderer* RGBChannelSpecs::addRenderer ( ViewWidget view)
virtual

Implements ChannelSpecs.

◆ setTransformation

void RGBChannelSpecs::setTransformation ( blitz::TinyMatrix< double, 4, 4 > const &  transformation)
slot

◆ revalidate

void RGBChannelSpecs::revalidate ( )
slot

Reset the channel shape, element size, transformation and bounding box from the underlying data.

This method must be called whenever the underlying data were programmatically changed using the direct data access methods. If updates are enabled it will also do cache updates.

◆ setModel()

void ChannelSpecs::setModel ( MultiChannelModel model)
inherited

◆ model()

MultiChannelModel* ChannelSpecs::model ( ) const
inherited

◆ name()

std::string ChannelSpecs::name ( ) const
inherited

◆ icon()

QIcon ChannelSpecs::icon ( ) const
inherited

◆ alpha()

float ChannelSpecs::alpha ( ) const
inherited

◆ visible()

bool ChannelSpecs::visible ( ) const
inherited

◆ hasNewData()

bool ChannelSpecs::hasNewData ( ) const
inherited

◆ lowerBoundUm()

virtual blitz::TinyVector<double,3> const& ChannelSpecs::lowerBoundUm ( ) const
virtualinherited

◆ upperBoundUm()

virtual blitz::TinyVector<double,3> const& ChannelSpecs::upperBoundUm ( ) const
virtualinherited

◆ elementSizeUm()

virtual blitz::TinyVector<double,3> const& ChannelSpecs::elementSizeUm ( ) const
virtualinherited

◆ transformation()

virtual blitz::TinyMatrix<double,4,4> const& ChannelSpecs::transformation ( ) const
virtualinherited

◆ channelControlWidget()

QWidget* ChannelSpecs::channelControlWidget ( ) const
inherited

◆ removeRenderer()

void ChannelSpecs::removeRenderer ( ViewWidget view)
inherited

◆ renderer()

ChannelSpecsRenderer* ChannelSpecs::renderer ( ViewWidget view) const
inherited

◆ renderers() [1/2]

std::map<ViewWidget*,ChannelSpecsRenderer*> const& ChannelSpecs::renderers ( ) const
inherited

◆ renderers() [2/2]

std::map<ViewWidget*,ChannelSpecsRenderer*>& ChannelSpecs::renderers ( )
inherited

◆ updatesEnabled()

bool ChannelSpecs::updatesEnabled ( ) const
inherited

Check whether cache updates for this channel are enabled.

Returns
true if cache updates are enabled, false otherwise

◆ setName

void ChannelSpecs::setName ( std::string const &  name)
slotinherited

◆ setIcon

void ChannelSpecs::setIcon ( QIcon const &  icon)
slotinherited

◆ setAlpha

void ChannelSpecs::setAlpha ( float  alpha)
slotinherited

◆ setVisible

void ChannelSpecs::setVisible ( bool  visible)
slotinherited

◆ setHasNewData

void ChannelSpecs::setHasNewData ( bool  hasNewData)
slotinherited

◆ setUpdatesEnabled

void ChannelSpecs::setUpdatesEnabled ( bool  enable)
slotinherited

Enables/Disables cache updates for this channel.

If you programmatically apply many subsequent changes to a channel like automatic marker insertion or property changes, disable cache updates, otherwise each operation triggers a cache update.

Parameters
enabletrue to enable cache updates, false to disable cache updates

◆ update

void ChannelSpecs::update ( )
slotinherited

Explicitely trigger a cache update for all associated renderers.

This is only necessary if updates were disabled and after all changes the cache has to be updated. If updates are disabled a call to this function is a noop.

◆ boundingBoxChanged

void ChannelSpecs::boundingBoxChanged ( blitz::TinyVector< double, 3 > const &  lowerBoundUm,
blitz::TinyVector< double, 3 > const &  upperBoundUm 
)
signalinherited

◆ iconChanged

void ChannelSpecs::iconChanged ( )
signalinherited

◆ nameChanged

void ChannelSpecs::nameChanged ( )
signalinherited

◆ transformationChanged

void ChannelSpecs::transformationChanged ( )
signalinherited

◆ viewChanged

void ChannelSpecs::viewChanged ( )
signalinherited

This signal is emitted whenever the contents or visualization of the channel are altered and an update of the views is required to reflect these changes.

The MultiChannelModel catches this SIGNAL, calls updateCache() and redraw() for all views and clears the hasNewData flag for all channels when the redraw has finished.

◆ emitUpdateRequest

void ChannelSpecs::emitUpdateRequest ( )
protectedslotinherited

This function sets the hasNewData flag for this channel to true, to inform the renderers that this channel has new data and possibly cached values are invalid.

It also saves the current visibility state to _oldVisibilityState and emits a viewChanged() SIGNAL.

Field Documentation

◆ Any

ChannelTypes const ChannelSpecs::Any
staticinherited

Definition at line 70 of file ChannelSpecs.hh.

◆ p_model

MultiChannelModel* ChannelSpecs::p_model
protectedinherited

Definition at line 200 of file ChannelSpecs.hh.

◆ _renderers

std::map<ViewWidget*,ChannelSpecsRenderer*> ChannelSpecs::_renderers
protectedinherited

Definition at line 201 of file ChannelSpecs.hh.

◆ p_channelControlWidget

QWidget* ChannelSpecs::p_channelControlWidget
protectedinherited

Definition at line 202 of file ChannelSpecs.hh.

◆ p_channelControlLayout

QFormLayout* ChannelSpecs::p_channelControlLayout
protectedinherited

Definition at line 203 of file ChannelSpecs.hh.

◆ p_alphaControl

DoubleControlElement* ChannelSpecs::p_alphaControl
protectedinherited

Definition at line 204 of file ChannelSpecs.hh.

◆ p_visibleControl

BoolControlElement* ChannelSpecs::p_visibleControl
protectedinherited

Definition at line 205 of file ChannelSpecs.hh.

◆ p_toggleAdvancedButton

QToolButton* ChannelSpecs::p_toggleAdvancedButton
protectedinherited

Definition at line 207 of file ChannelSpecs.hh.

◆ p_advancedControlWidget

QWidget* ChannelSpecs::p_advancedControlWidget
protectedinherited

Definition at line 208 of file ChannelSpecs.hh.

◆ p_advancedControlLayout

QFormLayout* ChannelSpecs::p_advancedControlLayout
protectedinherited

Definition at line 209 of file ChannelSpecs.hh.

◆ p_transformationControl

Double4x4ControlElement* ChannelSpecs::p_transformationControl
protectedinherited

Definition at line 211 of file ChannelSpecs.hh.

◆ _oldVisibilityState

bool ChannelSpecs::_oldVisibilityState
protectedinherited

Definition at line 213 of file ChannelSpecs.hh.

◆ _hasNewData

bool ChannelSpecs::_hasNewData
protectedinherited

Definition at line 214 of file ChannelSpecs.hh.

◆ _lowerBoundUm

blitz::TinyVector<double,3> ChannelSpecs::_lowerBoundUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _upperBoundUm

blitz::TinyVector<double,3> ChannelSpecs::_upperBoundUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _elementSizeUm

blitz::TinyVector<double,3> ChannelSpecs::_elementSizeUm
protectedinherited

Definition at line 216 of file ChannelSpecs.hh.

◆ _originalTransformation

blitz::TinyMatrix<double,4,4> ChannelSpecs::_originalTransformation
protectedinherited

Definition at line 217 of file ChannelSpecs.hh.

◆ _transformation

blitz::TinyMatrix<double,4,4> ChannelSpecs::_transformation
protectedinherited

Definition at line 217 of file ChannelSpecs.hh.


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