Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
PaletteOp Class Reference

Colorizes an image of 1 channel to an image of N channels by using a palette image as a lookup table. More...

#include <PaletteOp.h>

Inheritance diagram for PaletteOp:
Inheritance graph
[legend]
Collaboration diagram for PaletteOp:
Collaboration graph
[legend]

Public Types

typedef PaletteMap palette_map_t
 

Public Member Functions

 PaletteOp (const Palette &palette)
 
 PaletteOp (const std::string &filename="")
 
void traverseChannels (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 
virtual void help (std::ostream &ostr=std::cout) const
 Prints name, description and parameters using BeanLike::toOStr(). Virtual, so derived classes may extend output.
 
void setPalette (const Palette &palette)
 Creates an internal palette by taking the colors on the diagonal from lower left to upper right corner. More...
 
const Palette & getPalette () const
 
void registerSpecialCode (const std::string &code, double d)
 Connect special code (label) to intensity. More...
 
- Public Member Functions inherited from ImageOp
virtual void process (const ImageFrame &src, Image &dst) const
 Main interface. Typically splits processing to each channel. More...
 
virtual void process (const ImageFrame &src, const ImageFrame &srcWeight, Image &dst, Image &dstWeight) const
 
virtual void process (const ImageTray< const Channel > &src, ImageTray< Image > &dst, bool checkOverlap=true) const
 Run the operator on a series of images. Geometry and type may be changed. UNDER CONSTR. More...
 
virtual void traverseChannel (const Channel &src, Channel &dst) const
 Apply to single channel.
 
virtual void traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const
 Apply to single channel with alpha.
 
virtual void makeCompatible (const ImageConf &src, Image &dst) const
 Depending on the operator, modifies the geometry and type of dst. More...
 
virtual void makeCompatible2 (const ImageFrame &src1, const ImageFrame &src2, Image &dst) const
 Modifies the geometry and type of dst to fit the computation result.
 
- Public Member Functions inherited from ImageMod
virtual int srcAlpha () const
 Tell if alpha channel(s) is required in input. More...
 
virtual void process (Image &dst) const
 Run this modifier for an image. More...
 
virtual void traverseChannels (ImageTray< Channel > &dst) const
 Run this modifier for a set of channels. More...
 
virtual void traverseChannel (Channel &dst) const
 Run this modifier for an image frame. More...
 
virtual void traverseChannel (Channel &dst, Channel &dstAlpha) const
 Run this modifier for an image frame. More...
 
virtual void traverseChannels (ImageFrame &dst) const
 Converts dst to ImageTray<Channel> and calls traverseFrame(ImageTray<Channel> &) .
 
- Public Member Functions inherited from BeanLike
virtual const std::string & getName () const
 Return the name of an instance.
 
virtual const std::string & getDescription () const
 Return a brief description.
 
bool hasParameters () const
 
template<class F >
getParameter (const std::string &p) const
 Gets a single parameter.
 
const ReferenceMapgetParameters () const
 
ReferenceMapgetParameters ()
 
template<class F >
void setParametersFromEntries (const F &args)
 
void setParameters (std::initializer_list< Variable::init_pair_t > args)
 Grants access to (if above hidden)
 
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
 Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". More...
 
template<class T >
void setParameters (const std::map< std::string, T > &args)
 Set parameters.
 
template<class T >
void setParameters (const SmartMap< T > &args)
 Set parameters.
 
void setParameter (const std::string &p, const Castable &value)
 Sets a single parameter.
 
template<class T >
void setParameter (const std::string &p, const VariableT< T > &value)
 
template<class F >
void setParameter (const std::string &p, const F &value)
 Sets a single parameter. More...
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLikeoperator= (const BeanLike &b)
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 
 BeanLike (const BeanLike &b)
 
 BeanLike (const std::string &name, const std::string &description="")
 

Static Public Member Functions

static Palette & getPalette (const std::string &key)
 NEW. Return a palette (like "DBZH") from Palette::paletteBank if already exists; else try to read in from TXT or JSON file. More...
 
static Palette & loadPalette (const std::string &key)
 NEW Load palette to Palette::paletteBank by key (like "DBZH") from TXT or JSON file.
 
static palette_map_t & getPaletteMap ()
 Returns a static palette map which is initially empty.
 

Public Attributes

double scale
 Uses the original coloured palette to create a gray-level palette. More...
 
double offset
 Prescale intensities with scale*i + offset.
 
Palette specialCodes
 Intensity mappings set by user, originally with std::string keys in Palette.
 
- Public Attributes inherited from ImageMod
bool physicalScale
 

Protected Member Functions

void getDstConf (const ImageConf &src, ImageConf &dst) const
 Given source image, determine respective dest image configuration. More...
 
- Protected Member Functions inherited from ImageOp
 ImageOp (const std::string &name=__FUNCTION__, const std::string &description="")
 
 ImageOp (const ImageOp &op)
 
virtual bool processOverlappingWithTemp (const ImageFrame &src, Image &dst) const
 
virtual bool processOverlappingWithTemp (const ImageTray< const Channel > &src, ImageTray< Image > &dst) const
 
bool traverseOverlappingWithTemp (const Channel &src, Channel &dst) const
 
bool traverseOverlappingWithTemp (const Channel &src, const Channel &srcWeight, Channel &dst, Channel &dstWeight) const
 
void traverseChannelsEqually (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Calls processWithTemp() if the frames overlap. More...
 
void traverseChannelsRepeated (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Recycle channels until all dst channels completed.
 
void traverseChannelsSeparately (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Process each (src,dst) channel pair independently. Raise error if their counts differ. More...
 
void traverseAsChannelTrays (const ImageFrame &src, ImageFrame &dst) const
 Redirect to processing as trays. This is the opposite of processChannels...() functions.
 
void traverseAsChannelTrays (const ImageFrame &src, const ImageFrame &srcWeight, ImageFrame &dst, ImageFrame &dstWeight) const
 Redirect to processing as trays. This is the opposite of processChannels...() functions.
 
virtual void initializeParameters (const ImageFrame &src, const ImageFrame &dst) const
 Set applicable internal parameters before calling traverse().
 
virtual void initializeParameters (const ImageFrame &src, const ImageFrame &src2, const ImageFrame &dst) const
 Set applicable internal parameters before calling traverse().
 
- Protected Member Functions inherited from ImageMod
 ImageMod (const std::string &name=__FUNCTION__, const std::string &description="")
 
 ImageMod (const ImageMod &op)
 
virtual void processChannelsSeparately (ImageTray< Channel > &dst) const
 Run this modifier by calling traverseChannel(Channel &) for each image.
 
virtual void initialize (Image &dst) const
 Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called.
 
virtual void initializeAlpha (const Image &srcAlpha, Image &dstAlpha) const
 Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called.
 
- Protected Member Functions inherited from BeanLike
virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 
virtual void updateBean () const
 Called after setParameters()
 

Protected Attributes

Palette myPalette
 
const Palette * palettePtr
 
- Protected Attributes inherited from BeanLike
const std::string name
 
const std::string description
 
ReferenceMap parameters
 

Additional Inherited Members

- Static Protected Member Functions inherited from ImageOp
static void adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler)
 

Detailed Description

Colorizes an image of 1 channel to an image of N channels by using a palette image as a lookup table.

Treats an RGB truecolor image of N pixels as as a palette of N colors.

Member Function Documentation

◆ getDstConf()

void getDstConf ( const ImageConf src,
ImageConf dst 
) const
protectedvirtual

Given source image, determine respective dest image configuration.

This default implementations

  • changes type and scaling only if either is undefined in dst.
  • copies geometry and coordinate policy of src.

Reimplemented from ImageOp.

◆ getPalette()

Palette & getPalette ( const std::string &  key)
static

NEW. Return a palette (like "DBZH") from Palette::paletteBank if already exists; else try to read in from TXT or JSON file.

 Note: if not existing, creates an empty palette.

static Palette & ensurePalette(const std::string & key); NEW. Return a palette (like "DBZH") from Palette::paletteBank if already exists; else try to read in from TXT or JSON file.

◆ registerSpecialCode()

void registerSpecialCode ( const std::string &  code,
double  d 
)

Connect special code (label) to intensity.

Palette file is independent of storage type and therefore independent of numeric values used for special codes. That information is transmitted in image meta data, and connected to the palette with this function.

◆ setPalette()

void setPalette ( const Palette &  palette)

Creates an internal palette by taking the colors on the diagonal from lower left to upper right corner.

Colorizes an image of 1 channel to an image of N channels by using a palette image as a lookup table.

Maximally 256 colors.

Treats an RGB truecolor image of N pixels as as a palette of N colors.

  • Creates a gray palette ie. "identity mapping" from gray (x) to rgb (x,x,x).

Member Data Documentation

◆ scale

double scale

Uses the original coloured palette to create a gray-level palette.

Creates a gray palette ie. "identity mapping" from gray (x) to rgb (x,x,x). Prescale intensities with scale*i + offset.


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