| IOLink 1.11.0

Loading...
Searching...
No Matches
MultiImageViewFactory.h
1#pragma once
2
3#include <iolink/IOLinkAPI.h>
4#include <iolink/view/ImageView.h>
5#include <iolink/view/MultiImageView.h>
6
7#include <memory>
8
9 namespace iolink
10{
11
15 class IOLINK_API MultiImageViewFactory
16{
17 public:
18 MultiImageViewFactory() = delete;
19 MultiImageViewFactory(const MultiImageViewFactory& other) = delete; // copy constructor
20 MultiImageViewFactory(MultiImageViewFactory&& other) = delete; // move constructor
21 MultiImageViewFactory& operator=(const MultiImageViewFactory& other) = delete; // copy assignment
22 MultiImageViewFactory& operator=(MultiImageViewFactory&& other) = delete; // move assignment
23
27 static std::shared_ptr<MultiImageView> create();
28
34 static std::shared_ptr<MultiImageView> create(std::initializer_list<std::shared_ptr<ImageView>> init);
35
43 static std::shared_ptr<MultiImageView> createFromList(std::shared_ptr<ImageView>* listImages, size_t count);
44
56 static std::shared_ptr<MultiImageView> unstack(std::shared_ptr<ImageView> imageView, size_t idxDimensionUnstack);
57
70 static std::shared_ptr<MultiImageView> unstack(std::shared_ptr<ImageView> imageView, ImageDimension dimension);
80 static std::shared_ptr<MultiImageView> deinterlace(std::shared_ptr<ImageView> imageView);
81};
82
83} // end namespace iolink
iolink::MultiImageViewFactory
This factory is aimed at creating stack of ImageViews.
Definition MultiImageViewFactory.h:16
iolink::MultiImageViewFactory::createFromList
static std::shared_ptr< MultiImageView > createFromList(std::shared_ptr< ImageView > *listImages, size_t count)
Creates a MultiImageView with given list of frames.
iolink::MultiImageViewFactory::unstack
static std::shared_ptr< MultiImageView > unstack(std::shared_ptr< ImageView > imageView, size_t idxDimensionUnstack)
Creates a MultiImageView from an ImageView ImageView (whose dimension is greater than 2) is unstacked...
iolink::MultiImageViewFactory::unstack
static std::shared_ptr< MultiImageView > unstack(std::shared_ptr< ImageView > imageView, ImageDimension dimension)
Creates a MultiImageView from an ImageView ImageView (whose dimension is greater than 2) is unstacked...
iolink::MultiImageViewFactory::create
static std::shared_ptr< MultiImageView > create(std::initializer_list< std::shared_ptr< ImageView > > init)
Creates an MultiImageView with given list of frames.
iolink::MultiImageViewFactory::deinterlace
static std::shared_ptr< MultiImageView > deinterlace(std::shared_ptr< ImageView > imageView)
Creates a MultiImageView from an ImageView, containing as many ImageViews as there are channels in or...
iolink::MultiImageViewFactory::create
static std::shared_ptr< MultiImageView > create()
Creates an empty MultiImageView.
iolink
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8
iolink::ImageDimension
ImageDimension
Enum used in ImageType to represent each dimension of an Image.
Definition ImageType.h:16