|
IOLink
IOL_v1.6.1_release
|
5 #include <iolink/DataType.h>
6 #include <iolink/FlagSet.h>
7 #include <iolink/IOLinkAPI.h>
8 #include <iolink/Indexer.h>
9 #include <iolink/RegionX.h>
10 #include <iolink/VectorX.h>
11 #include <iolink/metadata/MetadataNode.h>
12 #include <iolink/property/ImageProperties.h>
13 #include <iolink/view/ParallelAccessExtension.h>
14 #include <iolink/view/TilingInfoExtension.h>
15 #include <iolink/view/View.h>
35 extern template class IOLINK_API_IMPORT FlagSet<ImageCapability>;
111 virtual std::shared_ptr<const ImageProperties> properties() = 0;
116 std::string toString()
const;
129 virtual std::shared_ptr<const MetadataNode> metadata()
const;
142 virtual void read(
const VectorXu64& index,
void* dst);
154 virtual void readRegion(
const RegionXu64& region,
void* dst);
191 std::string spatialUnit();
232 virtual void setProperties(std::shared_ptr<const ImageProperties> properties);
241 virtual void setMetadata(std::shared_ptr<MetadataNode> metadata);
254 virtual void write(
const VectorXu64& index,
const void* src);
266 virtual void writeRegion(
const RegionXu64& region,
const void* src);
282 void setAxesInterpretation(
const ImageType type);
289 void setSpatialOrigin(
const Vector3d& origin);
296 void setSpatialSpacing(
const Vector3d& spacing);
303 void setSpatialUnit(
const std::string& unit);
317 void setBitDepth(
size_t bitDepth);
324 void setAlpha(
bool value);
331 void setValueRange(
const Vector2d& range);
362 virtual const Indexer& indexer();
371 virtual void* buffer();
380 virtual const void* bufferReadOnly()
const;
389 virtual size_t bufferSize();
395 std::shared_ptr<TilingInfoExtension> tilingInfo();
397 std::shared_ptr<ParallelAccessExtension> parallelAccess();
A dynamically sized arithmetic vector.
Definition: VectorX.h:17
Stores information about a data type.
Definition: DataType.h:161
Describes a spatial axis system, with direction vectors describing the three axes.
Definition: SpatialDirections.h:15
@ READ
Data and metadata read capability.
All IOLink symbols are enclosed in this namespace.
Definition: ArrayX.h:7
Interface representing a generic view on data.
Definition: View.h:15
A flag system that describes the dimensions of an image.
Definition: ImageType.h:39
Template class to handle a flags system from an enum.
Definition: FlagSet.h:42
@ RESHAPE
Reshaping capabilities.
ImageCapability
Define capabilities of an ImageView.
Definition: ImageView.h:23
@ READ_WRITE
Combines READ and WRITE.
@ MEMORY_ACCESS
Accessing internal CPU memory buffer.
size_t dimensionCount()
Returns the dimension of the View.
Definition: ImageView.h:78
ImageInterpretation
Interpretation of an Image.
Definition: ImageInfoProperty.h:16
@ WRITE
Data, metadata, and properties write capability.
This class is used to index a classic array into a multi dimensional array.
Definition: Indexer.h:35
A Region using dynamic vectors.
Definition: RegionX.h:13
bool support(ImageCapabilitySet flags)
Checks if the ImageView supports the given capabilities.
Definition: ImageView.h:83
Interface representing an N dimensional image.
Definition: ImageView.h:69