SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
vsitools.hpp
1// This file is part of slideio project.
2// It is subject to the license terms in the LICENSE file found in the top-level directory
3// of this distribution and at http://slideio.com/license.html.
4#pragma once
5#include <cstdint>
6#include <boost/json/object.hpp>
7#include "etsfile.hpp"
8#include "vsistream.hpp"
9#include "slideio/base/slideio_enums.hpp"
10
11
12namespace slideio
13{
14 namespace vsi
15 {
16 class TagInfo;
17 enum class Compression;
18 enum class StackType;
19 class VSITools
20 {
21 public:
22 static DataType toSlideioPixelType(uint32_t vsiPixelType);
23 static slideio::Compression toSlideioCompression(vsi::Compression format);
24 static StackType intToStackType(int value);
25 static std::string getVolumeName(int tag);
26 static std::string getTagName(const TagInfo& tagInfo, const std::list<TagInfo>& path);
27 static bool isArray(const TagInfo& tagInfo);
28 static std::string getStackTypeName(const std::string& value);
29 static std::string getDeviceSubtype(const std::string& value);
30 static std::string extractTagValue(vsi::VSIStream& vsi, const vsi::TagInfo& tagInfo);
31 private:
32 static bool isTag(const boost::json::object& parentObject, int srcTag);
33 static std::string getDimensionPropertyName(int tag);
34 static std::string getStackPropertyName(int tag);
35 };
36
37 }
38}
Definition: exceptions.hpp:12
Compression
raster data compression enum
Definition: slideio_enums.hpp:12