52 #ifndef __PCL_ImageTransformation_h
53 #define __PCL_ImageTransformation_h
58 #include <pcl/Diagnostics.h>
169 throw NotImplemented( *
this,
"Apply to 32-bit floating-point images" );
177 throw NotImplemented( *
this,
"Apply to 64-bit floating-point images" );
289 case 32: Transform(
static_cast<const pcl::Image&
>( *image ) );
break;
290 case 64: Transform(
static_cast<const pcl::DImage&
>( *image ) );
break;
301 case 8: Transform(
static_cast<const pcl::UInt8Image&
>( *image ) );
break;
302 case 16: Transform(
static_cast<const pcl::UInt16Image&
>( *image ) );
break;
303 case 32: Transform(
static_cast<const pcl::UInt32Image&
>( *image ) );
break;
315 throw NotImplemented( *
this,
"Transformation of 32-bit floating-point images" );
323 throw NotImplemented( *
this,
"Transformation of 64-bit floating-point images" );
331 throw NotImplemented( *
this,
"Transformation of 32-bit complex images" );
339 throw NotImplemented( *
this,
"Transformation of 64-bit complex images" );
347 throw NotImplemented( *
this,
"Transformation of 8-bit integer images" );
355 throw NotImplemented( *
this,
"Transformation of 16-bit integer images" );
363 throw NotImplemented( *
this,
"Transformation of 32-bit integer images" );
377 template <
class P>
inline
379 const Rect& rect,
int firstChannel,
int lastChannel )
382 if ( !ParseSelection( r, firstChannel, lastChannel ) )
386 SelectRectangle( r );
387 SelectChannelRange( firstChannel, lastChannel );
391 transformation >> *
this;
405 template <
class P>
inline
407 const Rect& rect,
int firstChannel,
int lastChannel )
const
410 if ( !ParseSelection( r, firstChannel, lastChannel ) )
414 SelectRectangle( r );
415 SelectChannelRange( firstChannel, lastChannel );
Implements a generic, two-dimensional, shared or local image.
void Transform(BidirectionalImageTransformation &transform, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1) const
GenericImage & Apply(T scalar, image_op op=ImageOp::Mov, const Rect &rect=Rect(0), int firstChannel=-1, int lastChannel=-1)
A generic rectangle in the two-dimensional space.
Acts like a union for all types of images in PCL, with optional class-wide ownership of transported i...
bool IsFloatSample() const noexcept
bool IsComplexSample() const noexcept
int BitsPerSample() const noexcept
An exception that indicates an unsupported feature.
Array< T, A > & operator<<(Array< T, A > &x, const V &v)
Console & operator>>(Console &o, char &c)
void Apply(FI i, FI j, F f) noexcept(noexcept(f))