framework.h file
Frameworks are the basis of most pixel-based processing in DIPlib. See Frameworks, The library infrastructure.
Contents
- Reference
Namespaces
- namespace dip::
Framework - Frameworks are the basis of most pixel-based processing in DIPlib.
Classes
-
struct dip::
Framework:: ScanBuffer - Structure that holds information about input or output pixel buffers for the
dip::Framework::Scan
callback function object. -
struct dip::
Framework:: ScanLineFilterParameters - Parameters to the line filter for
dip::Framework::Scan
. -
class dip::
Framework:: ScanLineFilter abstract - Prototype line filter for
dip::Framework::Scan
. -
template<dip::uint N, typename TPI, typename F>class dip::
Framework:: VariadicScanLineFilter - An implementation of the ScanLinefilter for N input images and 1 output image.
-
struct dip::
Framework:: SeparableBuffer - Structure that holds information about input or output pixel buffers
for the
dip::Framework::Separable
callback function object. -
struct dip::
Framework:: SeparableLineFilterParameters - Parameters to the line filter for
dip::Framework::Separable
. -
class dip::
Framework:: SeparableLineFilter abstract - Prototype line filter for
dip::Framework::Separable
. -
struct dip::
Framework:: FullBuffer - Structure that holds information about input or output pixel buffers
for the
dip::Framework::Full
callback function object. -
struct dip::
Framework:: FullLineFilterParameters - Parameters to the line filter for
dip::Framework::Full
. -
class dip::
Framework:: FullLineFilter abstract - Prototype line filter for
dip::Framework::Full
. -
class dip::
Framework:: ProjectionFunction abstract - Prototype line filter for
dip::Framework::Projection
.
Aliases
-
using dip::
Framework:: ScanOptions = dip::detail::Options - Combines any number of
dip::Framework::ScanOption
constants together. -
using dip::
Framework:: SeparableOptions = dip::detail::Options - Combines any number of
dip::Framework::SeparableOption
constants together. -
using dip::
Framework:: FullOptions = dip::detail::Options - Combines any number of
dip::Framework::FullOption
constants together. -
using dip::
Framework:: ProjectionOptions = dip::detail::Options - Combines any number of
dip::Framework::ProjectionOption
constants together.
Enums
-
enum class dip::
Framework:: ScanOption: uint8{ NoMultiThreading, NeedCoordinates, TensorAsSpatialDim, ExpandTensorInBuffer, NoSingletonExpansion, NotInPlace } - Defines options to the
dip::Framework::Scan
function. -
enum class dip::
Framework:: SeparableOption: uint8{ NoMultiThreading, AsScalarImage, ExpandTensorInBuffer, UseOutputBorder, DontResizeOutput, UseInputBuffer, UseOutputBuffer, CanWorkInPlace, UseRealComponentOfOutput } - Defines options to the
dip::Framework::Separable
function. -
enum class dip::
Framework:: FullOption: uint8{ NoMultiThreading, AsScalarImage, ExpandTensorInBuffer, BorderAlreadyExpanded } - Defines options to the
dip::Framework::Full
function. -
enum class dip::
Framework:: ProjectionOption: uint8{ NoMultiThreading } - Defines options to the
dip::Framework::Projection
function.
Functions
-
void dip::
Framework:: SingletonExpandedSize(dip::UnsignedArray& size1, dip::UnsignedArray const& size2) - Determines the singleton-expanded size as a combination of the two sizes.
-
auto dip::
Framework:: SingletonExpandedSize(dip::ImageConstRefArray const& in) -> dip::UnsignedArray - Determines if images can be singleton-expanded to the same size, and what that size would be.
-
auto dip::
Framework:: SingletonExpandedSize(dip::ImageArray const& in) -> dip::UnsignedArray - Determines if images can be singleton-expanded to the same size, and what that size would be.
-
auto dip::
Framework:: SingletonExpendedTensorElements(dip::ImageArray const& in) -> dip::uint - Determines if tensors in images can be singleton-expanded to the same size, and what that size would be.
-
auto dip::
Framework:: OptimalProcessingDim(dip::Image const& in) -> dip::uint - Determines the best processing dimension, which is the one with the smallest stride, except if that dimension is very small and there’s a longer dimension.
-
auto dip::
Framework:: OptimalProcessingDim(dip::Image const& in, dip::UnsignedArray const& kernelSizes) -> dip::uint - Determines the best processing dimension as above, but giving preference to a dimension where
kernelSizes
is large also. -
void dip::
Framework:: Scan(dip::ImageConstRefArray const& in, dip::ImageRefArray& out, dip::DataTypeArray const& inBufferTypes, dip::DataTypeArray const& outBufferTypes, dip::DataTypeArray const& outImageTypes, dip::UnsignedArray const& nTensorElements, dip::Framework::ScanLineFilter& lineFilter, dip::Framework::ScanOptions opts = {}) - Framework for pixel-based processing of images.
-
void dip::
Framework:: ScanSingleOutput(dip::Image& out, dip::DataType bufferType, dip::Framework::ScanLineFilter& lineFilter, dip::Framework::ScanOptions opts = {}) - Calls
dip::Framework::Scan
with one output image, which is already forged. ThelineFilter
will be called with an output buffer of typebufferType
. -
void dip::
Framework:: ScanSingleInput(dip::Image const& in, dip::Image const& c_mask, dip::DataType bufferType, dip::Framework::ScanLineFilter& lineFilter, dip::Framework::ScanOptions opts = {}) - Calls
dip::Framework::Scan
with one input image and a mask image, and no output image. -
void dip::
Framework:: ScanMonadic(dip::Image const& in, dip::Image& out, dip::DataType bufferTypes, dip::DataType outImageType, dip::uint nTensorElements, dip::Framework::ScanLineFilter& lineFilter, dip::Framework::ScanOptions opts = {}) - Calls
dip::Framework::Scan
with one input image and one output image. -
void dip::
Framework:: ScanDyadic(dip::Image const& in1, dip::Image const& in2, dip::Image& out, dip::DataType inBufferType, dip::DataType outBufferType, dip::DataType outImageType, dip::Framework::ScanLineFilter& lineFilter, dip::Framework::ScanOptions opts = {}) - Calls
dip::Framework::Scan
with two input images and one output image. -
template<typename TPI, typename F>auto dip::
Framework:: NewMonadicScanLineFilter(F const& func, dip::uint cost = 1) -> std::unique_ptr<ScanLineFilter> - Support for quickly defining monadic operators (1 input image, 1 output image).
See
dip::Framework::VariadicScanLineFilter
. -
template<typename TPI, typename F>auto dip::
Framework:: NewDyadicScanLineFilter(F const& func, dip::uint cost = 1) -> std::unique_ptr<ScanLineFilter> - Support for quickly defining dyadic operators (2 input images, 1 output image).
See
dip::Framework::VariadicScanLineFilter
. -
template<typename TPI, typename F>auto dip::
Framework:: NewTriadicScanLineFilter(F const& func, dip::uint cost = 1) -> std::unique_ptr<ScanLineFilter> - Support for quickly defining triadic operators (3 input images, 1 output image).
See
dip::Framework::VariadicScanLineFilter
. -
template<typename TPI, typename F>auto dip::
Framework:: NewTetradicScanLineFilter(F const& func, dip::uint cost = 1) -> std::unique_ptr<ScanLineFilter> - Support for quickly defining tetradic operators (4 input images, 1 output image).
See
dip::Framework::VariadicScanLineFilter
. -
void dip::
Framework:: Separable(dip::Image const& in, dip::Image& out, dip::DataType bufferType, dip::DataType outImageType, dip::BooleanArray process, dip::UnsignedArray border, dip::BoundaryConditionArray boundaryCondition, dip::Framework::SeparableLineFilter& lineFilter, dip::Framework::SeparableOptions opts = {}) - Framework for separable filtering of images.
-
void dip::
Framework:: OneDimensionalLineFilter(dip::Image const& in, dip::Image& out, dip::DataType inBufferType, dip::DataType outBufferType, dip::DataType outImageType, dip::uint processingDimension, dip::uint border, dip::BoundaryCondition boundaryCondition, dip::Framework::SeparableLineFilter& lineFilter, dip::Framework::SeparableOptions opts = {}) - Framework for filtering of image lines. This is a version of
dip::Framework::Separable
that works along one dimension only. -
void dip::
Framework:: Full(dip::Image const& in, dip::Image& out, dip::DataType inBufferType, dip::DataType outBufferType, dip::DataType outImageType, dip::uint nTensorElements, dip::BoundaryConditionArray const& boundaryCondition, dip::Kernel const& kernel, dip::Framework::FullLineFilter& lineFilter, dip::Framework::FullOptions opts = {}) - Framework for filtering of images with an arbitrary shape neighborhood.
-
void dip::
Framework:: Projection(dip::Image const& in, dip::Image const& mask, dip::Image& out, dip::DataType outImageType, dip::BooleanArray process, dip::Framework::ProjectionFunction& projectionFunction, dip::Framework::ProjectionOptions opts = {}) - Framework for projecting one or more dimensions of an image.