PCL
|
Acts like a union for all types of images in PCL, with optional class-wide ownership of transported images. More...
#include <ImageVariant.h>
Public Types | |
using | color_space = AbstractImage::color_space |
using | image_op = ImageOp::value_type |
Public Member Functions | |
ImageVariant () | |
ImageVariant (const ImageVariant &image) | |
template<class P > | |
ImageVariant (GenericImage< P > *image) | |
ImageVariant (ImageVariant &&image) | |
virtual | ~ImageVariant () |
template<typename T > | |
ImageVariant | AbsoluteDifference (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant | AbsoluteValue (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | Add (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Add (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Added (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | AllocateData (const Rect &rect, int numberOfChannels=1, color_space colorSpace=ColorSpace::Gray) |
ImageVariant & | AllocateData (int width, int height, int numberOfChannels=1, color_space colorSpace=ColorSpace::Gray) |
ImageVariant & | AllocateImage (int width, int height, int numberOfChannels, color_space colorSpace) |
size_type | AlphaSize () const noexcept |
ImageVariant & | And (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | And (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Applied (const ImageTransformation &transformation, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant | Applied (const ImageVariant &image, image_op op=ImageOp::Mov, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Applied (T scalar, image_op op=ImageOp::Mov, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | Apply (const ImageTransformation &transformation, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Apply (const ImageVariant &image, image_op op=ImageOp::Mov, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Apply (T scalar, image_op op=ImageOp::Mov, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Assign (const ImageVariant &image) |
ImageVariant & | AssignImage (const ImageVariant &image, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
double | AvgDev (double center, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | BendMidvariance (double center, double beta=0.2, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Binarize (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Binarize (T threshold, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Binarized (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Binarized (T threshold, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
int | BitsPerSample () const noexcept |
double | BiweightMidvariance (double center, double sigma, int k=9, bool reducedLength=false, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Black (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Blend (const Bitmap &bitmap, const Point &point=Point(int_max), const Rect &rect=Rect(0)) |
ImageVariant | Blended (const Bitmap &bitmap, const Point &point=Point(int_max), const Rect &rect=Rect(0)) const |
Rect | Bounds () const noexcept |
int | BytesPerSample () const noexcept |
bool | CanPopSelections () const noexcept |
String | ChannelId (int c) const noexcept |
size_type | ChannelSize () const noexcept |
template<typename T > | |
bool | Clip (pcl::GenericPoint< T > &p) const noexcept |
template<typename T > | |
bool | Clip (pcl::GenericRectangle< T > &r) const noexcept |
template<typename T > | |
bool | Clip (T &x, T &y) const noexcept |
template<typename T > | |
bool | Clip (T &x0, T &y0, T &x1, T &y1) const noexcept |
color_space | ColorSpace () const noexcept |
Compression::subblock_list | Compress (const Compression &compressor, const Rect &rect=Rect(0), int channel=-1, Compression::Performance *perf=nullptr) const |
template<class P > | |
ImageVariant & | CopyImage (const GenericImage< P > &image) |
ImageVariant & | CopyImage (const ImageVariant &image) |
uint64 | Count (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
void | CreateAlphaChannels (int n) |
ImageVariant & | CreateComplexImage (int bitSize=32) |
ImageVariant & | CreateFloatImage (int bitSize=32) |
ImageVariant & | CreateImage () |
ImageVariant & | CreateImage (bool isFloat, bool isComplex, int bitSize) |
ImageVariant & | CreateImageAs (const ImageVariant &image) |
template<class P > | |
ImageVariant & | CreateImageAs (const pcl::GenericImage< P > &image) |
ImageVariant & | CreateSharedComplexImage (int bitSize=32) |
ImageVariant & | CreateSharedFloatImage (int bitSize=32) |
ImageVariant & | CreateSharedImage () |
ImageVariant & | CreateSharedImage (bool isFloat, bool isComplex, int bitSize) |
ImageVariant & | CreateSharedImageAs (const ImageVariant &image) |
template<class P > | |
ImageVariant & | CreateSharedImageAs (const pcl::GenericImage< P > &image) |
ImageVariant & | CreateSharedUIntImage (int bitSize=16) |
ImageVariant & | CreateUIntImage (int bitSize=16) |
ImageVariant & | Crop () |
template<typename T > | |
ImageVariant & | Crop (const GenericVector< T > &fillValues) |
ImageVariant & | CropBy (int left, int top, int right, int bottom) |
template<typename T > | |
ImageVariant & | CropBy (int left, int top, int right, int bottom, const GenericVector< T > &fillValues) |
ImageVariant & | CropTo (const Rect &rect) |
template<typename T > | |
ImageVariant & | CropTo (const Rect &rect, const GenericVector< T > &fillValues) |
ImageVariant & | CropTo (int x0, int y0, int x1, int y1) |
template<typename T > | |
ImageVariant & | CropTo (int x0, int y0, int x1, int y1, const GenericVector< T > &fillValues) |
void | DeleteAlphaChannel (int channel) |
void | DeleteAlphaChannels () |
template<typename T > | |
ImageVariant & | Dif (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
void | DisableParallelProcessing (bool disable=true) noexcept |
void | DisableRangeClipping (bool disableLow=true, bool disableHigh=true) const noexcept |
ImageVariant & | Div (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Div (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Divide (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Divide (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Divided (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
void | EnableParallelProcessing (bool enable=true, int maxProcessors=0) noexcept |
void | EnableRangeClipping (bool enableLow=true, bool enableHigh=true) const noexcept |
ImageVariant & | EnsureLocalImage () |
ImageVariant & | EnsureUniqueImage () |
ImageVariant & | Exchange (ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Fill (const GenericVector< T > &values, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Fill (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Filled (const GenericVector< T > &values, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Filled (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
int | FirstSelectedChannel () const noexcept |
void | ForgetAlphaChannel (int channel) |
void | ForgetAlphaChannels () |
ImageVariant & | Free () |
ImageVariant & | FreeImage () |
template<typename T > | |
void | GetColumn (T *buffer, int x, int channel=-1) const |
template<typename T > | |
void | GetExtremeSampleValues (T &min, T &max, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
void | GetIntensity (ImageVariant &Y, const Rect &rect=Rect(0), int maxProcessors=0) const |
void | GetLightness (ImageVariant &L, const Rect &rect=Rect(0), int maxProcessors=0) const |
void | GetLuminance (ImageVariant &Y, const Rect &rect=Rect(0), int maxProcessors=0) const |
template<typename T > | |
void | GetRow (T *buffer, int y, int channel=-1) const |
void | GetSelectedChannelRange (int &c0, int &c1) const noexcept |
bool | HasAlphaChannels () const noexcept |
int | Height () const noexcept |
const AbstractImage * | ImagePtr () const noexcept |
AbstractImage * | ImagePtr () noexcept |
size_type | ImageSize () const noexcept |
template<typename T > | |
bool | Includes (const GenericPoint< T > &p) const noexcept |
template<typename T > | |
bool | Includes (const GenericRectangle< T > &r) const noexcept |
template<typename T > | |
bool | Includes (T x, T y) const noexcept |
template<typename T > | |
bool | Includes (T x0, T y0, T x1, T y1) const noexcept |
template<typename T > | |
bool | Intersects (const pcl::GenericRectangle< T > &r) const noexcept |
template<typename T > | |
bool | Intersects (T x0, T y0, T x1, T y1) const noexcept |
ImageVariant & | Invert (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Invert (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Inverted (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Inverted (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<class P > | |
bool | IsAs (const pcl::GenericImage< P > &) const |
bool | IsColor () const noexcept |
bool | IsCompletelySelected () const noexcept |
bool | IsComplexSample () const noexcept |
bool | IsEmptySelection () const noexcept |
bool | IsFloatSample () const noexcept |
bool | IsFullSelection () const noexcept |
bool | IsHighRangeClippingEnabled () const noexcept |
bool | IsLowRangeClippingEnabled () const noexcept |
bool | IsParallelProcessingEnabled () const noexcept |
bool | IsRangeClippingEnabled () const noexcept |
bool | IsSameImage (const ImageVariant &image) const noexcept |
bool | IsSharedImage () const noexcept |
bool | IsUniqueImage () const noexcept |
bool | IsValidChannelIndex (int c) const noexcept |
int | LastChannel () const noexcept |
int | LastSelectedChannel () const noexcept |
size_type | LineSize () const noexcept |
template<typename T > | |
void | LocateExtremeSampleValues (int &xmin, int &ymin, T &min, int &xmax, int &ymax, T &max, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
template<typename T > | |
void | LocateExtremeSampleValues (Point &pmin, T &min, Point &pmax, T &max, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | LocateMaximumSampleValue (int &xmax, int &ymax, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | LocateMaximumSampleValue (Point &pmax, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | LocateMinimumSampleValue (int &xmin, int &ymin, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | LocateMinimumSampleValue (Point &pmin, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | MAD (double center, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
void | MaskFromSwapFile (const String &filePath, const ImageVariant &mask, bool invert=false, bool processEvents=false) |
void | MaskFromSwapFiles (const String &fileName, const StringList &directories, const ImageVariant &mask, bool invert=false, bool processEvents=false) |
void | MaskImage (const ImageVariant &src, const ImageVariant &mask, bool invert=false) |
ImageVariant & | Max (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Max (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Maximum (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
double | MaximumSampleValue (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
int | MaxProcessors () const noexcept |
double | Mean (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | MeanOfSquares (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | Median (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Min (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Min (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Minimum (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
double | MinimumSampleValue (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | Modulus (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
template<typename T > | |
ImageVariant & | Mov (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Move (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Move (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Mul (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Mul (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Multiplied (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | Multiply (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Multiply (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Nand (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Nand (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
size_type | NominalSize () const noexcept |
ImageVariant & | Nor (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Nor (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
double | Norm (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Normalize (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Normalize (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Normalized (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Normalized (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
Vector | Norms (int maxDegree, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Not (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
int | NumberOfAlphaChannels () const noexcept |
size_type | NumberOfAlphaSamples () const noexcept |
int | NumberOfChannels () const noexcept |
int | NumberOfNominalChannels () const noexcept |
size_type | NumberOfNominalSamples () const noexcept |
size_type | NumberOfPixels () const noexcept |
size_type | NumberOfSamples () const noexcept |
int | NumberOfSelectedChannels () const noexcept |
size_type | NumberOfSelectedPixels () const noexcept |
size_type | NumberOfSelectedSamples () const noexcept |
ImageVariant & | One (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
operator bool () const noexcept | |
double | operator() (int x, int y, int channel=0) const noexcept |
const AbstractImage & | operator* () const noexcept |
AbstractImage & | operator* () noexcept |
ImageVariant & | operator*= (const ImageVariant &image) |
template<typename T > | |
ImageVariant & | operator*= (T scalar) |
ImageVariant & | operator+= (const ImageVariant &image) |
template<typename T > | |
ImageVariant & | operator+= (T scalar) |
ImageVariant & | operator-= (const ImageVariant &image) |
template<typename T > | |
ImageVariant & | operator-= (T scalar) |
const AbstractImage * | operator-> () const noexcept |
AbstractImage * | operator-> () noexcept |
ImageVariant & | operator/= (const ImageVariant &image) |
template<typename T > | |
ImageVariant & | operator/= (T scalar) |
ImageVariant & | operator= (const ImageVariant &image) |
ImageVariant & | operator= (ImageVariant &&image) |
ImageVariant & | operator^= (const ImageVariant &image) |
template<typename T > | |
ImageVariant & | operator^= (T scalar) |
ImageVariant | operator~ () const |
ImageVariant & | Or (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Or (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
double | OrderStatistic (double k, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
bool | OwnsImage () const noexcept |
void | PopSelections () const |
ImageVariant & | Pow (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Pow (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
void | PushSelections () const |
double | Qn (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Raise (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Raise (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Raised (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
double | RangeClipHigh () const noexcept |
double | RangeClipLow () const noexcept |
ImageVariant & | Read (const String &filePath) |
ImageVariant & | Read (File &file) |
void | ReadSwapFile (const String &filePath, Compression::Performance *perf=nullptr, bool processEvents=false) |
void | ReadSwapFiles (const String &fileName, const StringList &directories, Compression::Performance *perf=nullptr, bool processEvents=false) |
void | ReleaseTo (ImageVariant &image) |
ImageVariant & | Rescale (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Rescale (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Rescaled (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Rescaled (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
void | ResetChannelRange () const noexcept |
void | ResetPoint () const noexcept |
void | ResetRangeClipping () const noexcept |
void | ResetSelection () const noexcept |
void | ResetSelections () const noexcept |
const RGBColorSystem & | RGBWorkingSpace () const noexcept |
void | SelectAlphaChannels () const noexcept |
void | SelectChannel (int c) const noexcept |
void | SelectChannelRange (int c0, int c1) const noexcept |
int | SelectedChannel () const noexcept |
Point | SelectedPoint () const noexcept |
Rect | SelectedRectangle () const noexcept |
ImageSelections & | Selections () const noexcept |
void | SelectNominalChannels () const noexcept |
void | SelectPoint (const Point &p) const noexcept |
void | SelectPoint (int x, int y) const noexcept |
void | SelectRectangle (const Point &p0, const Point &p1) const noexcept |
void | SelectRectangle (const Rect &r) const noexcept |
void | SelectRectangle (int x0, int y0, int x1, int y1) const noexcept |
ImageVariant & | SetAbsoluteDifference (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | SetAbsoluteDifference (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | SetAbsoluteValue (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | SetColorSpace (color_space colorSpace, int maxProcessors=0) |
template<typename T > | |
ImageVariant & | SetColumn (const T *buffer, int x, int channel=-1) |
template<class P > | |
ImageVariant & | SetImage (GenericImage< P > &image) |
ImageVariant & | SetLightness (const ImageVariant &L, const Point &point=Point(int_max), const Rect &rect=Rect(0), int maxProcessors=0) |
ImageVariant & | SetLuminance (const ImageVariant &Y, const Point &point=Point(int_max), const Rect &rect=Rect(0), int maxProcessors=0) |
ImageVariant & | SetMaximum (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | SetMaximum (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
void | SetMaxProcessors (int maxProcessors) noexcept |
ImageVariant & | SetMinimum (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | SetMinimum (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | SetOwnership (bool owner=true) noexcept |
void | SetRangeClipHigh (double clipHigh) const noexcept |
void | SetRangeClipLow (double clipLow) const noexcept |
void | SetRangeClipping (double clipLow, double clipHigh) const noexcept |
void | SetRGBWorkingSpace (const RGBColorSystem &rgbws) |
template<typename T > | |
ImageVariant & | SetRow (const T *buffer, int y, int channel=-1) |
void | SetStatusCallback (pcl::StatusCallback *callback) const noexcept |
void * | SharedImageHandle () const noexcept |
ImageVariant & | Shift () |
template<typename T > | |
ImageVariant & | Shift (const GenericVector< T > &fillValues) |
ImageVariant & | ShiftBy (int dx, int dy) |
template<typename T > | |
ImageVariant & | ShiftBy (int dx, int dy, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftTo (const Point &p) |
template<typename T > | |
ImageVariant & | ShiftTo (const Point &p, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftTo (int x, int y) |
template<typename T > | |
ImageVariant & | ShiftTo (int x, int y, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftToBottomLeft (int width, int height) |
template<typename T > | |
ImageVariant & | ShiftToBottomLeft (int width, int height, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftToBottomRight (int width, int height) |
template<typename T > | |
ImageVariant & | ShiftToBottomRight (int width, int height, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftToCenter (int width, int height) |
template<typename T > | |
ImageVariant & | ShiftToCenter (int width, int height, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftToTopLeft (int width, int height) |
template<typename T > | |
ImageVariant & | ShiftToTopLeft (int width, int height, const GenericVector< T > &fillValues) |
ImageVariant & | ShiftToTopRight (int width, int height) |
template<typename T > | |
ImageVariant & | ShiftToTopRight (int width, int height, const GenericVector< T > &fillValues) |
double | Sn (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
StatusMonitor & | Status () const noexcept |
pcl::StatusCallback * | StatusCallback () const noexcept |
double | StdDev (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Sub (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Sub (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Subtract (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Subtract (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant | Subtracted (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
double | SumOfSquares (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | Transfer (ImageVariant &&image) |
ImageVariant & | Transfer (ImageVariant &image) |
ImageVariant & | TransferImage (ImageVariant &image) |
void | Transform (BidirectionalImageTransformation &transform, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | Truncate (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Truncate (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant | Truncated (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
template<typename T > | |
ImageVariant | Truncated (T lowerBound, T upperBound, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
TwoSidedEstimate | TwoSidedAvgDev (double center, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
TwoSidedEstimate | TwoSidedBiweightMidvariance (double center, const TwoSidedEstimate &sigma, int k=9, bool reducedLength=false, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
TwoSidedEstimate | TwoSidedMAD (double center, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
double | Variance (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1, int maxProcessors=0) const |
ImageVariant & | White (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
int | Width () const noexcept |
ImageVariant & | Write (const String &filePath, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
ImageVariant & | Write (File &file, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const |
void | WriteSwapFile (const String &filePath, swap_compression compression=SwapCompression::None, Compression::Performance *perf=nullptr, bool processEvents=false) const |
void | WriteSwapFiles (const String &fileName, const StringList &directories, swap_compression compression=SwapCompression::None, Compression::Performance *perf=nullptr, bool processEvents=false) const |
ImageVariant & | Xchg (ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Xnor (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Xnor (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Xor (const ImageVariant &image, const Point &point=Point(int_max), int channel=-1, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
template<typename T > | |
ImageVariant & | Xor (T scalar, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
ImageVariant & | Zero (const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) |
Static Public Member Functions | |
static void | DeleteSwapFile (const String &filePath) |
static void | DeleteSwapFiles (const String &fileName, const StringList &directories) |
static Compression * | NewCompression (swap_compression algorithm, int itemSize=1) |
static uint64 | SwapFileSize (const String &filePath) |
static uint64 | SwapFilesSize (const String &fileName, const StringList &directories) |
Friends | |
void | Swap (ImageVariant &x1, ImageVariant &x2) noexcept |
An instance of ImageVariant owns a pointer to AbstractImage. That allows it to transport and manage all template instantiations of GenericImage transparently with a unique abstract interface: Image, ComplexImage, UInt16Image, and so on.
Image Template Instantiation Resolution
ImageVariant provides functionality to identify the particular data type that the transported image uses to represent its pixel samples. Once we know the pixel data type, we can resolve the template instantiation of GenericImage, which in turn gives us access to the whole data and functionality of the transported image. The following code snippet shows a typical example of template resolution with ImageVariant:
In this code, DoSomething
is a template function to deal with an image of a particular pixel sample type. In the code above, all standard PCL images are supported except complex images. For example, DoSomething
could be like this function:
This DoSomething
function adds a 10-pixel black frame around the passed image.
Generalized Image Manipulation
Besides identifying image template instantiations, ImageVariant provides generalized wrappers for most of the member functions of GenericImage. This allows you to work with an instance of ImageVariant just as if it were its transported image, without even knowing its pixel data type in most cases. The example we have seen above could be implemented in a much simpler way as follows:
The above code works because ImageVariant defines a ShiftToCenter
member function as a wrapper to GenericImage::ShiftToCenter(), with implicit template instantiation resolution. As we have said, virtually all of GenericImage's functionality can be used transparently in a type-independent way through ImageVariant.
Image Ownership
Transported images can optionally be owned by ImageVariant. When ImageVariant owns a transported image, the image is destroyed when all instances of ImageVariant referencing that image are destroyed. It is important to know that ownership of transported images is a class-wide property of ImageVariant, not a private property of any particular ImageVariant instance.
Class-wide ownership means that an image is not owned only by a particular instance of ImageVariant, but by all existing instances that transport the same image. Consider the following code snippets:
In this first case, we have an image and create an ImageVariant object to transport it. When the var
object gets out of scope, image
will continue existing and won't be destroyed.
In this case, we have an ImageVariant object and tell it to create a new image (a 32-bit floating point image in the example). The newly created image will be transported by var
and is now owned by ImageVariant. when the last instance of ImageVariant transporting the image is destroyed, the image will also be destroyed automatically.
You can also switch on and off ImageVariant's ownership:
ImageVariant implements an explicit data sharing mechanism, which makes it different from the implicit data sharing implemented by rest of container classes in PCL. It is important to state clearly that ownership of image data is not a property of any particular object in this case, but of the whole ImageVariant class.
Definition at line 321 of file ImageVariant.h.
using pcl::ImageVariant::color_space = AbstractImage::color_space |
An enumerated type that represents the set of supported color spaces. Valid constants for this enumeration are defined in the ColorSpace namespace.
Definition at line 330 of file ImageVariant.h.
using pcl::ImageVariant::image_op = ImageOp::value_type |
An enumerated type that represents the set of supported arithmetic and bitwise pixel operations. Valid constants for this enumeration are defined in the ImageOp namespace.
Definition at line 337 of file ImageVariant.h.
|
inline |
Constructs an empty ImageVariant. An empty ImageVariant instance does not transport an image.
Definition at line 350 of file ImageVariant.h.
|
inline |
Constructs an ImageVariant instance to transport the specified image.
By default, the transported image is not owned by ImageVariant object. To cause ImageVariant to own the transported image, the SetOwnership() member function must be called explicitly.
Definition at line 363 of file ImageVariant.h.
|
inline |
Copy constructor. Constructs an ImageVariant instance as an alias of an existing ImageVariant object.
This constructor simply increments the reference counter of the transported image. When all references to a transported image are removed, and the transported image is owned by ImageVariant, it is destroyed and deallocated.
Definition at line 378 of file ImageVariant.h.
|
inline |
Move constructor.
Definition at line 387 of file ImageVariant.h.
|
inlinevirtual |
Virtual destructor.
If the transported image exists and is owned by ImageVariant, and there are no more ImageVariant references to it, then it is also destroyed.
Definition at line 399 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and computes the absolute values of their differences with the specified scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::AbsoluteDifference()
Definition at line 1524 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, replaced with their absolute values.
This member function is a generalized wrapper for GenericImage::AbsoluteValue()
Definition at line 1548 of file ImageVariant.h.
|
inline |
Adds pixel samples of the specified image to a subset of pixel samples in this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Add()
Definition at line 1606 of file ImageVariant.h.
|
inline |
Adds the specified scalar to a subset of pixel samples in this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Add()
Definition at line 1570 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and adds a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Added()
Definition at line 1632 of file ImageVariant.h.
|
inline |
Allocates new pixel data with the specified geometry and color space. Returns a reference to this image.
If this object transports no image, a new local image is created in 32-bit floating point format by calling CreateImage().
This member function is a generalized wrapper for GenericImage::AllocateData()
Definition at line 1683 of file ImageVariant.h.
|
inline |
Allocates new pixel data with the specified geometry and color space. Returns a reference to this image.
If this object transports no image, a new local image is created in 32-bit floating point format by calling CreateImage().
This member function is a generalized wrapper for GenericImage::AllocateData()
Definition at line 1658 of file ImageVariant.h.
|
inline |
Allocates pixel data in the image transported by this ImageVariant instance, with the specified geometry and color space. Returns a reference to this object.
width | Width of the newly created image in pixels. |
height | Height of the newly created image in pixels. |
numberOfChannels | Number of channels. Must be larger or equal to the number of nominal channels, as imposed by the specified color space. |
colorSpace | Color space. See the ColorSpace namespace for symbolic constants. |
If this ImageVariant object transports no image, a new one is created in 32-bit floating point format. ImageVariant will own the newly created image in this case.
This function is useful to allocate pixel data without having to resolve the template instantiation of the transported image. PCL allocates pixels of the appropriate sample data type transparently.
Definition at line 6620 of file ImageVariant.h.
|
inlinenoexcept |
Returns the size in bytes of all memory blocks required to store the pixel data in the alpha channels (i.e., excluding nominal channels) of this image. Returns zero if this image has no alpha channels, or if this object transports no image.
The returned value is ChannelSize()*NumberOfAlphaChannels().
Definition at line 1441 of file ImageVariant.h.
|
inline |
Performs a bitwise AND operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::And()
Definition at line 1743 of file ImageVariant.h.
|
inline |
Performs a bitwise AND operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::And()
Definition at line 1706 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and applies an image transformation. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Applied( const ImageTransformation& )
Definition at line 1840 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and performs an arithmetic or bitwise logical operation with the corresponding samples of another image. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Applied( const GenericImage& )
Definition at line 1813 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and performs an arithmetic or bitwise logical operation with a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Applied( T )
Definition at line 1771 of file ImageVariant.h.
|
inline |
Applies an image transformation to a subset of pixel samples. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Apply( const ImageTransformation& )
Definition at line 1928 of file ImageVariant.h.
|
inline |
Performs an arithmetic, bitwise logical or pixel composition operation between a subset of pixel samples in this image and the corresponding samples of another operand image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Apply( const GenericImage& )
Definition at line 1903 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples with the result of an arithmetic, bitwise logical or pixel composition operation with a scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Apply( T )
Definition at line 1865 of file ImageVariant.h.
|
inline |
Assigns another instance of ImageVariant to this object. Returns a reference to this object.
If the previously transported image (if any) was owned by ImageVariant, and there are no more ImageVariant references to it, then it is destroyed before assignment.
Definition at line 6098 of file ImageVariant.h.
|
inline |
Copies pixel samples from the specified source image to this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Assign()
Definition at line 1963 of file ImageVariant.h.
|
inline |
Returns the mean absolute deviation of a subset of pixel samples with respect to the specified center value.
This member function is a generalized wrapper for GenericImage::AvgDev()
Definition at line 1986 of file ImageVariant.h.
|
inline |
Returns a percentage bend midvariance (PBMV) for a subset of pixel samples, with respect the the specified center value, with the specified beta rejection parameter.
This member function is a generalized wrapper for GenericImage::BendMidvariance()
Definition at line 2125 of file ImageVariant.h.
|
inline |
Binarizes a subset of pixel samples with respect to the specified threshold value. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Binarize()
Definition at line 2056 of file ImageVariant.h.
|
inline |
Binarizes a subset of pixel samples with respect to the specified threshold value. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Binarize()
Definition at line 2035 of file ImageVariant.h.
|
inline |
Binarizes a subset of pixel samples with respect to the central value of the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Binarized()
Definition at line 2102 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, binarized with respect to the specified threshold value.
This member function is a generalized wrapper for GenericImage::Binarized()
Definition at line 2079 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of bits per sample of the image transported by this ImageVariant object, or zero if it transports no image.
Definition at line 458 of file ImageVariant.h.
Referenced by CreateImageAs(), CreateSharedImageAs(), pcl::FFTRegistrationEngine::Evaluate(), pcl::GenericMatrix< T >::FromImage(), pcl::FFTRegistrationEngine::Initialize(), pcl::ImageStatistics::operator<<(), pcl::BidirectionalImageTransformation::operator<<(), pcl::ImageTransformation::operator>>(), pcl::FileFormatInstance::ReadImage(), pcl::GenericMatrix< T >::ToImage(), and pcl::FileFormatInstance::WriteImage().
|
inline |
Returns a biweight midvariance (BWMV) for a subset of pixel samples, with respect the the specified center value, sigma estimate of dispersion, and k threshold in sigma units.
This member function is a generalized wrapper for GenericImage::BiweightMidvariance()
Definition at line 2150 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Black()
Definition at line 2198 of file ImageVariant.h.
|
inline |
Blends a rectangular region of a 32-bit RGBA bitmap with this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Blend()
Definition at line 2218 of file ImageVariant.h.
|
inline |
Returns a local duplicate of this image blended with a rectangular region of a 32-bit RGBA bitmap.
This member function is a generalized wrapper for GenericImage::Blended()
Definition at line 2240 of file ImageVariant.h.
|
inlinenoexcept |
Returns the bounding rectangle of this image.
The upper left corner of the returned rectangle (x0, y0) is always (0,0). The lower right corner coordinates (x1, y1) correspond to the width and height of the image.
If this object transports no image, this function returns an empty rectangle.
Definition at line 616 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of 8-bit bytes per sample of the image transported by this ImageVariant, or zero if this object transports no image.
Definition at line 467 of file ImageVariant.h.
|
inlinenoexcept |
Returns true if one or more selections have been pushed to the internal selection stack, that is, if the PopSelections() function can be called to restore them. Returns false otherwise, or if this object does not transport an image.
Definition at line 1252 of file ImageVariant.h.
|
inlinenoexcept |
Returns the identifier of a nominal channel or component c in the color space of the image transported by this ImageVariant, or an empty string if this object transports no image.
Definition at line 1474 of file ImageVariant.h.
|
inlinenoexcept |
Returns the size in bytes of a channel in the image transported by this ImageVariant, or zero if this object transports no image.
The returned value is BytesPerSample()*NumberOfPixels().
Definition at line 1403 of file ImageVariant.h.
|
inlinenoexcept |
Constrains a point p to stay within the boundaries of this image. Returns true iff the original point location is included in this image.
If this object transports no image, this function does nothing and returns false.
Definition at line 710 of file ImageVariant.h.
|
inlinenoexcept |
Constrains a rectangular region r in image coordinates to fit into the boundaries of this image. Also ensures coherence of clipped rectangular coordinates such that r.x0 ≤ r.x1 and r.y0 ≤ r.y1.
Returns true iff the original rectangle intersects this image.
If this object transports no image, this function does nothing and returns false.
Definition at line 744 of file ImageVariant.h.
|
inlinenoexcept |
Constrains two point coordinates x and y to stay within the boundaries of this image.
[out] | x | Horizontal coordinate of the clipped point. |
[out] | y | Vertical coordinate of the clipped point. |
Returns true iff the original point location is included in this image.
If this object transports no image, this function does nothing and returns false.
Definition at line 728 of file ImageVariant.h.
|
inlinenoexcept |
Constrains a rectangular region, given by its separate image coordinates, to fit into the boundaries of this image. Also ensures coherence of rectangular coordinates, such that x0 ≤ x1 and y0 ≤ y1.
[out] | x0,y0 | Upper left corner coordinates (horizontal, vertical) of the rectangle that will be clipped. |
[out] | x1,y1 | Lower right corner coordinates (horizontal, vertical) of the rectangle that will be clipped. |
Returns true iff the original rectangle intersects the image.
If this object transports no image, this function does nothing and returns false.
Definition at line 766 of file ImageVariant.h.
|
inlinenoexcept |
Returns the identifier of the color space of the image transported by this ImageVariant.
This function returns the value of a symbolic constant enumerated by the ColorSpace namespace. If this object transports no image, this function returns ColorSpace::Unknown.
Definition at line 1464 of file ImageVariant.h.
|
inline |
Compression of pixel samples from the image transported by an ImageVariant. Returns a list of compressed sub-blocks.
If this ImageVariant object does not transport an image, this function returns an empty array.
This member function is a generalized wrapper for GenericImage::Compress().
Definition at line 6065 of file ImageVariant.h.
|
inline |
Assigns an image to the image transported by this ImageVariant instance. Returns a reference to this object.
image | Image to assign. |
The assigned image can be an instance of any supported template instantiation of GenericImage. If this ImageVariant object transports no image, a new one is created as an instance of the same template instantiation as the specified source image. In this case, ImageVariant will own the newly created image.
This function is useful to assign an image without having to resolve the template instantiation of the transported image. PCL performs the assignment between different image types transparently.
Definition at line 6649 of file ImageVariant.h.
|
inline |
Assigns an image transported by another ImageVariant instance to the image transported by this object. Returns a reference to this object.
image | Source ImageVariant instance whose transported image will be assigned. |
This function calls CopyImage( const I& ) after resolving the template instantiation of the transported image. See the documentation of that function for details.
Definition at line 6672 of file ImageVariant.h.
|
inline |
Returns the number of pixel samples selectable for statistics calculation from a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Count()
Definition at line 2261 of file ImageVariant.h.
|
inline |
Creates n new alpha channels in this image. Alpha channels are those in excess of nominal channels, e.g. a fourth channel in an RGB color image, or a second channel in a grayscale image. Returns a reference to this image.
Newly created channels are not initialized, so their pixel samples will contain unpredictable values.
This member function is a generalized wrapper for GenericImage::CreateAlphaChannels()
Definition at line 2288 of file ImageVariant.h.
|
inline |
Creates a new floating point complex image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly created complex image. Valid argument values are 32 and 64. |
This function is a convenience shortcut for:
Definition at line 6316 of file ImageVariant.h.
|
inline |
Creates a new floating point real image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly created real image. Valid argument values are 32 and 64. The default value is 32. |
This function is a convenience shortcut for:
Definition at line 6279 of file ImageVariant.h.
Referenced by pcl::GenericMatrix< T >::ToImage().
|
inline |
Creates a new 32-bit floating point real image. Returns a reference to this object.
This function is a convenience shortcut for:
Definition at line 6300 of file ImageVariant.h.
|
inline |
Creates a new image with the specified sample data type. Returns a reference to this object.
isFloat | If true, floating-point real samples will be used. |
isComplex | If true, complex pixel samples (implicitly floating-point) will be used. |
bitSize | Number of bits per sample. The supported combinations are:
|
The newly created image will be empty. To allocate pixel data, you must call GenericImage::AllocateData() explicitly.
The newly created image will be owned by ImageVariant.
Definition at line 6239 of file ImageVariant.h.
|
inline |
Creates a new image with the same sample data type (template instantiation) as the specified ImageVariant object. Returns a reference to this object.
image | ImageVariant to obtain sample data type parameters from. |
This function is a convenience shortcut for:
Definition at line 6388 of file ImageVariant.h.
References BitsPerSample(), IsComplexSample(), and IsFloatSample().
|
inline |
Creates a new image with the same sample data type (template instantiation) as the specified image. Returns a reference to this object.
image | Image to obtain sample data type parameters from. |
This function is a convenience shortcut for:
Definition at line 6370 of file ImageVariant.h.
|
inline |
Creates a new shared, floating point complex image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly created complex image. Valid argument values are 32 and 64. |
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateComplexImage().
Definition at line 6505 of file ImageVariant.h.
|
inline |
Creates a new shared, floating point real image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly created real image. Valid argument values are 32 and 64. |
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateFloatImage().
Definition at line 6462 of file ImageVariant.h.
|
inline |
Creates a new shared, 32-bit floating point real image. Returns a reference to this object.
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateImage().
Definition at line 6486 of file ImageVariant.h.
|
inline |
Creates a new shared image with the specified sample data type. Returns a reference to this object.
isFloat | If true, floating-point real pixels will be used. |
isComplex | If true, complex pixels ( implicitly floating point ) will be used. |
bitSize | Number of bits per sample. The supported combinations are:
|
except that this function creates a shared image, while CreateImage() creates a local image. A shared image is an alias to an image that lives in the PixInsight core application, while a local image is a private object in the local heap of the calling module.
Shared images are particularly useful for processes involving intermodule communication in the PixInsight platform. An example is the FileFormatInstance class, which can be used to perform file I/O operations by invoking any installed file format support module on the platform. FileFormatInstance requires shared images to read/write images from/to disk files (you can actually pass a local image to FileFormatInstance, but then PCL will generate and use a temporary shared working image on the fly, wasting memory unnecessarily).
Definition at line 6428 of file ImageVariant.h.
|
inline |
Creates a new shared image with the same sample data type ( template instantiation ) as the specified ImageVariant object. Returns a reference to this object.
image | ImageVariant to obtain sample data type parameters from. |
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateImageAs( const ImageVariant& ).
Definition at line 6586 of file ImageVariant.h.
References BitsPerSample(), IsComplexSample(), and IsFloatSample().
|
inline |
Creates a new shared image with the same sample data type ( template instantiation ) as the specified image. Returns a reference to this object.
image | Image to obtain sample data type parameters from. |
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateImageAs( const pcl::GenericImage& ).
Definition at line 6565 of file ImageVariant.h.
|
inline |
Creates a new shared, unsigned integer image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly integer image. Valid argument values are 8, 16 and 32. |
This function is a convenience shortcut for:
For an equivalent member function that creates a local image, see CreateUIntImage().
Definition at line 6532 of file ImageVariant.h.
|
inline |
Creates a new unsigned integer image with the specified sample size in bits. Returns a reference to this object.
bitSize | Sample size in bits for the newly integer image. Valid argument values are 8, 16 and 32. |
This function is a convenience shortcut for:
Definition at line 6340 of file ImageVariant.h.
|
inline |
Crops the image to its current rectangular selection, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Crop()
Definition at line 2329 of file ImageVariant.h.
|
inline |
Crops the image to its current rectangular selection. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Crop()
Definition at line 2308 of file ImageVariant.h.
|
inline |
Crops or extends the entire image by applying the specified margins. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropBy()
Definition at line 2370 of file ImageVariant.h.
|
inline |
Crops or extends the entire image by applying the specified margins. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropBy()
Definition at line 2350 of file ImageVariant.h.
|
inline |
Crops the image to the specified rectangular region, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropTo()
Definition at line 2412 of file ImageVariant.h.
|
inline |
Crops the image to the specified rectangular region. Returns a reference to this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropTo()
Definition at line 2391 of file ImageVariant.h.
|
inline |
Crops the image to the specified rectangular region, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropTo()
Definition at line 2454 of file ImageVariant.h.
|
inline |
Crops the image to the specified rectangular region. Returns a reference to this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::CropTo()
Definition at line 2433 of file ImageVariant.h.
|
inline |
Destroys an alpha channel. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::DeleteAlphaChannel()
Definition at line 2474 of file ImageVariant.h.
|
inline |
Destroys all existing alpha channels in this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::DeleteAlphaChannels()
Definition at line 2494 of file ImageVariant.h.
|
static |
Deletes all raw storage files previously created by a call to the WriteSwapFile() member function.
|
static |
Deletes all raw storage files previously created by a call to the WriteSwapFiles() member function.
|
inline |
A synonym for SetAbsoluteDifference().
Definition at line 4665 of file ImageVariant.h.
|
inlinenoexcept |
Disables parallel processing for this image.
This is a convenience function, equivalent to: EnableParallelProcessing( !disable )
If this object does not transport an image, calling this member function has no effect.
Definition at line 1334 of file ImageVariant.h.
|
inlinenoexcept |
Disables range clipping for statistical calculations.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1111 of file ImageVariant.h.
|
inline |
A synonym for Divide().
Definition at line 2574 of file ImageVariant.h.
|
inline |
A synonym for Divide().
Definition at line 2527 of file ImageVariant.h.
|
inline |
Divides a subset of pixel samples in this image by samples from the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Divide()
Definition at line 2558 of file ImageVariant.h.
|
inline |
Divides a subset of pixel samples in this image by the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Divide()
Definition at line 2514 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and divides it by a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Divided()
Definition at line 2594 of file ImageVariant.h.
|
inlinenoexcept |
Enables parallel processing for this image.
enable | Whether to enable or disable parallel processing. True by default. |
maxProcessors | The maximum number of processors allowed for this image. If enable is false this parameter is ignored. A value ≤ 0 is ignored. The default value is zero. |
If this object does not transport an image, calling this member function has no effect.
Definition at line 1319 of file ImageVariant.h.
|
inlinenoexcept |
Enables range clipping for statistical calculations.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1100 of file ImageVariant.h.
|
inline |
Ensures that the image transported by this ImageVariant object uses local pixel data storage. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::EnsureLocal()
Definition at line 5118 of file ImageVariant.h.
|
inline |
Ensures that the image transported by this ImageVariant object uniquely references its pixel data, making a unique copy of its referenced pixel data if necessary. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::EnsureUnique()
Definition at line 5097 of file ImageVariant.h.
|
inline |
Exchanges a subset of pixel samples between this image and another operand image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Exchange()
Definition at line 2632 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples of this image with the scalar components of a vector of per-channel filling values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Fill()
Definition at line 2690 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples of this image with the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Fill()
Definition at line 2667 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, filled with the scalar components of a vector of per-channel filling values.
This member function is a generalized wrapper for GenericImage::Filled()
Definition at line 2738 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, filled with the specified scalar.
This member function is a generalized wrapper for GenericImage::Filled()
Definition at line 2713 of file ImageVariant.h.
|
inlinenoexcept |
Returns the channel index of the first selected channel, or -1 if this object does not transport an image.
Definition at line 856 of file ImageVariant.h.
|
inline |
Forces this image to discard an existing alpha channel without deallocating it. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ForgetAlphaChannel()
Definition at line 2761 of file ImageVariant.h.
|
inline |
Forces this image to discard all existing alpha channels without deallocating them. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ForgetAlphaChannels()
Definition at line 2781 of file ImageVariant.h.
|
inline |
Removes the transported image, if there is one, from this ImageVariant object. Returns a reference to this object.
If the transported image is owned by ImageVariant, and there are no more ImageVariant references to it, then it is also destroyed.
Definition at line 7048 of file ImageVariant.h.
|
inline |
Destroys the existing pixel data in the image transported by this ImageVariant instance. Returns a reference to this object.
This function is useful to deallocate pixel data without having to resolve the template instantiation of the transported image. PCL deallocates pixel data of any supported pixel sample type transparently.
If this ImageVariant transports no image, this function has no effect.
Definition at line 6700 of file ImageVariant.h.
|
inline |
Stores a duplicate of a column of pixel samples in the specified array, with implicit data type conversion.
This member function is a generalized wrapper for GenericImage::GetColumn()
Definition at line 2802 of file ImageVariant.h.
|
inline |
Obtains the extreme values among a subset of pixel samples of this image.
This member function is a generalized wrapper for GenericImage::GetExtremeSampleValues()
Definition at line 2823 of file ImageVariant.h.
|
inline |
Computes the intensity HSI component for a subset of pixel samples and stores it in a grayscale image.
[out] | Y | Reference to a destination ImageVariant where the computed intensity component will be stored. If this object does not transport an image, a new 32-bit floating point image will be created. |
This member function is a generalized wrapper for GenericImage::GetIntensity().
Definition at line 2865 of file ImageVariant.h.
|
inline |
Computes the CIE L* component for a subset of pixel samples and stores it in a grayscale image.
[out] | L | Reference to a destination ImageVariant where the computed CIE L* component will be stored. If this object does not transport an image, a new floating point image will be created with the appropriate sample type (either 32-bit or 64-bit floating point, depending on the sample data type of this image). |
This member function is a generalized wrapper for GenericImage::GetLightness().
Definition at line 2913 of file ImageVariant.h.
|
inline |
Computes the CIE Y component for a subset of pixel samples and stores it in a grayscale image.
[out] | Y | Reference to a destination ImageVariant where the computed CIE Y component will be stored. If this object does not transport an image, a new floating point image will be created with the appropriate sample type (either 32-bit or 64-bit floating point, depending on the sample data type of this image). |
This member function is a generalized wrapper for GenericImage::GetLuminance().
Definition at line 2961 of file ImageVariant.h.
|
inline |
Stores a duplicate of a row of pixel samples in the specified array, with implicit data type conversion.
This member function is a generalized wrapper for GenericImage::GetRow()
Definition at line 2988 of file ImageVariant.h.
|
inlinenoexcept |
Copies the first and last channel indices of the current channel selection to the specified variables.
[out] | c0 | Index of the first selected channel. |
[out] | c1 | Index of the last selected channel. |
Definition at line 877 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant object transports an image with one or more alpha channels.
Alpha channels are those in excess of the nominal channels corresponding to the color space of the image; for example, a second channel in a grayscale image, or a fourth channel in an RGB color image.
Definition at line 553 of file ImageVariant.h.
|
inlinenoexcept |
Returns the height in pixels of the image transported by this ImageVariant, or zero if this object transports no image.
Definition at line 485 of file ImageVariant.h.
|
inlinenoexcept |
Returns a pointer to the unmodifiable image transported by this ImageVariant object.
Definition at line 412 of file ImageVariant.h.
|
inlinenoexcept |
Returns a pointer to the image transported by this ImageVariant object.
Definition at line 420 of file ImageVariant.h.
|
inlinenoexcept |
Returns the size in bytes of the allocated pixel data in the image transported by this ImageVariant, or zero if this object transports no image.
The returned value is NumberOfSamples()*BytesPerSample().
Definition at line 1415 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image includes the specified point p in image coordinates.
If this object transports no image, this function returns false.
Definition at line 628 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image includes the specified rectangle r in image coordinates.
If this object transports no image, this function returns false.
Definition at line 640 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image includes a point given by its separate image coordinates.
x | Horizontal coordinate. |
y | Vertical coordinate. |
If this object transports no image, this function returns false.
Definition at line 670 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image includes a rectangle given by its separate image coordinates.
x0,y0 | Upper left corner coordinates (horizontal, vertical). |
x1,y1 | Lower right corner coordinates (horizontal, vertical). |
If this object transports no image, this function returns false.
Definition at line 655 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image intersects with the specified rectangle r in image coordinates.
If this object transports no image, this function returns false.
Definition at line 682 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image intersects with a rectangle given by its separate image coordinates.
x0,y0 | Upper left corner coordinates (horizontal, vertical). |
x1,y1 | Lower right corner coordinates (horizontal, vertical). |
If this object transports no image, this function returns false.
Definition at line 697 of file ImageVariant.h.
|
inline |
Inverts a subset of pixel samples with respect to the maximum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Invert()
Definition at line 3030 of file ImageVariant.h.
|
inline |
Inverts a subset of pixel samples with respect to the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Invert()
Definition at line 3009 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, inverted with respect to the maximum sample value in the native range of the image.
This member function is a generalized wrapper for GenericImage::Inverted()
Definition at line 3078 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, inverted with respect to the specified scalar.
This member function is a generalized wrapper for GenericImage::Inverted()
Definition at line 3053 of file ImageVariant.h.
|
inline |
Returns true iff this ImageVariant object transports an image that is an instance of the same template instantiation of the specified image.
Definition at line 6083 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant transports a color image. Returns false if this object transports a grayscale image, or if it does not transport any image.
Definition at line 1451 of file ImageVariant.h.
|
inlinenoexcept |
Returns true if this image is completely selected; false if it is only partially selected, or if this object does not transport an image.
In a completely selected image, the current rectangular selection includes the whole image, and the current channel range selection comprises all existing channels, including nominal and alpha channels.
Definition at line 1011 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant instance transports a complex image.
Definition at line 449 of file ImageVariant.h.
Referenced by CreateImageAs(), CreateSharedImageAs(), pcl::FFTRegistrationEngine::Evaluate(), pcl::GenericMatrix< T >::FromImage(), pcl::FFTRegistrationEngine::Initialize(), pcl::ImageStatistics::operator<<(), pcl::BidirectionalImageTransformation::operator<<(), pcl::ImageTransformation::operator>>(), pcl::FileFormatInstance::ReadImage(), pcl::GenericMatrix< T >::ToImage(), and pcl::FileFormatInstance::WriteImage().
|
inlinenoexcept |
Returns true iff the current selection is empty, i.e. if its area is zero. Returns false if the current selection is not empty, or if this object does not transport an image.
Definition at line 979 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant instance transports a floating point image.
Definition at line 441 of file ImageVariant.h.
Referenced by CreateImageAs(), CreateSharedImageAs(), pcl::FFTRegistrationEngine::Evaluate(), pcl::GenericMatrix< T >::FromImage(), pcl::FFTRegistrationEngine::Initialize(), pcl::ImageStatistics::operator<<(), pcl::BidirectionalImageTransformation::operator<<(), pcl::ImageTransformation::operator>>(), pcl::FileFormatInstance::ReadImage(), pcl::GenericMatrix< T >::ToImage(), and pcl::FileFormatInstance::WriteImage().
|
inlinenoexcept |
Returns true iff the current rectangular selection comprises the entire image. Returns false if the selection is not complete, or if this object does not transport an image.
Definition at line 989 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff range clipping is currently enabled for the high clipping bound. Returns false if this object does not transport an image.
When this function returns true, pixel samples with values greater than or equal to the high clipping bound (as reported by RangeClipHigh() ) will be rejected for statistical calculations.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1090 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff range clipping is currently enabled for the low clipping bound. Returns false if this object does not transport an image.
When this function returns true, pixel samples with values less than or equal to the low clipping bound (as reported by RangeClipLow() ) will be rejected for statistical calculations.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1075 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this image is allowed to use multiple parallel execution threads (when multiple threads are permitted and available) for member functions that support parallel execution.
If this object does not transport an image, this member function returns false.
Definition at line 1301 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff range clipping is currently enabled for this image. Returns false if range clipping is disabled, or if this object does not transport an image.
When range clipping is enabled, pixel samples outside the current clipping range:
( RangeClipLow(), RangeClipHigh() )
are ignored by statistics calculation routines. Note that range bounds are always excluded, since the range is open on both sides. The clipping range is always defined in the normalized [0,1] range for all pixel sample data types; the necessary conversions are performed transparently.
When range clipping is disabled, the clipping range is ignored and all pixel samples are considered for statistical calculations.
To make it more flexible, range clipping can be enabled/disabled separately for the low and high bounds.
The default clipping range is the normalized (0,1) range. Range clipping is disabled by default.
Definition at line 1060 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant transports the same image as another image.
This member function also returns true if both objects transport no image.
Definition at line 432 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant object transports a shared image. Returns false if the transported image is local, or if this object transports no image.
This member function is a generalized wrapper for GenericImage::IsShared()
Definition at line 3103 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant object transports an image that uniquely references its pixel data. Returns false if the transported image is sharing its pixel data with other instances, or if this object transports no image.
This member function is a generalized wrapper for GenericImage::IsUnique()
Definition at line 3153 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff the specified channel index c is valid. A valid channel index corresponds to an existing channel in this image. Returns false if this object does not transport an image.
Definition at line 527 of file ImageVariant.h.
|
inlinenoexcept |
Returns the index of the last existing channel in this image. This is the largest valid channel index that can be used with this image, corresponding to a nominal or alpha channel. If the image transported by this object is empty, or if this object does not transport an image, this function returns -1.
Definition at line 517 of file ImageVariant.h.
|
inlinenoexcept |
Returns the channel index of the last selected channel, or -1 if this object does not transport an image.
Definition at line 865 of file ImageVariant.h.
|
inlinenoexcept |
Returns the size in bytes of a row of pixels (also known as a scan line) in the image transported by this ImageVariant image, or zero if this object transports no image.
The returned value is BytesPerSample()*Width().
Definition at line 1392 of file ImageVariant.h.
|
inline |
Obtains the extreme values, and the image coordinates of their first occurrences, among a subset of pixel samples of this image.
This member function is a generalized wrapper for GenericImage::LocateExtremeSampleValues()
Definition at line 3176 of file ImageVariant.h.
|
inline |
Obtains the extreme values, and the image coordinates of their first occurrences, among a subset of pixel samples of this image.
This member function is a generalized wrapper for GenericImage::LocateExtremeSampleValues()
Definition at line 3200 of file ImageVariant.h.
|
inline |
Returns the maximum value among a subset of pixel samples of this image, and obtains the image coordinates of its first occurrence.
This member function is a generalized wrapper for GenericImage::LocateMaximumSampleValue()
Definition at line 3223 of file ImageVariant.h.
|
inline |
Returns the maximum value among a subset of pixel samples of this image, and obtains the image coordinates of its first occurrence.
This member function is a generalized wrapper for GenericImage::LocateMaximumSampleValue()
Definition at line 3247 of file ImageVariant.h.
|
inline |
Returns the minimum value among a subset of pixel samples of this image, and obtains the image coordinates of its first occurrence.
This member function is a generalized wrapper for GenericImage::LocateMinimumSampleValue()
Definition at line 3271 of file ImageVariant.h.
|
inline |
Returns the minimum value among a subset of pixel samples of this image, and obtains the image coordinates of its first occurrence.
This member function is a generalized wrapper for GenericImage::LocateMinimumSampleValue()
Definition at line 3295 of file ImageVariant.h.
|
inline |
Returns the median absolute deviation (MAD) of a subset of pixel samples with respect to the specified center value.
This member function is a generalized wrapper for GenericImage::MAD()
Definition at line 3318 of file ImageVariant.h.
void pcl::ImageVariant::MaskFromSwapFile | ( | const String & | filePath, |
const ImageVariant & | mask, | ||
bool | invert = false , |
||
bool | processEvents = false |
||
) |
Merges the image transported by this object with pixel data read from a raw storage file, masking it with the image transported by another ImageVariant instance.
filePath | A file path specification to an existing raw storage image file. |
mask | A reference to an ImageVariant instance whose transported image will act as a mask for the merge operation. |
invert | If this argument is true, mask pixels will be inverted before carrying out the merge operation. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file read operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
Given a pixel V of the image transported by this instance, a pixel S read from the input file, and a pixel M of the mask image, the original pixel V is replaced by the result V' of the following expression:
if invert M = 1 - M V' = V*( 1 - M ) + S*M
in the normalized real range [0,1], where 1 represents a saturated (usually white) pixel sample value.
void pcl::ImageVariant::MaskFromSwapFiles | ( | const String & | fileName, |
const StringList & | directories, | ||
const ImageVariant & | mask, | ||
bool | invert = false , |
||
bool | processEvents = false |
||
) |
Merges the image transported by this object with pixel data read from a set of raw storage files through parallel disk read operations, masking it with the image transported by another ImageVariant instance.
fileName | Base file name for the raw storage files from which source pixels will be read to be merged with this image. |
directories | A list of directories where the set of raw files have been created by a previous call to WriteSwapFiles( const String&, const StringList& ). |
mask | A reference to an ImageVariant instance whose transported image will act as a mask for the merge operation. |
invert | If this argument is true, mask pixels will be inverted before carrying out the merge operation. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file read operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
This routine produces exactly the same result as its single-threaded counterpart MaskFromSwapFile().
void pcl::ImageVariant::MaskImage | ( | const ImageVariant & | src, |
const ImageVariant & | mask, | ||
bool | invert = false |
||
) |
Merges the image transported by this object with the image transported by another ImageVariant instance, masking it with the image transported by a third ImageVariant instance.
src | A reference to an ImageVariant instance whose transported image will be the source of the merge operation. |
mask | A reference to an ImageVariant instance whose transported image will act as a mask for the merge operation. |
invert | If this argument is true, mask pixels will be inverted before carrying out the merge operation. |
Given a pixel V of the image transported by this instance, a pixel S of the image transported by the source ImageVariant instance, and a pixel M of the mask image, the original pixel V is replaced by the result V' of the following expression:
if invert M = 1 - M V' = V*( 1 - M ) + S*M
in the normalized real range [0,1], where 1 represents a saturated (usually white) pixel sample value.
|
inline |
A synonym for SetMaximum().
Definition at line 4948 of file ImageVariant.h.
|
inline |
A synonym for SetMaximum().
Definition at line 4898 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and computes the maximum of each sample and the specified scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Maximum()
Definition at line 3368 of file ImageVariant.h.
|
inline |
Returns the maximum value among a subset of pixel samples of this image.
This member function is a generalized wrapper for GenericImage::MaximumSampleValue()
Definition at line 3390 of file ImageVariant.h.
|
inlinenoexcept |
Returns the maximum number of processors allowed for this image, or zero if this object does not transport an image.
The returned nonzero value is the maximum number of processors that this image can use in member functions that support parallel execution.
Irrespective of the value returned by this function, a module should not use more processors than the maximum number of parallel threads allowed for external modules on the PixInsight platform. This number is given by the "Process/MaxProcessors" global variable (refer to the GlobalSettings class for information on global variables).
Definition at line 1353 of file ImageVariant.h.
|
inline |
Returns the arithmetic mean of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Mean()
Definition at line 3411 of file ImageVariant.h.
|
inline |
Returns the mean of the squares of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::MeanOfSquares()
Definition at line 3433 of file ImageVariant.h.
|
inline |
Returns the median of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Median()
Definition at line 3454 of file ImageVariant.h.
|
inline |
A synonym for SetMinimum().
Definition at line 5032 of file ImageVariant.h.
|
inline |
A synonym for SetMinimum().
Definition at line 4982 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and computes the minimum of each sample and the specified scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Minimum()
Definition at line 3501 of file ImageVariant.h.
|
inline |
Returns the minimum value among a subset of pixel samples of this image.
This member function is a generalized wrapper for GenericImage::MinimumSampleValue()
Definition at line 3523 of file ImageVariant.h.
|
inline |
Returns the modulus of a subset of pixel samples. The modulus is the sum of the absolute values of all selected pixel sample values.
This member function is a generalized wrapper for GenericImage::Modulus()
Definition at line 3545 of file ImageVariant.h.
|
inline |
A synonym for Move().
Definition at line 3582 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with samples from the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Move()
Definition at line 3613 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the specified constant scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Move()
Definition at line 3568 of file ImageVariant.h.
|
inline |
A synonym for Multiply().
Definition at line 3709 of file ImageVariant.h.
|
inline |
A synonym for Multiply().
Definition at line 3660 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and multiplies it by a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Multiplied()
Definition at line 3730 of file ImageVariant.h.
|
inline |
Multiplies a subset of pixel samples in this image by samples from the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Multiply()
Definition at line 3693 of file ImageVariant.h.
|
inline |
Multiplies a subset of pixel samples in this image by the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Multiply()
Definition at line 3646 of file ImageVariant.h.
|
inline |
Performs a bitwise NAND (NOT AND) operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Nand()
Definition at line 3791 of file ImageVariant.h.
|
inline |
Performs a bitwise NAND (NOT AND) operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Nand()
Definition at line 3754 of file ImageVariant.h.
|
static |
Returns a pointer to a dynamically allocated Compression object. The returned object implements the specified raw storage compression algorithm for compression of a contiguous sequence of elements with itemSize bytes each.
|
inlinenoexcept |
Returns the size in bytes of all memory blocks required to store the pixel data in the nominal channels (i.e., excluding alpha channels) of the image transported by this ImageVariant, or zero if this object transports no image.
The returned value is ChannelSize()*NumberOfNominalChannels().
Definition at line 1428 of file ImageVariant.h.
References pcl::ColorSpace::NumberOfNominalChannels().
|
inline |
Performs a bitwise NOR (NOT inclusive OR) operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Nor()
Definition at line 3854 of file ImageVariant.h.
|
inline |
Performs a bitwise NOR (NOT inclusive OR) operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Nor()
Definition at line 3817 of file ImageVariant.h.
|
inline |
Returns the norm of a subset of pixel samples. The norm is the sum of all selected pixel sample values.
This member function is a generalized wrapper for GenericImage::Norm()
Definition at line 3878 of file ImageVariant.h.
|
inline |
Normalizes a subset of pixel samples to the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Normalize()
Definition at line 3945 of file ImageVariant.h.
|
inline |
Normalizes a subset of pixel samples to the specified range of values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Normalize()
Definition at line 3923 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, normalized to the native range of the image.
This member function is a generalized wrapper for GenericImage::Normalized()
Definition at line 3992 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, normalized to the specified range of values.
This member function is a generalized wrapper for GenericImage::Normalized()
Definition at line 3968 of file ImageVariant.h.
|
inline |
Returns a vector of norms for a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Norms()
Definition at line 3899 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples with their bitwise logical NOT values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Not()
Definition at line 4013 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of alpha channels in the image transported by this ImageVariant, or zero if this object transports no image.
Alpha channels are those in excess of the nominal channels corresponding to the color space of the image; for example, a second channel in a grayscale image, or a fourth channel in an RGB color image.
Definition at line 566 of file ImageVariant.h.
|
inlinenoexcept |
Returns the total number of alpha samples in the image transported by this ImageVariant, or zero if this object does not transport an image.
The number of alpha samples is equal to NumberOfPixels()*NumberOfAlphaChannels().
Definition at line 601 of file ImageVariant.h.
|
inlinenoexcept |
Returns the total number of channels in the image transported by this ImageVariant, or zero if this object transports no image.
Definition at line 505 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of nominal channels in the image transported by this ImageVariant, or zero if this object transports no image.
Nominal channels are those defined by the color space of the image: One channel for monochrome grayscale images, and three channels for RGB color images. Additional channels are known as alpha channels.
Definition at line 540 of file ImageVariant.h.
|
inlinenoexcept |
Returns the total number of nominal samples in the image transported by this ImageVariant, or zero if this object does not transport an image.
The number of nominal samples is equal to NumberOfPixels()*NumberOfNominalChannels().
Definition at line 589 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of pixels in the image transported by this ImageVariant, or zero if this object transports no image.
The returned value is equal to Width()*Height().
Definition at line 496 of file ImageVariant.h.
|
inlinenoexcept |
Returns the total number of samples in the image transported by this ImageVariant, or zero if this object does not transport an image.
The number of samples is equal to NumberOfPixels()*NumberOfChannels().
Definition at line 577 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of selected channels, or zero if this object does not transport an image.
Definition at line 847 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of selected pixels. This is the area in square pixels of the current selection rectangle. Returns zero if this object does not transport an image.
Definition at line 1021 of file ImageVariant.h.
|
inlinenoexcept |
Returns the number of selected samples. This is the area in square pixels of the current selection rectangle multiplied by the number of selected channels. Returns zero if this object does not transport an image.
Definition at line 1031 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples with the constant value resulting from converting the scalar one (1) to the sample data type of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::One()
Definition at line 4034 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff this ImageVariant instance transports an image.
Definition at line 7116 of file ImageVariant.h.
|
inlinenoexcept |
Returns a pixel sample value, given by its pixel coordinates and channel index.
x | Horizontal coordinate (or column index) of the desired pixel, 0 ≤ x < w, where w is the width in pixels of this image. |
y | Vertical coordinate (or row index) of the desired scan line, 0 ≤ y < h, where h is the height in pixels of this image. |
channel | Channel index, 0 ≤ channel < n, where n is the number of channels in this image, including nominal and alpha channels. The default value is zero. |
This member function returns the requested pixel sample in the normalized range [0,1], irrespective of the sample data type of the image. This function conventionally returns zero if this object transports no image.
Definition at line 7149 of file ImageVariant.h.
|
inlinenoexcept |
Dereference operator. Returns a reference to the constant image transported by this ImageVariant object.
Definition at line 7094 of file ImageVariant.h.
|
inlinenoexcept |
Dereference operator. Returns a reference to the image transported by this ImageVariant object.
Definition at line 7107 of file ImageVariant.h.
|
inline |
A synonym for Multiply().
Definition at line 4082 of file ImageVariant.h.
|
inline |
A synonym for Multiply().
Definition at line 4052 of file ImageVariant.h.
|
inline |
A synonym for Add().
Definition at line 4132 of file ImageVariant.h.
|
inline |
A synonym for Add().
Definition at line 4102 of file ImageVariant.h.
|
inline |
A synonym for Subtract().
Definition at line 4182 of file ImageVariant.h.
|
inline |
A synonym for Subtract().
Definition at line 4152 of file ImageVariant.h.
|
inlinenoexcept |
Structure member selection operator. Returns a pointer to the constant image transported by this ImageVariant object.
Definition at line 7068 of file ImageVariant.h.
|
inlinenoexcept |
Structure member selection operator. Returns a pointer to the image transported by this ImageVariant object.
Definition at line 7081 of file ImageVariant.h.
|
inline |
A synonym for Divide().
Definition at line 4232 of file ImageVariant.h.
|
inline |
A synonym for Divide().
Definition at line 4202 of file ImageVariant.h.
|
inline |
Copy assignment operator. Returns a reference to this object.
This operator calls Assign() with the specified source image.
Definition at line 6111 of file ImageVariant.h.
|
inline |
Move assignment operator. Returns a reference to this object.
This operator calls Transfer() with the specified source image.
Definition at line 6164 of file ImageVariant.h.
|
inline |
A synonym for Raise().
Definition at line 4282 of file ImageVariant.h.
|
inline |
A synonym for Raise().
Definition at line 4252 of file ImageVariant.h.
|
inline |
Returns an inverted duplicate of this image. The inversion operation is performed on the current pixel sample selection with respect to the maximum sample value in the native range of the image.
This member function is a generalized wrapper for GenericImage::operator ~()
Definition at line 4307 of file ImageVariant.h.
|
inline |
Performs a bitwise OR (inclusive OR) operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Or()
Definition at line 4366 of file ImageVariant.h.
|
inline |
Performs a bitwise OR (inclusive OR) operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Or()
Definition at line 4330 of file ImageVariant.h.
|
inline |
Returns an order statistic computed for a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::OrderStatistic()
Definition at line 3475 of file ImageVariant.h.
|
inlinenoexcept |
Returns true iff ImageVariant owns the image transported by this instance, if any.
Definition at line 7020 of file ImageVariant.h.
|
inline |
Restores and pops (removes) the current selections (rectangular area, channel range, anchor point and range clipping) from the internal selection stack.
If no selections have been previously pushed to the internal selection stack, this function is ignored.
Definition at line 1240 of file ImageVariant.h.
|
inline |
A synonym for Raise().
Definition at line 4476 of file ImageVariant.h.
|
inline |
A synonym for Raise().
Definition at line 4405 of file ImageVariant.h.
|
inline |
Saves the current selections (rectangular area, channel range, anchor point and range clipping), pushing them to the internal selection stack.
Definition at line 1226 of file ImageVariant.h.
|
inline |
Returns the Qn scale estimator of Rousseeuw and Croux for a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Qn()
Definition at line 4422 of file ImageVariant.h.
|
inline |
Raises (exponentiation operator) a subset of pixel samples in this image to samples from the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Raise()
Definition at line 4460 of file ImageVariant.h.
|
inline |
Raises (exponentiation operator) a subset of pixel samples in this image to the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Raise()
Definition at line 4391 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and raises it to a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Raised()
Definition at line 4496 of file ImageVariant.h.
|
inlinenoexcept |
Returns the upper bound of the current clipping range. Returns zero if this object does not transport an image.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1134 of file ImageVariant.h.
|
inlinenoexcept |
Returns the lower bound of the current clipping range. Returns zero if this object does not transport an image.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1123 of file ImageVariant.h.
|
inline |
Reads an image from a raw-storage file. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Read()
Definition at line 4538 of file ImageVariant.h.
|
inline |
Reads an image from a raw-storage stream. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Read()
Definition at line 4518 of file ImageVariant.h.
void pcl::ImageVariant::ReadSwapFile | ( | const String & | filePath, |
Compression::Performance * | perf = nullptr , |
||
bool | processEvents = false |
||
) |
Reads the image transported by this ImageVariant instance from a raw storage file.
filePath | A file path specification to an existing raw storage image file. |
perf | If non-null, pointer to a Compression::Performance structure where compression performance data will be provided if the raw file is compressed. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file read operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
If necessary, the transported image is re-created as an instance of a different template instantiation to match the sample data type stored in the input file. In any case, if ImageVariant owned the previously transported image (if one existed), it will be destroyed before reading the new one.
This function is useful for reading pixel data without having to resolve template instantiations, either of the input file or of the transported image. PCL does all the necessary data reading, decompression, allocation, and deallocation transparently.
void pcl::ImageVariant::ReadSwapFiles | ( | const String & | fileName, |
const StringList & | directories, | ||
Compression::Performance * | perf = nullptr , |
||
bool | processEvents = false |
||
) |
Reads an image from a set of raw storage files using parallel disk read operations.
fileName | Base file name for the raw storage files. |
directories | A list of directories where the set of raw files have been created by a previous call to WriteSwapFiles( const String&, const StringList& ). |
perf | If non-null, pointer to a Compression::Performance structure where compression performance data will be provided if the raw files are compressed. Output performance values are the averages of the same values computed for all threads. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file read operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
This ImageVariant instance will transport and own the read image. If this object already transports an image before calling this function, a call to Free() will be performed to remove it before the disk read operation.
If necessary, the transported image is re-created as an instance of a different template instantiation to match the sample data type stored in the input file(s).
|
inline |
Releases the image transported by this object and forces another ImageVariant instance to transport it.
Unlike move assignment (or, equivalently, the Transfer() member function), this object will be in a valid empty state after calling this function.
Definition at line 6177 of file ImageVariant.h.
|
inline |
Rescales a subset of pixel samples to the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Rescale()
Definition at line 4580 of file ImageVariant.h.
|
inline |
Rescales a subset of pixel samples to the specified range of values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Rescale()
Definition at line 4559 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, rescaled to the native range of the image.
This member function is a generalized wrapper for GenericImage::Rescaled()
Definition at line 4627 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, rescaled to the specified range of values.
This member function is a generalized wrapper for GenericImage::Rescaled()
Definition at line 4603 of file ImageVariant.h.
|
inlinenoexcept |
Resets the channel range selection to include all existing channels (all nominal and alpha channels) in this image.
Definition at line 837 of file ImageVariant.h.
|
inlinenoexcept |
Resets the anchor point to the origin of image coordinates, i.e to x=y=0.
Definition at line 907 of file ImageVariant.h.
|
inlinenoexcept |
Resets the range clipping parameters:
Clipping range lower bound = 0.0 Clipping range upper bound = 1.0 Range clipping disabled
Definition at line 1180 of file ImageVariant.h.
|
inlinenoexcept |
Resets the rectangular selection to include the entire image boundaries.
Definition at line 968 of file ImageVariant.h.
|
inlinenoexcept |
Resets all image selections to default values:
Calling this member function is equivalent to:
Definition at line 1204 of file ImageVariant.h.
|
inlinenoexcept |
Returns a reference to the RGB working space associated with the image transported by this ImageVariant object.
Definition at line 1486 of file ImageVariant.h.
|
inlinenoexcept |
Sets the current channel range selection to include the existing alpha channels only, excluding the nominal channels.
Definition at line 827 of file ImageVariant.h.
|
inlinenoexcept |
Selects a single channel.
c | Channel index, 0 ≤ c < n, where n is the total number of channels in this image, including alpha channels. |
Definition at line 777 of file ImageVariant.h.
|
inlinenoexcept |
Selects a range of channels by their channel indices. The selected range includes the two channels specified.
c0 | Index of the first channel to select. |
c1 | Index of the last channel to select. |
Definition at line 804 of file ImageVariant.h.
|
inlinenoexcept |
Returns the index of the currently selected channel, or -1 if this object does not transport an image.
If the current channel selection includes more than one channel, this function returns the index of the first selected channel.
This function is a convenience synonym for FirstSelectedChannel().
Definition at line 792 of file ImageVariant.h.
|
inlinenoexcept |
Returns the current anchor point, or zero if this object does not transport an image.
Definition at line 917 of file ImageVariant.h.
|
inlinenoexcept |
Returns the current rectangular selection, or zero if this object does not transport an image.
Definition at line 998 of file ImageVariant.h.
|
inlinenoexcept |
Returns a reference to the internal ImageSelections object in the image transported by this ImageVariant.
Definition at line 1217 of file ImageVariant.h.
|
inlinenoexcept |
Sets the current channel range selection to include all nominal channels exclusively, excluding alpha channels.
Definition at line 814 of file ImageVariant.h.
|
inlinenoexcept |
Selects a new anchor point p in image coordinates.
Definition at line 898 of file ImageVariant.h.
|
inlinenoexcept |
Selects an anchor point by its separate image coordinates.
x | Horizontal coordinate of the new anchor point. |
y | Vertical coordinate of the new anchor point. |
Definition at line 889 of file ImageVariant.h.
Defines the current rectangular selection by its separate corner points in image coordinates.
p0 | Position of the upper left corner of the new selection. |
p1 | Position of the lower right corner of the new selection. |
Definition at line 949 of file ImageVariant.h.
|
inlinenoexcept |
Defines the current rectangular selection as the specified rectangle r in image coordinates.
Definition at line 959 of file ImageVariant.h.
|
inlinenoexcept |
Defines the current rectangular selection by its separate image coordinates.
x0,y0 | Upper left corner coordinates (horizontal, vertical) of the new rectangular selection. |
x1,y1 | Lower right corner coordinates (horizontal, vertical) of the new rectangular selection. |
The resulting selection is constrained to stay within the image boundaries.
Definition at line 935 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the absolute values of their differences with samples from the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetAbsoluteDifference()
Definition at line 4699 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the absolute values of their differences with the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetAbsoluteDifference()
Definition at line 4651 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples with their absolute values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetAbsoluteValue()
Definition at line 4731 of file ImageVariant.h.
|
inline |
Converts the image to the specified color space. Returns a reference to this object.
This member function is a generalized wrapper for GenericImage::SetColorSpace()
Definition at line 4757 of file ImageVariant.h.
|
inline |
Sets a column of pixel samples from values in the specified array, with implicit data type conversion. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetColumn()
Definition at line 4779 of file ImageVariant.h.
|
inline |
Forces this instance of ImageVariant to transport the specified image. Returns a reference to this object.
If the previously transported image (if any) was owned by ImageVariant, and there are no more ImageVariant references to it, then it is destroyed before referencing the specified image.
Definition at line 6197 of file ImageVariant.h.
|
inline |
Replaces the CIE L* component of a subset of pixel samples with data extracted from another image.
This member function is a generalized wrapper for GenericImage::SetLightness()
Definition at line 4816 of file ImageVariant.h.
|
inline |
Replaces the CIE Y component of a subset of pixel samples with data extracted from another image.
This member function is a generalized wrapper for GenericImage::SetLuminance()
Definition at line 4857 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the maximum of each target sample and the corresponding source sample of the specified image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetMaximum()
Definition at line 4932 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the maximum of each sample and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetMaximum()
Definition at line 4884 of file ImageVariant.h.
|
inlinenoexcept |
Sets the maximum number of processors allowed for this image.
The specified maxProcessors parameter is the maximum number of processors that this image can use in member functions that support parallel execution. A value ≤ 0 is ignored and causes the call to this function to have no effect.
In the current versions of PCL, a module can use a maximum of 1023 processors. The term processors actually refers to the number of threads a module can execute concurrently.
Irrespective of the value specified by this function, a module should not use more processors than the maximum number of parallel threads allowed for external modules on the PixInsight platform. This number is given by the "Process/MaxProcessors" global variable (refer to the GlobalSettings class for information on global variables).
If this object does not transport an image, calling this member function has no effect.
Definition at line 1379 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the minimum of each target sample and the corresponding source sample of the specified image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetMinimum()
Definition at line 5016 of file ImageVariant.h.
|
inline |
Replaces a subset of pixel samples in this image with the minimum of each sample and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetMinimum()
Definition at line 4968 of file ImageVariant.h.
|
inlinenoexcept |
Causes ImageVariant to own the transported image, if any. Returns a reference to this object.
Definition at line 7035 of file ImageVariant.h.
|
inlinenoexcept |
Sets the upper bound of the clipping range.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1155 of file ImageVariant.h.
|
inlinenoexcept |
Sets the lower bound of the clipping range.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1144 of file ImageVariant.h.
|
inlinenoexcept |
Sets the lower and upper bounds of the clipping range and enables range clipping (both low and high clipping bounds), in a single function call.
See IsRangeClippingEnabled() for more information on range clipping.
Definition at line 1167 of file ImageVariant.h.
|
inline |
Associates a given RGB working space ( RGBWS ) with the image transported by this ImageVariant object.
Definition at line 1503 of file ImageVariant.h.
|
inline |
Sets a row of pixel samples from values in the specified array, with implicit data type conversion. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::SetRow()
Definition at line 5074 of file ImageVariant.h.
|
inlinenoexcept |
Specifies the address of an object that will be used to perform status monitoring callbacks for the image transported by this ImageVariant.
If this object does not transport an image, calling this member function has no effect.
Definition at line 1287 of file ImageVariant.h.
|
inlinenoexcept |
Returns the handle to the shared image transported by this ImageVariant object, or zero (a null pointer) if the transported image is local, or if this object transports no image.
Definition at line 3127 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to its current anchor point selection, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Shift()
Definition at line 5160 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to its current anchor point selection. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Shift()
Definition at line 5139 of file ImageVariant.h.
|
inline |
Shifts (translates) this image by the specified increments in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftBy()
Definition at line 5202 of file ImageVariant.h.
|
inline |
Shifts (translates) this image by the specified increments in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftBy()
Definition at line 5181 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to the specified coordinates, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftTo()
Definition at line 5286 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to the specified coordinates. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftTo()
Definition at line 5265 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to the specified coordinates, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftTo()
Definition at line 5244 of file ImageVariant.h.
|
inline |
Shifts (translates) the image to the specified coordinates. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftTo()
Definition at line 5223 of file ImageVariant.h.
|
inline |
Extends or crops the image at its right and top sides to the specified width and height in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToBottomLeft()
Definition at line 5331 of file ImageVariant.h.
|
inline |
Extends or crops the image at its right and top sides to the specified width and height in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToBottomLeft()
Definition at line 5308 of file ImageVariant.h.
|
inline |
Extends or crops the image at its left and top sides to the specified width and height in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToBottomRight()
Definition at line 5376 of file ImageVariant.h.
|
inline |
Extends or crops the image at its left and top sides to the specified width and height in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToBottomRight()
Definition at line 5353 of file ImageVariant.h.
|
inline |
Extends or crops the image centered within the specified width and height in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToCenter()
Definition at line 5421 of file ImageVariant.h.
|
inline |
Extends or crops the image centered within the specified width and height in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToCenter()
Definition at line 5398 of file ImageVariant.h.
|
inline |
Extends or crops the image at its right and bottom sides to the specified width and height in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToTopLeft()
Definition at line 5466 of file ImageVariant.h.
|
inline |
Extends or crops the image at its right and bottom sides to the specified width and height in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToTopLeft()
Definition at line 5443 of file ImageVariant.h.
|
inline |
Extends or crops the image at its left and bottom sides to the specified width and height in pixels, filling extended regions with the minimum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToTopRight()
Definition at line 5511 of file ImageVariant.h.
|
inline |
Extends or crops the image at its left and bottom sides to the specified width and height in pixels. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::ShiftToTopRight()
Definition at line 5488 of file ImageVariant.h.
|
inline |
Returns the Sn scale estimator of Rousseeuw and Croux for a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Sn()
Definition at line 5050 of file ImageVariant.h.
|
inlinenoexcept |
Returns a reference to the status monitoring object associated with the image transported by this ImageVariant.
Definition at line 1264 of file ImageVariant.h.
|
inlinenoexcept |
Returns the address of the status monitoring callback object currently selected for the image transported by this ImageVariant, or zero if this object does not transport an image.
Definition at line 1275 of file ImageVariant.h.
|
inline |
Returns the standard deviation of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::StdDev()
Definition at line 5530 of file ImageVariant.h.
|
inline |
A synonym for Subtract().
Definition at line 5617 of file ImageVariant.h.
|
inline |
A synonym for Subtract().
Definition at line 5568 of file ImageVariant.h.
|
inline |
Subtracts pixel samples of the specified image from a subset of pixel samples in this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Subtract()
Definition at line 5601 of file ImageVariant.h.
|
inline |
Subtracts the specified scalar from a subset of pixel samples in this image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Subtract()
Definition at line 5554 of file ImageVariant.h.
|
inline |
Creates a local image with a subset of pixel samples from this image, and subtracts a scalar. Returns the resulting image.
This member function is a generalized wrapper for GenericImage::Subtracted()
Definition at line 5638 of file ImageVariant.h.
|
inline |
Returns the sum of the squares of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::SumOfSquares()
Definition at line 5660 of file ImageVariant.h.
Returns the total size in bytes occupied by a raw storage image file.
filePath | A file path specification to an existing raw storage image file. |
This function does not read any pixel data. All the required data to compute the returned file size is retrieved from existing file headers.
|
static |
Returns the total size in bytes occupied by a set of raw storage files.
fileName | Base file name for the raw storage files. |
directories | A list of directories where the set of raw files have been created by a previous call to WriteSwapFiles( const String&, const StringList& ). |
This function does not read any pixel data. All the required data to compute the returned file size is retrieved from existing file headers.
|
inline |
Transfers the image transported by other ImageVariant to this object. Returns a reference to this object.
If the previously transported image (if any) was owned by ImageVariant, and there are no more ImageVariant references to it, then it is destroyed before assignment.
After calling this function, the specified source image is left in an invalid state and should be destroyed immediately.
Definition at line 6152 of file ImageVariant.h.
|
inline |
Transfers the image transported by other ImageVariant to this object. Returns a reference to this object.
If the previously transported image (if any) was owned by ImageVariant, and there are no more ImageVariant references to it, then it is destroyed before assignment.
After calling this function, the specified source image is left in an invalid state and should be destroyed immediately.
Definition at line 6136 of file ImageVariant.h.
|
inline |
Transfers pixel data to this image from another image, which is an instance of a different template instantiation of GenericImage. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Transfer()
Definition at line 5697 of file ImageVariant.h.
|
inline |
Applies a direct image transformation to a subset of pixel samples. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Transform()
Definition at line 5720 of file ImageVariant.h.
|
inline |
Truncates a subset of pixel samples to the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Truncate()
Definition at line 5764 of file ImageVariant.h.
|
inline |
Truncates a subset of pixel samples to the specified range of values. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Truncate()
Definition at line 5742 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, truncated to the native range of the image.
This member function is a generalized wrapper for GenericImage::Truncated()
Definition at line 5811 of file ImageVariant.h.
|
inline |
Returns a local image with a subset of pixel samples from this image, truncated to the specified range of values.
This member function is a generalized wrapper for GenericImage::Truncated()
Definition at line 5787 of file ImageVariant.h.
|
inline |
Returns the two-sided mean absolute deviation of a subset of pixel samples with respect to the specified center value.
This member function is a generalized wrapper for GenericImage::TwoSidedAvgDev()
Definition at line 2010 of file ImageVariant.h.
|
inline |
Returns a two-sided biweight midvariance (BWMV) for a subset of pixel samples, with respect the the specified center value, two-sided sigma estimate of dispersion, and k threshold in sigma units.
This member function is a generalized wrapper for GenericImage::TwoSidedBiweightMidvariance()
Definition at line 2175 of file ImageVariant.h.
|
inline |
Returns the two-sided median absolute deviation (MAD) of a subset of pixel samples with respect to the specified center value.
This member function is a generalized wrapper for GenericImage::TwoSidedMAD()
Definition at line 3342 of file ImageVariant.h.
|
inline |
Returns the variance from the mean of a subset of pixel samples.
This member function is a generalized wrapper for GenericImage::Variance()
Definition at line 5831 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples with the maximum sample value in the native range of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::White()
Definition at line 5852 of file ImageVariant.h.
|
inlinenoexcept |
Returns the width in pixels of the image transported by this ImageVariant, or zero if this object transports no image.
Definition at line 476 of file ImageVariant.h.
|
inline |
Writes a subset of pixel samples to a raw-storage output stream. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Write()
Definition at line 5893 of file ImageVariant.h.
|
inline |
Writes a subset of pixel samples to a raw-storage output stream. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Write()
Definition at line 5872 of file ImageVariant.h.
void pcl::ImageVariant::WriteSwapFile | ( | const String & | filePath, |
swap_compression | compression = SwapCompression::None , |
||
Compression::Performance * | perf = nullptr , |
||
bool | processEvents = false |
||
) | const |
Writes the image transported by this ImageVariant instance to a raw storage file.
filePath | A file path specification where the output raw storage file will be created. |
compression | Compression algorithm. If specified, all stored pixel data will be compressed using this algorithm. Compression is disabled by default |
perf | If non-null, pointer to a Compression::Performance structure where compression performance data will be provided if the raw file is compressed. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file write operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
The generated file can be employed to construct a new image instance by calling the ReadSwapFile() member function with the same file path specification.
This function is useful to write pixel data without having to resolve the template instantiation of the transported image. PCL writes pixel data of any supported sample type transparently.
void pcl::ImageVariant::WriteSwapFiles | ( | const String & | fileName, |
const StringList & | directories, | ||
swap_compression | compression = SwapCompression::None , |
||
Compression::Performance * | perf = nullptr , |
||
bool | processEvents = false |
||
) | const |
Writes the image transported by this ImageVariant object to a set of raw storage files using parallel disk write operations.
fileName | Base file name for the raw storage files. |
directories | A list of directories where the set of raw files will be created by this function. |
compression | Compression algorithm. If specified, all stored pixel data will be compressed using this algorithm. Compression is disabled by default |
perf | If non-null, pointer to a Compression::Performance structure where compression performance data will be provided if the raw files are compressed. Output performance values are the averages of the same values computed for all threads. |
processEvents | If true, Module->ProcessEvents() will be called at regular intervals during the file write operation. This is useful to keep the graphical interface responsive during long disk operations. The default value is false. |
Each string in the directories string list must be a full path specification to an existing directory. An output file will be created on each directory, and an independent execution thread will write the corresponding section of the pixel data from the image transported by this ImageVariant. To retrieve the data, call the ReadSwapFiles() member function with the same base file name and output directories.
|
inline |
A synonym for Exchange().
Definition at line 2648 of file ImageVariant.h.
|
inline |
Performs a bitwise XNOR (NOT exclusive OR) operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Xnor()
Definition at line 5953 of file ImageVariant.h.
|
inline |
Performs a bitwise XNOR (exclusive NOR) operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Xnor()
Definition at line 5916 of file ImageVariant.h.
|
inline |
Performs a bitwise XOR (exclusive OR) operation between a subset of pixel samples in this image and the corresponding samples of the specified source image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Xor()
Definition at line 6016 of file ImageVariant.h.
|
inline |
Performs a bitwise XOR (exclusive OR) operation between a subset of pixel samples in this image and the specified scalar. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Xor()
Definition at line 5979 of file ImageVariant.h.
|
inline |
Fills a subset of pixel samples with the constant value resulting from converting the scalar zero (0) to the sample data type of the image. Returns a reference to this image.
This member function is a generalized wrapper for GenericImage::Zero()
Definition at line 6041 of file ImageVariant.h.
|
friend |
Exchanges two ImageVariant instances x1 and x2.
Definition at line 6210 of file ImageVariant.h.