JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Loading...
Searching...
No Matches
Collaboration diagram for Tool Functions & Classes for Image Drawing:

Modules

 Tool Functions to Build Lookup-Tables for Palettes
 

Classes

class  JKQTPColorPaletteStyleAndToolsMixin
 if a class is derived from this class, it may use color bars More...
 
class  JKQTPColorPaletteWithModifierStyleAndToolsMixin
 if a class is derived from this class, it may use color bars that have 2 axes (one "data"/color axis and one "modifier" axis) More...
 
struct  JKQTPImageTools
 tool structure that summarizes several static properties of JKQTPlotters palette system, also provides functions to work with palettes and register user-defined palettes. More...
 
struct  JKQTPImageTools::LUTData
 internal datatype, representing a lookup-table and its metadata inside global_jkqtpimagetools_lutstore More...
 

Enumerations

enum  JKQTPMathImageColorPalette {
  JKQTPMathImageGRAY =0 ,
  JKQTPMathImageINVERTEDGRAY ,
  JKQTPMathImageRED ,
  JKQTPMathImageINVERTEDRED ,
  JKQTPMathImageGREEN ,
  JKQTPMathImageINVERTEDGREEN ,
  JKQTPMathImageBLUE ,
  JKQTPMathImageINVERTEDBLUE ,
  JKQTPMathImageCYAN ,
  JKQTPMathImageINVERTED_CYAN ,
  JKQTPMathImageYELLOW ,
  JKQTPMathImageINVERTED_YELLOW ,
  JKQTPMathImageMAGENTA ,
  JKQTPMathImageINVERTED_MAGENTA ,
  JKQTPMathImageMATLAB ,
  JKQTPMathImageINVERTED_MATLAB ,
  JKQTPMathImageRYGB ,
  JKQTPMathImageINVERTED_RYGB ,
  JKQTPMathImageHSV ,
  JKQTPMathImageINVERTED_HSV ,
  JKQTPMathImageRAINBOW ,
  JKQTPMathImageINVERTED_RAINBOW ,
  JKQTPMathImageHOT ,
  JKQTPMathImageINVERTED_HOT ,
  JKQTPMathImageOCEAN ,
  JKQTPMathImageINVERTED_OCEAN ,
  JKQTPMathImageTRAFFICLIGHT ,
  JKQTPMathImageINVERTED_TRAFFICLIGHT ,
  JKQTPMathImageBone ,
  JKQTPMathImageINVERTED_Bone ,
  JKQTPMathImageCool ,
  JKQTPMathImageINVERTED_Cool ,
  JKQTPMathImageCopper ,
  JKQTPMathImageINVERTED_Copper ,
  JKQTPMathImageAutumn ,
  JKQTPMathImageINVERTED_Autumn ,
  JKQTPMathImageTerrain ,
  JKQTPMathImageTerrain_STEP ,
  JKQTPMathImageINVERTED_Terrain ,
  JKQTPMathImageINVERTED_Terrain_STEP ,
  JKQTPMathImageViridis ,
  JKQTPMathImageINVERTED_Viridis ,
  JKQTPMathImageViridis_STEP ,
  JKQTPMathImageINVERTED_Viridis_STEP ,
  JKQTPMathImageMagma ,
  JKQTPMathImageINVERTED_Magma ,
  JKQTPMathImageMagma_STEP ,
  JKQTPMathImageINVERTED_Magma_STEP ,
  JKQTPMathImageInferno ,
  JKQTPMathImageINVERTED_Inferno ,
  JKQTPMathImageInferno_STEP ,
  JKQTPMathImageINVERTED_Inferno_STEP ,
  JKQTPMathImagePlasma ,
  JKQTPMathImageINVERTED_Plasma ,
  JKQTPMathImagePlasma_STEP ,
  JKQTPMathImageINVERTED_Plasma_STEP ,
  JKQTPMathImageIBMColorBlindSafe ,
  JKQTPMathImageIBMColorBlindSafe_STEP ,
  JKQTPMathImageOkabeIto_STEP ,
  JKQTPMathImageTol_STEP ,
  JKQTPMathImageTolMuted_STEP ,
  JKQTPMathImageTolLight_STEP ,
  JKQTPMathImageOkabeItoDarker_STEP ,
  JKQTPMathImageOkabeItoLighter_STEP ,
  JKQTPMathImageDefault_STEP ,
  JKQTPMathImageCubeHelixClassic ,
  JKQTPMathImageCubeHelixClassic_STEP ,
  JKQTPMathImageCubeHelix1 ,
  JKQTPMathImageCubeHelix1_STEP ,
  JKQTPMathImageCubeHelix2 ,
  JKQTPMathImageCubeHelix2_STEP ,
  JKQTPMathImageCubeHelix3 ,
  JKQTPMathImageCubeHelix3_STEP ,
  JKQTPMathImageMatlab_STEP ,
  JKQTPMathImageMatlabLegacy_STEP ,
  JKQTPMathImageMatplotlib_STEP ,
  JKQTPMathImageSeaborn_STEP ,
  JKQTPMathImageSeabornPastel_STEP ,
  JKQTPMathImageBLUEMAGENTAYELLOW ,
  JKQTPMathImageINVERTED_BLUEMAGENTAYELLOW ,
  JKQTPMathImageYELLOWMAGENTABLUE =JKQTPMathImageINVERTED_BLUEMAGENTAYELLOW ,
  JKQTPMathImageBLUEYELLOW ,
  JKQTPMathImageINVERTED_BLUEYELLOW ,
  JKQTPMathImageYELLOWBLUE =JKQTPMathImageINVERTED_BLUEYELLOW ,
  JKQTPMathImageBLACKBLUEREDYELLOW ,
  JKQTPMathImageYELLOWREDBLUEBLACK ,
  JKQTPMathImageGREENREDVIOLET ,
  JKQTPMathImageVIOLETREDGREEN ,
  JKQTPMathImageBLACKBLUEWHITEYELLOWWHITE ,
  JKQTPMathImageWHITEYELLOWWHITEBLUEBLACK ,
  JKQTPMathImageBR_GR ,
  JKQTPMathImageBrownGreen =JKQTPMathImageBR_GR ,
  JKQTPMathImageBR_GR_STEP ,
  JKQTPMathImageGR_BR ,
  JKQTPMathImageGreenBrown =JKQTPMathImageGR_BR ,
  JKQTPMathImageGR_BR_STEP ,
  JKQTPMathImagePU_OR ,
  JKQTPMathImagePurpleWhiteOrange =JKQTPMathImagePU_OR ,
  JKQTPMathImagePU_OR_STEP ,
  JKQTPMathImageOR_PU ,
  JKQTPMathImageOR_PU_STEP ,
  JKQTPMathImageOrangeWhitePurple =JKQTPMathImageOR_PU ,
  JKQTPMathImageGN_BU ,
  JKQTPMathImageGreenBlue =JKQTPMathImageGN_BU ,
  JKQTPMathImageGN_BU_STEP ,
  JKQTPMathImageBU_GN ,
  JKQTPMathImageBlueGreen =JKQTPMathImageBU_GN ,
  JKQTPMathImageBU_GN_STEP ,
  JKQTPMathImageYL_GN_BU ,
  JKQTPMathImageYellowGreenBlue =JKQTPMathImageYL_GN_BU ,
  JKQTPMathImageYL_GN_BU_STEP ,
  JKQTPMathImageBU_GN_YL ,
  JKQTPMathImageBU_GN_YE =JKQTPMathImageBU_GN_YL ,
  JKQTPMathImageBU_GN_YL_STEP ,
  JKQTPMathImageBlueGreenYellow =JKQTPMathImageBU_GN_YE ,
  JKQTPMathImagePI_W_GR ,
  JKQTPMathImagePinkWhiteGreen =JKQTPMathImagePI_W_GR ,
  JKQTPMathImagePI_W_GR_STEP ,
  JKQTPMathImageGR_W_PI ,
  JKQTPMathImageGreenWhitePink =JKQTPMathImageGR_W_PI ,
  JKQTPMathImageGR_W_PI_STEP ,
  JKQTPMathImageBLUEWHITERED ,
  JKQTPMathImageBL_W_RD =JKQTPMathImageBLUEWHITERED ,
  JKQTPMathImageBLUEWHITERED_STEP ,
  JKQTPMathImageBL_W_RD_STEP =JKQTPMathImageBLUEWHITERED_STEP ,
  JKQTPMathImageREDWHITEBLUE ,
  JKQTPMathImageRD_W_BL =JKQTPMathImageREDWHITEBLUE ,
  JKQTPMathImageREDWHITEBLUE_STEP ,
  JKQTPMathImageRD_W_BL_STEP =JKQTPMathImageREDWHITEBLUE_STEP ,
  JKQTPMathImageBLUEYELLOWRED ,
  JKQTPMathImageBL_Yl_RD =JKQTPMathImageBLUEYELLOWRED ,
  JKQTPMathImageBLUEYELLOWRED_STEP ,
  JKQTPMathImageBL_Yl_RD_STEP =JKQTPMathImageBLUEYELLOWRED_STEP ,
  JKQTPMathImageREDYELLOWBLUE ,
  JKQTPMathImageRd_Yl_Bl =JKQTPMathImageREDYELLOWBLUE ,
  JKQTPMathImageREDYELLOWBLUE_STEP ,
  JKQTPMathImageRd_Yl_Bl_STEP =JKQTPMathImageREDYELLOWBLUE_STEP ,
  JKQTPMathImageRD_W_GY ,
  JKQTPMathImageRedWhiteGray =JKQTPMathImageRD_W_GY ,
  JKQTPMathImageRD_W_GY_STEP ,
  JKQTPMathImageGY_W_RD ,
  JKQTPMathImageGrayWhiteRed =JKQTPMathImageGY_W_RD ,
  JKQTPMathImageGY_W_RD_STEP ,
  JKQTPMathImageRD_Yn_GN ,
  JKQTPMathImageRedYelloynGreen =JKQTPMathImageRD_Yn_GN ,
  JKQTPMathImageRD_Yn_GN_STEP ,
  JKQTPMathImageGN_Yn_RD ,
  JKQTPMathImageGreenYelloynRed =JKQTPMathImageGN_Yn_RD ,
  JKQTPMathImageGN_Yn_RD_STEP ,
  JKQTPMathImageSeismic ,
  JKQTPMathImageSeismic_STEP ,
  JKQTPMathImageINVERTED_Seismic ,
  JKQTPMathImageINVERTED_Seismic_STEP ,
  JKQTPMathImageCoolwarm ,
  JKQTPMathImageCoolwarm_STEP ,
  JKQTPMathImageINVERTED_Coolwarm ,
  JKQTPMathImageINVERTED_Coolwarm_STEP ,
  JKQTPMathImageCYANWHITE ,
  JKQTPMathImageINVERTED_CYANWHITE ,
  JKQTPMathImageWHITECYAN =JKQTPMathImageINVERTED_CYANWHITE ,
  JKQTPMathImageYELLOWWHITE ,
  JKQTPMathImageINVERTED_YELLOWWHITE ,
  JKQTPMathImageWHITEYELLOW =JKQTPMathImageINVERTED_YELLOWWHITE ,
  JKQTPMathImageMAGENTAWHITE ,
  JKQTPMathImageINVERTED_MAGENTAWHITE ,
  JKQTPMathImageWHITEMAGENTA =JKQTPMathImageINVERTED_MAGENTAWHITE ,
  JKQTPMathImageBlueGreenRed ,
  JKQTPMathImageRedGreenBlue ,
  JKQTPMathImageMagentaYellow ,
  JKQTPMathImageYellowMagenta ,
  JKQTPMathImageRedBlue ,
  JKQTPMathImageBlueRed ,
  JKQTPMathImagePrism16 ,
  JKQTPMathImagePrism8 ,
  JKQTPMathImageFlag16 ,
  JKQTPMathImageFlag8 ,
  JKQTPMathImagePaired12_STEP ,
  JKQTPMathImagePaired10_STEP ,
  JKQTPMathImageSet3_STEP ,
  JKQTPMathImageAccent_STEP ,
  JKQTPMathImageDark2_STEP ,
  JKQTPMathImagePastel1_STEP ,
  JKQTPMathImagePastel2_STEP ,
  JKQTPMathImageSet1_STEP ,
  JKQTPMathImageSet2_STEP ,
  JKQTPMathImageALPHA ,
  JKQTPMathImageINVERTED_ALPHA ,
  JKQTPMathImagePREDEFINED_PALETTES_COUNT ,
  JKQTPMathImageUSER_PALETTE =65000 ,
  JKQTPMathImageFIRST_REGISTERED_USER_PALETTE =JKQTPMathImagePREDEFINED_PALETTES_COUNT ,
  JKQTPMathImageLAST_POSSIBLE_REGISTERED_USER_PALETTE =JKQTPMathImageUSER_PALETTE-10
}
 available palettes for coloring an image More...
 
