IOLink IOL_v1.8.0_release
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
9namespace iolink
10{
11
15class IOLINK_API MultiImageViewFactory
16{
17public:
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