#include <vgui_range_map.h>
Public Types | |
enum | { RGBA_m, RGB_m, XRG_m, RXB_m, RGX_m, END_m } |
Public Member Functions | |
vgui_range_map (vgui_range_map_params const &rmp) | |
~vgui_range_map () | |
bool | mapable () const |
Is the pixel type mapable at all. | |
bool | table_mapable () const |
Is the pixel type mapable by a lookup table. | |
unsigned | map_size () const |
Get the number of elements in the mapping tables. | |
vbl_array_1d< vxl_byte > | Lmap () |
Luminance map. | |
vbl_array_1d< vxl_byte > | Rmap () |
Red Channel map. | |
vbl_array_1d< vxl_byte > | Gmap () |
Green Channel map. | |
vbl_array_1d< vxl_byte > | Bmap () |
Blue Channel map. | |
vbl_array_1d< vxl_byte > | Xmap () |
Alpha or Infrared Channel map. | |
vbl_array_1d< float > | fLmap () |
Luminance hardware map. | |
vbl_array_1d< float > | fRmap () |
Red channel hardware map. | |
vbl_array_1d< float > | fGmap () |
Green channel hardware map. | |
vbl_array_1d< float > | fBmap () |
Blue channel hardware map. | |
vbl_array_1d< float > | fXmap () |
Alpha or Infrared channel hardware map. | |
vxl_byte | map_L_pixel (const Type pix) |
Luminance computed map. | |
vxl_byte | map_R_pixel (const Type pix) |
Red channel computed map. | |
vxl_byte | map_G_pixel (const Type pix) |
Green channel computed map. | |
vxl_byte | map_B_pixel (const Type pix) |
Blue channel computed map. | |
vxl_byte | map_X_pixel (const Type pix) |
Alpha or Infrared channel computed map. | |
int | offset () |
offset for potentially signed table index. Zero for unsigned, -maxval for signed. | |
bool | operator== (vgui_range_map_params const &p) const |
equality tests. | |
bool | operator!= (vgui_range_map_params const &p) const |
void | print (vcl_ostream &os) const |
void | ref () |
void | unref () |
int | get_references () const |
bool | is_referenced () const |
Public Attributes | |
unsigned | n_components_ |
number of components for pixel data | |
long double | min_L_ |
map domain minimum for luminance data | |
long double | max_L_ |
map domain maximum for luminance data | |
float | gamma_L_ |
photometric non-linear gamma correction | |
bool | invert_ |
invert the mapping to a negative image | |
long double | min_R_ |
map domain minimum for red channel data | |
long double | max_R_ |
map domain maximum for red channel data | |
float | gamma_R_ |
photometric non-linear gamma correction for red | |
long double | min_G_ |
map domain minimum for green channel data | |
long double | max_G_ |
map domain maximum for green channel data | |
float | gamma_G_ |
photometric non-linear gamma correction for green | |
long double | min_B_ |
map domain minimum for blue channel data | |
long double | max_B_ |
map domain maximum for blue channel data | |
float | gamma_B_ |
photometric non-linear gamma correction for blue | |
long double | min_X_ |
map domain minimum for alpha or infrared channel data | |
long double | max_X_ |
map domain maximum for alpha or infrared channel data | |
float | gamma_X_ |
photometric non-linear gamma correction for alpha or infrared | |
int | band_map_ |
bool | use_glPixelMap_ |
use OpenGL to map pixels to screen | |
bool | cache_mapped_pix_ |
cache mapped pixels | |
Static Public Attributes | |
static vcl_vector< vcl_string > | bmap = minit() |
Private Member Functions | |
vgui_range_map () | |
void | init () |
void | init_map_domain (const Type min, const Type max, long double &ratio) |
Initialize the domain - sanity check and compute ratio_. | |
vxl_byte | map_pixel_byte (const Type pix, const Type min, const Type max, const float gamma, const long double ratio) |
Map a pixel from Type to vxl_byte. | |
float | map_pixel_float (const Type pix, const Type min, const Type max, const float gamma, const long double ratio) |
Map the pixel to the range [0f 1f];. | |
vbl_array_1d< vxl_byte > | compute_byte_table (const Type min, const Type max, const float gamma, const long double ratio) |
Initialize the byte mapping table. | |
vbl_array_1d< float > | compute_float_table (const Type min, const Type max, const float gamma, const long double ratio) |
Initialize the float mapping table. | |
Private Attributes | |
bool | mapable_ |
input pixel type can be mapped | |
bool | table_mapable_ |
input pixel type can be mapped by a table. | |
unsigned | size_ |
number of elements in the map | |
long double | ratio_L_ |
scale for computed Luminance mapping | |
long double | ratio_R_ |
scale for computed red channel mapping | |
long double | ratio_G_ |
scale for computed green channel mapping | |
long double | ratio_B_ |
scale for computed blue channel mapping | |
long double | ratio_X_ |
scale for computed alpha or IR channel mapping |
Definition at line 76 of file vgui_range_map.h.
anonymous enum [inherited] |
Definition at line 35 of file vgui_range_map_params.h.
vgui_range_map< Type >::vgui_range_map | ( | vgui_range_map_params const & | rmp | ) |
Definition at line 137 of file vgui_range_map.txx.
vgui_range_map< Type >::~vgui_range_map | ( | ) |
Definition at line 159 of file vgui_range_map.txx.
vgui_range_map< Type >::vgui_range_map | ( | ) | [private] |
vbl_array_1d<vxl_byte> vgui_range_map< Type >::Bmap | ( | ) | [inline] |
Blue Channel map.
Definition at line 100 of file vgui_range_map.h.
vbl_array_1d< vxl_byte > vgui_range_map< Type >::compute_byte_table | ( | const Type | min, |
const Type | max, | ||
const float | gamma, | ||
const long double | ratio | ||
) | [private] |
Initialize the byte mapping table.
Definition at line 99 of file vgui_range_map.txx.
vbl_array_1d< float > vgui_range_map< Type >::compute_float_table | ( | const Type | min, |
const Type | max, | ||
const float | gamma, | ||
const long double | ratio | ||
) | [private] |
Initialize the float mapping table.
Definition at line 123 of file vgui_range_map.txx.
vbl_array_1d<float> vgui_range_map< Type >::fBmap | ( | ) | [inline] |
Blue channel hardware map.
Definition at line 113 of file vgui_range_map.h.
vbl_array_1d<float> vgui_range_map< Type >::fGmap | ( | ) | [inline] |
Green channel hardware map.
Definition at line 111 of file vgui_range_map.h.
vbl_array_1d<float> vgui_range_map< Type >::fLmap | ( | ) | [inline] |
Luminance hardware map.
Definition at line 107 of file vgui_range_map.h.
vbl_array_1d<float> vgui_range_map< Type >::fRmap | ( | ) | [inline] |
Red channel hardware map.
Definition at line 109 of file vgui_range_map.h.
vbl_array_1d<float> vgui_range_map< Type >::fXmap | ( | ) | [inline] |
Alpha or Infrared channel hardware map.
Definition at line 115 of file vgui_range_map.h.
vbl_array_1d<vxl_byte> vgui_range_map< Type >::Gmap | ( | ) | [inline] |
Green Channel map.
Definition at line 98 of file vgui_range_map.h.
void vgui_range_map< Type >::init | ( | ) | [private] |
Definition at line 25 of file vgui_range_map.txx.
void vgui_range_map< Type >::init_map_domain | ( | const Type | min, |
const Type | max, | ||
long double & | ratio | ||
) | [private] |
Initialize the domain - sanity check and compute ratio_.
Definition at line 11 of file vgui_range_map.txx.
vbl_array_1d<vxl_byte> vgui_range_map< Type >::Lmap | ( | ) | [inline] |
Luminance map.
Definition at line 94 of file vgui_range_map.h.
vxl_byte vgui_range_map< Type >::map_B_pixel | ( | const Type | pix | ) | [inline] |
Blue channel computed map.
Definition at line 124 of file vgui_range_map.h.
vxl_byte vgui_range_map< Type >::map_G_pixel | ( | const Type | pix | ) | [inline] |
Green channel computed map.
Definition at line 122 of file vgui_range_map.h.
vxl_byte vgui_range_map< Type >::map_L_pixel | ( | const Type | pix | ) | [inline] |
Luminance computed map.
Definition at line 118 of file vgui_range_map.h.
vxl_byte vgui_range_map< Type >::map_pixel_byte | ( | const Type | pix, |
const Type | min, | ||
const Type | max, | ||
const float | gamma, | ||
const long double | ratio | ||
) | [private] |
Map a pixel from Type to vxl_byte.
Definition at line 42 of file vgui_range_map.txx.
float vgui_range_map< Type >::map_pixel_float | ( | const Type | pix, |
const Type | min, | ||
const Type | max, | ||
const float | gamma, | ||
const long double | ratio | ||
) | [private] |
Map the pixel to the range [0f 1f];.
Definition at line 71 of file vgui_range_map.txx.
vxl_byte vgui_range_map< Type >::map_R_pixel | ( | const Type | pix | ) | [inline] |
Red channel computed map.
Definition at line 120 of file vgui_range_map.h.
unsigned vgui_range_map< Type >::map_size | ( | ) | const [inline] |
Get the number of elements in the mapping tables.
Definition at line 89 of file vgui_range_map.h.
vxl_byte vgui_range_map< Type >::map_X_pixel | ( | const Type | pix | ) | [inline] |
Alpha or Infrared channel computed map.
Definition at line 126 of file vgui_range_map.h.
bool vgui_range_map< Type >::mapable | ( | ) | const [inline] |
Is the pixel type mapable at all.
Definition at line 83 of file vgui_range_map.h.
int vgui_range_map< Type >::offset | ( | ) |
offset for potentially signed table index. Zero for unsigned, -maxval for signed.
Definition at line 166 of file vgui_range_map.txx.
bool vgui_range_map_params::operator!= | ( | vgui_range_map_params const & | p | ) | const [inline, inherited] |
Definition at line 163 of file vgui_range_map_params.h.
bool vgui_range_map_params::operator== | ( | vgui_range_map_params const & | p | ) | const [inline, inherited] |
equality tests.
Definition at line 139 of file vgui_range_map_params.h.
void vgui_range_map_params::print | ( | vcl_ostream & | os | ) | const [inline, inherited] |
Definition at line 166 of file vgui_range_map_params.h.
vbl_array_1d<vxl_byte> vgui_range_map< Type >::Rmap | ( | ) | [inline] |
Red Channel map.
Definition at line 96 of file vgui_range_map.h.
bool vgui_range_map< Type >::table_mapable | ( | ) | const [inline] |
Is the pixel type mapable by a lookup table.
Definition at line 86 of file vgui_range_map.h.
vbl_array_1d<vxl_byte> vgui_range_map< Type >::Xmap | ( | ) | [inline] |
Alpha or Infrared Channel map.
Definition at line 102 of file vgui_range_map.h.
int vgui_range_map_params::band_map_ [inherited] |
Definition at line 56 of file vgui_range_map_params.h.
vcl_vector< vcl_string > vgui_range_map_params::bmap = minit() [static, inherited] |
Definition at line 37 of file vgui_range_map_params.h.
bool vgui_range_map_params::cache_mapped_pix_ [inherited] |
cache mapped pixels
Definition at line 60 of file vgui_range_map_params.h.
float vgui_range_map_params::gamma_B_ [inherited] |
photometric non-linear gamma correction for blue
Definition at line 52 of file vgui_range_map_params.h.
float vgui_range_map_params::gamma_G_ [inherited] |
photometric non-linear gamma correction for green
Definition at line 49 of file vgui_range_map_params.h.
float vgui_range_map_params::gamma_L_ [inherited] |
photometric non-linear gamma correction
Definition at line 42 of file vgui_range_map_params.h.
float vgui_range_map_params::gamma_R_ [inherited] |
photometric non-linear gamma correction for red
Definition at line 46 of file vgui_range_map_params.h.
float vgui_range_map_params::gamma_X_ [inherited] |
photometric non-linear gamma correction for alpha or infrared
Definition at line 55 of file vgui_range_map_params.h.
bool vgui_range_map_params::invert_ [inherited] |
invert the mapping to a negative image
Definition at line 43 of file vgui_range_map_params.h.
bool vgui_range_map< Type >::mapable_ [private] |
input pixel type can be mapped
Definition at line 157 of file vgui_range_map.h.
long double vgui_range_map_params::max_B_ [inherited] |
map domain maximum for blue channel data
Definition at line 51 of file vgui_range_map_params.h.
long double vgui_range_map_params::max_G_ [inherited] |
map domain maximum for green channel data
Definition at line 48 of file vgui_range_map_params.h.
long double vgui_range_map_params::max_L_ [inherited] |
map domain maximum for luminance data
Definition at line 41 of file vgui_range_map_params.h.
long double vgui_range_map_params::max_R_ [inherited] |
map domain maximum for red channel data
Definition at line 45 of file vgui_range_map_params.h.
long double vgui_range_map_params::max_X_ [inherited] |
map domain maximum for alpha or infrared channel data
Definition at line 54 of file vgui_range_map_params.h.
long double vgui_range_map_params::min_B_ [inherited] |
map domain minimum for blue channel data
Definition at line 50 of file vgui_range_map_params.h.
long double vgui_range_map_params::min_G_ [inherited] |
map domain minimum for green channel data
Definition at line 47 of file vgui_range_map_params.h.
long double vgui_range_map_params::min_L_ [inherited] |
map domain minimum for luminance data
Definition at line 40 of file vgui_range_map_params.h.
long double vgui_range_map_params::min_R_ [inherited] |
map domain minimum for red channel data
Definition at line 44 of file vgui_range_map_params.h.
long double vgui_range_map_params::min_X_ [inherited] |
map domain minimum for alpha or infrared channel data
Definition at line 53 of file vgui_range_map_params.h.
unsigned vgui_range_map_params::n_components_ [inherited] |
number of components for pixel data
Definition at line 39 of file vgui_range_map_params.h.
long double vgui_range_map< Type >::ratio_B_ [private] |
scale for computed blue channel mapping
Definition at line 163 of file vgui_range_map.h.
long double vgui_range_map< Type >::ratio_G_ [private] |
scale for computed green channel mapping
Definition at line 162 of file vgui_range_map.h.
long double vgui_range_map< Type >::ratio_L_ [private] |
scale for computed Luminance mapping
Definition at line 160 of file vgui_range_map.h.
long double vgui_range_map< Type >::ratio_R_ [private] |
scale for computed red channel mapping
Definition at line 161 of file vgui_range_map.h.
long double vgui_range_map< Type >::ratio_X_ [private] |
scale for computed alpha or IR channel mapping
Definition at line 164 of file vgui_range_map.h.
unsigned vgui_range_map< Type >::size_ [private] |
number of elements in the map
Definition at line 159 of file vgui_range_map.h.
bool vgui_range_map< Type >::table_mapable_ [private] |
input pixel type can be mapped by a table.
Definition at line 158 of file vgui_range_map.h.
bool vgui_range_map_params::use_glPixelMap_ [inherited] |
use OpenGL to map pixels to screen
Definition at line 59 of file vgui_range_map_params.h.