enum  JKQTPMathImageColorRangeFailAction {
  JKQTPMathImageLastPaletteColor =0 ,
  JKQTPMathImageGivenColor =1 ,
  JKQTPMathImageTransparent =2
}
 modes available for image pixels that are above/below the pixel value range More...
 
enum class  JKQTPMathImageDataType {
  JKQTPMathImageDataType::FloatArray ,
  JKQTPMathImageDataType::DoubleArray ,
  JKQTPMathImageDataType::UInt8Array ,
  JKQTPMathImageDataType::UInt16Array ,
  JKQTPMathImageDataType::UInt32Array ,
  JKQTPMathImageDataType::UInt64Array ,
  JKQTPMathImageDataType::Int8Array ,
  JKQTPMathImageDataType::Int16Array ,
  JKQTPMathImageDataType::Int32Array ,
  JKQTPMathImageDataType::Int64Array
}
 possible datatypes of the data array, plotted by this class. More...
 
enum class  JKQTPMathImageModifierMode {
  JKQTPMathImageModifierMode::ModifyNone =0 ,
  JKQTPMathImageModifierMode::ModifyValue =1 ,
  JKQTPMathImageModifierMode::ModifySaturation =2 ,
  JKQTPMathImageModifierMode::ModifyAlpha =3 ,
  JKQTPMathImageModifierMode::ModifyTransparency =ModifyAlpha ,
  JKQTPMathImageModifierMode::ModifyLuminance =4 ,
  JKQTPMathImageModifierMode::ModifyHue =5
}
 describes how to modify a rendered image with a second data array More...
 
