|
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>
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 > | |
F | getParameter (const std::string &p) const |
Gets a single parameter. | |
const ReferenceMap & | getParameters () const |
ReferenceMap & | getParameters () |
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. | |
BeanLike & | operator= (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) |
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.
Given source image, determine respective dest image configuration.
This default implementations
Reimplemented from ImageOp.
|
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.
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.
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.
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.