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
17ML_START_NAMESPACE
18
33
34public:
35
38 static FileReaderPluginsBase* createLoaderInstance(const std::string &fileName);
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
108 virtual MLErrorCode fillSubImage(SubImage &dstSubImage) = 0;
109
118 virtual std::string getTagDump(const size_t maxNumBinaryEntries = 8,
119 const size_t maxNumStringEntries = 20);
120
123 virtual void close() = 0;
124
136 virtual void setReferenceForFillingInReferenceCoordinates(const PagedImage* refImg = nullptr);
137
140
143
144protected:
148
149private:
151 const PagedImage* _referencePagedImage;
152
155 size_t _currentImageIndex;
156
159};
160
161ML_END_NAMESPACE
#define MLFileReaderPluginsBase_EXPORT
DLL export macro definition.
virtual bool isSupported(const std::string &fileName) const =0
virtual void setSelectedImageIndex(size_t idx=0)
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)
virtual unsigned int extractImageIndexValue(const std::string &codedLoaderPluginString)
virtual size_t getNumberOfImagesInFile()=0
virtual void setReferenceForFillingInReferenceCoordinates(const PagedImage *refImg=nullptr)
virtual void close()=0
virtual std::string getTagDump(const size_t maxNumBinaryEntries=8, const size_t maxNumStringEntries=20)
static FileReaderPluginsBase * createLoaderInstance(const std::string &fileName)
virtual MLErrorCode loadFile(const std::string &fileName)=0
virtual size_t getSelectedImageIndex() const
Returns the currently selected image from inside the loaded file.
virtual double getPluginPriority() const
virtual MLErrorCode fillSubImage(SubImage &dstSubImage)=0
virtual const PagedImage * getReferenceForFillingInReferenceCoordinates() const
Returns the recently set "enabled" state set with setSubImageFillingInReferenceCoordinates().
virtual const PagedImage & getPagedImageProperties()=0
ImageVector _determineWorldDifferenceAsVoxelShift(const PagedImage &destination) const
FileReaderPluginsBase()
Constructor.
MLint32 MLErrorCode
Type of an ML Error code.
Definition mlTypeDefs.h:715
#define ML_ABSTRACT_ROOT_CLASS_HEADER(className)
TImageVector< MLint > ImageVector
Defines the standard ImageVector type that is used by the ML for indexing and coordinates.