enum  JKQTPRGBMathImageRGBMode {
  JKQTPRGBMathImageModeRGBMode =0 ,
  JKQTPRGBMathImageModeHSVMode =1 ,
  JKQTPRGBMathImageModeHSLMode =2 ,
  JKQTPRGBMathImageModeCMYMode =3
}
 modes available for RGB images More...
 

Functions

int JKQTPGetColorChannel (QRgb rgb, int ch)
 retrieve an R/G/B/Alpha (ch == 0/1/2/3) value from the QRgb value rgb
 
template<class T >
void JKQTPImagePlot_array2RGBimage (const T *dbl_in, int width, int height, QImage &img, int channel, double minColor, double maxColor, JKQTPRGBMathImageRGBMode rgbMode=JKQTPRGBMathImageModeRGBMode, bool logScale=false, double logBase=10.0)
 convert a 2D image (as 1D array) into a QImage and puts the image values into one color channel (set by channel).The other color channels are not changed! So a repeated call to this function for the SAME QImage will result in a step-by-step buildup of an image.
 
template<class T >
QVector< double > JKQTPImagePlot_arrayToDVector (const T *input, int N)
 returns a vector containing all elements of the given array as doubles
 
QVector< double > JKQTPImagePlot_BarrayToDVector (const bool *input, int N)
 returns a vector containing all elements of the given boolean array as doubles (true=1, false=0)
 
