MeVisLab Toolbox Reference
mlFileReaderPluginsBase.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code
3//----------------------------------------------------------------------------------
5
10//----------------------------------------------------------------------------------
11
12#pragma once
13
15#include <mlModuleIncludes.h>
16
18
33
34public:
35
39
42
45
49 virtual bool isSupported(const std::string& fileName) const = 0;
50
55 virtual double getPluginPriority() const;
56
63 virtual MLErrorCode loadFile(const std::string& fileName) = 0;
64
67 virtual size_t getNumberOfImagesInFile() = 0;
68
72 virtual std::string getCodedImageIndexString(unsigned int imgIdx);
73
82 virtual unsigned int extractImageIndexValue(const std::string& codedLoaderPluginString);
83
87 virtual void setSelectedImageIndex(size_t idx = 0);
88
90 virtual size_t getSelectedImageIndex() const;
91
94 virtual const PagedImage &getPagedImageProperties() = 0;
95
109
118 virtual std::string getTagDump(const size_t maxNumBinaryEntries = 8,
119 const size_t maxNumStringEntries = 20);
120
123 virtual void close() = 0;
124
137
140
143
144protected:
148
149private:
151 const PagedImage* _referencePagedImage;
152
155 size_t _currentImageIndex;
156
159};
160
Project global and OS specific declarations.
#define MLFileReaderPluginsBase_EXPORT
DLL export macro definition.
Base class for a generic file reader plugin with factory interface.
virtual bool isSupported(const std::string &fileName) const =0
Applies a fast check whether the file is probably supported or not, for example via the suffix.
virtual void setSelectedImageIndex(size_t idx=0)
Selects which image from inside the loaded file shall be used.
virtual bool supportsFillingInReferenceCoordinates() const
Returns true if the loader instance support SubImage filling in reference coordinates,...
virtual ~FileReaderPluginsBase()
Destructor cleaning up allocated structures and closing a possibly open file.
virtual std::string getCodedImageIndexString(unsigned int imgIdx)
If getNumberOfImagesInFile() is <=1 then the plugin string id getTypeId()->getName() is returned,...
virtual unsigned int extractImageIndexValue(const std::string &codedLoaderPluginString)
From a string of the format "LoaderPluginName+#IDX" extract "IDX" as unsigned int,...
virtual size_t getNumberOfImagesInFile()=0
Returns the number of images which are accessible in the loaded file; normally one,...
virtual void setReferenceForFillingInReferenceCoordinates(const PagedImage *refImg=nullptr)
If a valid PagedImage pointer is passed then each fillSubImage operation will take into account the d...
virtual void close()=0
Closes the file and cleans up data structures.
virtual std::string getTagDump(const size_t maxNumBinaryEntries=8, const size_t maxNumStringEntries=20)
This function returns a tag or meta data dump of the loaded file or an empty string if not possible (...
static FileReaderPluginsBase * createLoaderInstance(const std::string &fileName)
Factory functionality: Instantiate a loader for the file name fileName and return a new instance of i...
virtual MLErrorCode loadFile(const std::string &fileName)=0
Opens and loads a file such that getPagedImageProperties() and fillSubImage() can be used to retrieve...
virtual size_t getSelectedImageIndex() const
Returns the currently selected image from inside the loaded file.
virtual double getPluginPriority() const
Returns a priority over other loader plugins, low priorities mean that other loader plugins with high...
virtual MLErrorCode fillSubImage(SubImage &dstSubImage)=0
Copy overlapping regions in dstSubImage with image data from the loaded file; note that the calculati...
virtual const PagedImage * getReferenceForFillingInReferenceCoordinates() const
Returns the recently set "enabled" state set with setSubImageFillingInReferenceCoordinates().
virtual const PagedImage & getPagedImageProperties()=0
Returns the properties of the currently loaded image.
ImageVector _determineWorldDifferenceAsVoxelShift(const PagedImage &destination) const
Determines a translation vector for SubImages boxes which represents the world difference between the...
FileReaderPluginsBase()
Constructor.
The class PagedImage, representing a fragmented image that manages properties and data of an image lo...
This class manages/represents a rectangular 6D image region that is organized linearly in memory.
Definition mlSubImage.h:75
MLint32 MLErrorCode
Type of an ML Error code.
Definition mlTypeDefs.h:716
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
#define ML_ABSTRACT_ROOT_CLASS_HEADER(className)