template<class T >
double JKQTPImagePlot_getImageMax (const T *dbl, int width, int height)
 fin the maximum pixel value in the given image dbl with width width and height height
 
template<class T >
double JKQTPImagePlot_getImageMin (const T *dbl, int width, int height)
 fin the minimum pixel value in the given image dbl with width width and height height
 
void JKQTCOMMON_LIB_EXPORT JKQTPModifyImage (QImage &img, JKQTPMathImageModifierMode modifierMode, const void *dataModifier, JKQTPMathImageDataType datatypeModifier, int Nx, int Ny, double internalModifierMin, double internalModifierMax)
 modify the given image img, using modifier image dataModifier (of type datatypeModifier and size Nx * Ny), using values in the range internalModifierMin ... internalModifierMax )
 
void JKQTPSetColorChannel (QRgb &rgb, int ch, int val)
 set the R/G/B/Alpha (ch == 0/1/2/3) value in the QRgb value rgb to val (0..255!)
 
QString JKQTCOMMON_LIB_EXPORT ModifierModeToString (const JKQTPMathImageModifierMode &mode)
 convert a string to a ModifierMode
 
JKQTPMathImageModifierMode JKQTCOMMON_LIB_EXPORT StringToModifierMode (const QString &mode)
 convert a ModifierMode to a string
 

Detailed Description

Enumeration Type Documentation

◆ JKQTPMathImageColorPalette

available palettes for coloring an image

Enumerator
JKQTPMathImageGRAY 

JKQTPMathImageINVERTEDGRAY 

JKQTPMathImageRED 

JKQTPMathImageINVERTEDRED 

JKQTPMathImageGREEN 

JKQTPMathImageINVERTEDGREEN 

JKQTPMathImageBLUE 

JKQTPMathImageINVERTEDBLUE 

JKQTPMathImageCYAN 

JKQTPMathImageINVERTED_CYAN 

JKQTPMathImageYELLOW 

JKQTPMathImageINVERTED_YELLOW 

JKQTPMathImageMAGENTA 

JKQTPMathImageINVERTED_MAGENTA 

JKQTPMathImageMATLAB 

JKQTPMathImageINVERTED_MATLAB 

JKQTPMathImageRYGB 

JKQTPMathImageINVERTED_RYGB 

JKQTPMathImageHSV 

JKQTPMathImageINVERTED_HSV 

JKQTPMathImageRAINBOW 

JKQTPMathImageINVERTED_RAINBOW 

JKQTPMathImageHOT 

JKQTPMathImageINVERTED_HOT 

JKQTPMathImageOCEAN 

JKQTPMathImageINVERTED_OCEAN 

JKQTPMathImageTRAFFICLIGHT 

JKQTPMathImageINVERTED_TRAFFICLIGHT 

JKQTPMathImageBone 

JKQTPMathImageINVERTED_Bone 

JKQTPMathImageCool 

JKQTPMathImageINVERTED_Cool 

JKQTPMathImageCopper 

JKQTPMathImageINVERTED_Copper 

JKQTPMathImageAutumn 

JKQTPMathImageINVERTED_Autumn 

JKQTPMathImageTerrain 

JKQTPMathImageTerrain_STEP 

JKQTPMathImageINVERTED_Terrain 

JKQTPMathImageINVERTED_Terrain_STEP 

JKQTPMathImageViridis 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Viridis 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageViridis_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Viridis_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageMagma 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Magma 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageMagma_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Magma_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageInferno 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Inferno 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageInferno_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Inferno_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImagePlasma 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Plasma 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImagePlasma_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageINVERTED_Plasma_STEP 

Palette was adapted from https://github.com/BIDS/colormap/blob/master/colormaps.py

JKQTPMathImageIBMColorBlindSafe 

This is a color-blind friendly palete! Palette was adapted from https://lospec.com/palette-list/ibm-color-blind-safe

JKQTPMathImageIBMColorBlindSafe_STEP 

This is a color-blind friendly palete! Palette was adapted from https://lospec.com/palette-list/ibm-color-blind-safe

JKQTPMathImageOkabeIto_STEP 

This is a color-blind friendly palete! Palette was adapted from https://yoshke.org/blog/colorblind-friendly-diagrams and M. Okabe and K. Ito, How to make figures and presentations that are friendly to color blind people, University of Tokyo, 2002.

JKQTPMathImageTol_STEP 

This is a color-blind friendly palete! Palette was adapted from https://thenode.biologists.com/data-visualization-with-flying-colors/research/

JKQTPMathImageTolMuted_STEP 

This is a color-blind friendly palete! Palette was adapted from https://yoshke.org/blog/colorblind-friendly-diagrams and Tol, B. Points of view: Color blindness. Nat Methods 8, 441 (2011). https://doi.org/10.1038/nmeth.1618

JKQTPMathImageTolLight_STEP 

This is a color-blind friendly palete! Palette was adapted from https://davidmathlogic.com/colorblind/#%23000000-%23E69F00-%2356B4E9-%23009E73-%23F0E442-%230072B2-%23D55E00-%23CC79A7 and Tol, B. Points of view: Color blindness. Nat Methods 8, 441 (2011). https://doi.org/10.1038/nmeth.1618

JKQTPMathImageOkabeItoDarker_STEP 

darker version of JKQTPMathImageOkabeIto_STEP This is a color-blind friendly palete! Palette was adapted from https://yoshke.org/blog/colorblind-friendly-diagrams and M. Okabe and K. Ito, How to make figures and presentations that are friendly to color blind people, University of Tokyo, 2002.

JKQTPMathImageOkabeItoLighter_STEP 

lighter version of JKQTPMathImageOkabeIto_STEP This is a color-blind friendly palete! Palette was adapted from https://davidmathlogic.com/colorblind/#%23000000-%23E69F00-%2356B4E9-%23009E73-%23F0E442-%230072B2-%23D55E00-%23CC79A7 and M. Okabe and K. Ito, How to make figures and presentations that are friendly to color blind people, University of Tokyo, 2002.

JKQTPMathImageDefault_STEP 

This is the color cycle used to color graphs in JKQTPlotter's default style. Palette was adapted from https://davidmathlogic.com/colorblind/#%23BB0000-%2300C11D-%230039D6-%23FFDD00-%23C05FFF-%23DE7704-%2303039A

JKQTPMathImageCubeHelixClassic 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelixClassic_STEP 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix1 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix1_STEP 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix2 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix2_STEP 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix3 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageCubeHelix3_STEP 

This palette was created using Green's CubeHelix method with the parameters shown in the paper: start=0.5, rotation=-1.5, gamma=1.0, saturation=1.2. (see JKQTPCreateGreensCubeHelixLUT() )

JKQTPMathImageMatlab_STEP 

JKQTPMathImageMatlabLegacy_STEP 

JKQTPMathImageMatplotlib_STEP 

JKQTPMathImageSeaborn_STEP 

JKQTPMathImageSeabornPastel_STEP 

JKQTPMathImageBLUEMAGENTAYELLOW 

JKQTPMathImageINVERTED_BLUEMAGENTAYELLOW 

JKQTPMathImageYELLOWMAGENTABLUE 

JKQTPMathImageBLUEYELLOW 

JKQTPMathImageINVERTED_BLUEYELLOW 

JKQTPMathImageYELLOWBLUE 

JKQTPMathImageBLACKBLUEREDYELLOW 

JKQTPMathImageYELLOWREDBLUEBLACK 

JKQTPMathImageGREENREDVIOLET 

JKQTPMathImageVIOLETREDGREEN 

JKQTPMathImageBLACKBLUEWHITEYELLOWWHITE 

JKQTPMathImageWHITEYELLOWWHITEBLUEBLACK 

JKQTPMathImageBR_GR 

JKQTPMathImageBrownGreen 

JKQTPMathImageBR_GR_STEP 

JKQTPMathImageGR_BR 

JKQTPMathImageGreenBrown 

JKQTPMathImageGR_BR_STEP 

JKQTPMathImagePU_OR 

JKQTPMathImagePurpleWhiteOrange 

JKQTPMathImagePU_OR_STEP 

JKQTPMathImageOR_PU 

JKQTPMathImageOR_PU_STEP 

JKQTPMathImageOrangeWhitePurple 

JKQTPMathImageGN_BU 

JKQTPMathImageGreenBlue 

JKQTPMathImageGN_BU_STEP 

JKQTPMathImageBU_GN 

JKQTPMathImageBlueGreen 

JKQTPMathImageBU_GN_STEP 

JKQTPMathImageYL_GN_BU 

JKQTPMathImageYellowGreenBlue 

JKQTPMathImageYL_GN_BU_STEP 

JKQTPMathImageBU_GN_YL 

JKQTPMathImageBU_GN_YE 

JKQTPMathImageBU_GN_YL_STEP 

JKQTPMathImageBlueGreenYellow 

JKQTPMathImagePI_W_GR 

JKQTPMathImagePinkWhiteGreen 

JKQTPMathImagePI_W_GR_STEP 

JKQTPMathImageGR_W_PI 

JKQTPMathImageGreenWhitePink 

JKQTPMathImageGR_W_PI_STEP 

JKQTPMathImageBLUEWHITERED 

JKQTPMathImageBL_W_RD 

JKQTPMathImageBLUEWHITERED_STEP 

JKQTPMathImageBL_W_RD_STEP 

JKQTPMathImageREDWHITEBLUE 

JKQTPMathImageRD_W_BL 

JKQTPMathImageREDWHITEBLUE_STEP 

JKQTPMathImageRD_W_BL_STEP 

JKQTPMathImageBLUEYELLOWRED 

JKQTPMathImageBL_Yl_RD 

JKQTPMathImageBLUEYELLOWRED_STEP 

JKQTPMathImageBL_Yl_RD_STEP 

JKQTPMathImageREDYELLOWBLUE 

JKQTPMathImageRd_Yl_Bl 

JKQTPMathImageREDYELLOWBLUE_STEP 

JKQTPMathImageRd_Yl_Bl_STEP 

JKQTPMathImageRD_W_GY 

JKQTPMathImageRedWhiteGray 

JKQTPMathImageRD_W_GY_STEP 

JKQTPMathImageGY_W_RD 

JKQTPMathImageGrayWhiteRed 

JKQTPMathImageGY_W_RD_STEP 

JKQTPMathImageRD_Yn_GN 

JKQTPMathImageRedYelloynGreen 

JKQTPMathImageRD_Yn_GN_STEP 

JKQTPMathImageGN_Yn_RD 

JKQTPMathImageGreenYelloynRed 

JKQTPMathImageGN_Yn_RD_STEP 

JKQTPMathImageSeismic 

JKQTPMathImageSeismic_STEP 

JKQTPMathImageINVERTED_Seismic 

JKQTPMathImageINVERTED_Seismic_STEP 

JKQTPMathImageCoolwarm 

JKQTPMathImageCoolwarm_STEP 

JKQTPMathImageINVERTED_Coolwarm 

JKQTPMathImageINVERTED_Coolwarm_STEP 

JKQTPMathImageCYANWHITE 

JKQTPMathImageINVERTED_CYANWHITE 

JKQTPMathImageWHITECYAN 

JKQTPMathImageYELLOWWHITE 

JKQTPMathImageINVERTED_YELLOWWHITE 

JKQTPMathImageWHITEYELLOW 

JKQTPMathImageMAGENTAWHITE 

JKQTPMathImageINVERTED_MAGENTAWHITE 

JKQTPMathImageWHITEMAGENTA 

JKQTPMathImageBlueGreenRed 

JKQTPMathImageRedGreenBlue 

JKQTPMathImageMagentaYellow 

JKQTPMathImageYellowMagenta 

JKQTPMathImageRedBlue 

JKQTPMathImageBlueRed 

JKQTPMathImagePrism16 

JKQTPMathImagePrism8 

JKQTPMathImageFlag16 

JKQTPMathImageFlag8 

JKQTPMathImagePaired12_STEP 

JKQTPMathImagePaired10_STEP 

JKQTPMathImageSet3_STEP 

JKQTPMathImageAccent_STEP 

JKQTPMathImageDark2_STEP 

JKQTPMathImagePastel1_STEP 

JKQTPMathImagePastel2_STEP 

JKQTPMathImageSet1_STEP 

JKQTPMathImageSet2_STEP 

JKQTPMathImageALPHA 

special palette with increasing alpha values

JKQTPMathImageINVERTED_ALPHA 

special palette with decreasing alpha values

JKQTPMathImagePREDEFINED_PALETTES_COUNT 

the number of predefined palettes

JKQTPMathImageUSER_PALETTE 

special value for JKQTPImageTools::array2image(), which signals the usage of a provided user-defined palette

JKQTPMathImageFIRST_REGISTERED_USER_PALETTE 

the ID of the first user-defined paletted, registered with JKQTPImageTools::registerPalette() or JKQTPImageTools::registerPalettesFromFile()

JKQTPMathImageLAST_POSSIBLE_REGISTERED_USER_PALETTE 

the ID of the last user-defined paletted, registered with JKQTPImageTools::registerPalette() or JKQTPImageTools::registerPalettesFromFile()

◆ JKQTPMathImageColorRangeFailAction

modes available for image pixels that are above/below the pixel value range

Enumerator
JKQTPMathImageLastPaletteColor 

set to last color in the palette

JKQTPMathImageGivenColor 

set to the provided min/max color

JKQTPMathImageTransparent 

set transparent

◆ JKQTPMathImageDataType

enum class JKQTPMathImageDataType
strong

possible datatypes of the data array, plotted by this class.

Enumerator
FloatArray 

Data is of type float

DoubleArray 

Data is of type double

UInt8Array 

Data is of type uint8_t

UInt16Array 

Data is of type uint16_t

UInt32Array 

Data is of type uint32_t

UInt64Array 

Data is of type uint8_t

Int8Array 

Data is of type int8_t

Int16Array 

Data is of type int16_t

Int32Array 

Data is of type int32_t

Int64Array 

Data is of type int64_t

◆ JKQTPMathImageModifierMode

enum class JKQTPMathImageModifierMode
strong

describes how to modify a rendered image with a second data array

See also
ModifierModeToString(), StringToModifierMode(), JKQTPImageModifierModeComboBox
Enumerator
ModifyNone 

no modification

ModifyValue 

modify the VALUE-channel from the HSV color space

ModifySaturation 

modify the SATURATION-channel from the HSV color space

ModifyAlpha 

modify the ALPHA/TRANSPARENCY-channel from the RGBA color space

ModifyTransparency 
See also
ModifyAlpha
ModifyLuminance 

modify the LUMINANCE-channel from the HSL color space

ModifyHue 

modify the HUE-channel from the HSV color space

◆ JKQTPRGBMathImageRGBMode

modes available for RGB images

See also
Examples: Example (JKQTPlotter): Simple Math RGB/CMY Image Plot
Enumerator
JKQTPRGBMathImageModeRGBMode 

image channels are mapped to the R, G and B channel (red-green-blue)

JKQTPRGBMathImageModeHSVMode 

image channels are mapped to the H, S and V channel (hue-saturation-value)

JKQTPRGBMathImageModeHSLMode 

image channels are mapped to the H, S and L channel (bue-saturation-luminance)

JKQTPRGBMathImageModeCMYMode 

image channels are mapped to the C, M and Y channel (subtractive color model!!!)

Function Documentation

◆ JKQTPGetColorChannel()

int JKQTPGetColorChannel ( QRgb  rgb,
int  ch 
)
inline

retrieve an R/G/B/Alpha (ch == 0/1/2/3) value from the QRgb value rgb

◆ JKQTPImagePlot_array2RGBimage()

template<class T >
void JKQTPImagePlot_array2RGBimage ( const T *  dbl_in,
int  width,
int  height,
QImage &  img,
int  channel,
double  minColor,
double  maxColor,
JKQTPRGBMathImageRGBMode  rgbMode = JKQTPRGBMathImageModeRGBMode,
bool  logScale = false,
double  logBase = 10.0 
)
inline

convert a 2D image (as 1D array) into a QImage and puts the image values into one color channel (set by channel).The other color channels are not changed! So a repeated call to this function for the SAME QImage will result in a step-by-step buildup of an image.

Note
All calls (except channel>=3, i.e. alpha) set alpha to 255. Only the call with channel==3 (alpha) sets alpha to the desired value. Calls with channel==4 (saturation), channel==5 (value) leave alpha as it is.

◆ JKQTPImagePlot_arrayToDVector()

template<class T >
QVector< double > JKQTPImagePlot_arrayToDVector ( const T *  input,
int  N 
)
inline

returns a vector containing all elements of the given array as doubles

◆ JKQTPImagePlot_BarrayToDVector()

QVector< double > JKQTPImagePlot_BarrayToDVector ( const bool *  input,
int  N 
)
inline

returns a vector containing all elements of the given boolean array as doubles (true=1, false=0)

◆ JKQTPImagePlot_getImageMax()

template<class T >
double JKQTPImagePlot_getImageMax ( const T *  dbl,
int  width,
int  height 
)
inline

fin the maximum pixel value in the given image dbl with width width and height height

◆ JKQTPImagePlot_getImageMin()

template<class T >
double JKQTPImagePlot_getImageMin ( const T *  dbl,
int  width,
int  height 
)
inline

fin the minimum pixel value in the given image dbl with width width and height height

◆ JKQTPModifyImage()

void JKQTCOMMON_LIB_EXPORT JKQTPModifyImage ( QImage &  img,
JKQTPMathImageModifierMode  modifierMode,
const void *  dataModifier,
JKQTPMathImageDataType  datatypeModifier,
int  Nx,
int  Ny,
double  internalModifierMin,
double  internalModifierMax 
)

modify the given image img, using modifier image dataModifier (of type datatypeModifier and size Nx * Ny), using values in the range internalModifierMin ... internalModifierMax )

◆ JKQTPSetColorChannel()

void JKQTPSetColorChannel ( QRgb &  rgb,
int  ch,
int  val 
)
inline

set the R/G/B/Alpha (ch == 0/1/2/3) value in the QRgb value rgb to val (0..255!)

◆ ModifierModeToString()

QString JKQTCOMMON_LIB_EXPORT ModifierModeToString ( const JKQTPMathImageModifierMode mode)

convert a string to a ModifierMode

See also
StringToModifierMode(), ModifierMode

◆ StringToModifierMode()

JKQTPMathImageModifierMode JKQTCOMMON_LIB_EXPORT StringToModifierMode ( const QString &  mode)

convert a ModifierMode to a string

See also
ModifierModeToString(), ModifierMode