6#include "slideio/drivers/svs/svs_api_def.hpp"
21 std::string_view Name;
22 std::string_view Group;
23 std::string_view Element;
26 explicit PHTDescription(
const std::string& description);
29 PHTDescription(
const PHTDescription&) =
delete;
30 PHTDescription& operator=(
const PHTDescription&) =
delete;
31 PHTDescription(PHTDescription&& other)
noexcept;
32 PHTDescription& operator=(PHTDescription&& other)
noexcept;
36 static bool isPhilipsDescription(
const std::string& description);
42 std::vector<const tinyxml2::XMLElement*> getObjectList(
const tinyxml2::XMLElement* parent,
43 const Attribute& arrayAttribute, std::string_view name)
const;
44 int getAttributeInt(
const tinyxml2::XMLElement* element,
const Attribute& attribute)
const;
45 std::string getAttributeText(
const tinyxml2::XMLElement* element,
const Attribute& attribute)
const;
49 std::vector<std::string> getAttributeTextList(
const tinyxml2::XMLElement* element,
const Attribute& attribute)
const;
50 std::vector<double> getAttributeDoubleList(
const tinyxml2::XMLElement* element,
const Attribute& attribute)
const;
51 const tinyxml2::XMLElement* getRoot()
const;
52 bool hasAttribute(
const tinyxml2::XMLElement* element,
const Attribute& attribute)
const;
54 std::unique_ptr<tinyxml2::XMLDocument> m_doc;
64 inline constexpr PHTDescription::Attribute MANUFACTURER = {
"DICOM_MANUFACTURER",
"0x0008",
"0x0070" };
65 inline constexpr PHTDescription::Attribute SOFTWARE_VERSIONS = {
"DICOM_SOFTWARE_VERSIONS",
"0x0018",
"0x1020" };
66 inline constexpr PHTDescription::Attribute UFS_INTERFACE_VERSION = {
"PIM_DP_UFS_INTERFACE_VERSION",
"0x301D",
"0x1001" };
67 inline constexpr PHTDescription::Attribute UFS_BARCODE = {
"PIM_DP_UFS_BARCODE",
"0x301D",
"0x1002" };
68 inline constexpr PHTDescription::Attribute SCANNED_IMAGES = {
"PIM_DP_SCANNED_IMAGES",
"0x301D",
"0x1003" };
71 inline constexpr PHTDescription::Attribute IMAGE_TYPE = {
"PIM_DP_IMAGE_TYPE",
"0x301D",
"0x1004" };
72 inline constexpr PHTDescription::Attribute IMAGE_DATA = {
"PIM_DP_IMAGE_DATA",
"0x301D",
"0x1005" };
73 inline constexpr PHTDescription::Attribute IMAGE_ROWS = {
"PIM_DP_IMAGE_ROWS",
"0x301D",
"0x1006" };
74 inline constexpr PHTDescription::Attribute IMAGE_COLUMNS = {
"PIM_DP_IMAGE_COLUMNS",
"0x301D",
"0x1007" };
75 inline constexpr PHTDescription::Attribute SOURCE_FILE = {
"PIM_DP_SOURCE_FILE",
"0x301D",
"0x1000" };
76 inline constexpr PHTDescription::Attribute PIXEL_TRANSFORMATION_METHOD = {
"UFS_IMAGE_PIXEL_TRANSFORMATION_METHOD",
"0x301D",
"0x2013" };
77 inline constexpr PHTDescription::Attribute DERIVATION_DESCRIPTION = {
"DICOM_DERIVATION_DESCRIPTION",
"0x0008",
"0x2111" };
78 inline constexpr PHTDescription::Attribute IMAGE_RESOLUTION = {
"DICOM_PIXEL_SPACING",
"0x0028",
"0x0030" };
81 inline constexpr PHTDescription::Attribute SAMPLES_PER_PIXEL = {
"DICOM_SAMPLES_PER_PIXEL",
"0x0028",
"0x0002" };
82 inline constexpr PHTDescription::Attribute PHOTOMETRIC_INTERPRETATION = {
"DICOM_PHOTOMETRIC_INTERPRETATION",
"0x0028",
"0x0004" };
83 inline constexpr PHTDescription::Attribute PLANAR_CONFIGURATION = {
"DICOM_PLANAR_CONFIGURATION",
"0x0028",
"0x0006" };
84 inline constexpr PHTDescription::Attribute BITS_ALLOCATED = {
"DICOM_BITS_ALLOCATED",
"0x0028",
"0x0100" };
85 inline constexpr PHTDescription::Attribute BITS_STORED = {
"DICOM_BITS_STORED",
"0x0028",
"0x0101" };
86 inline constexpr PHTDescription::Attribute HIGH_BIT = {
"DICOM_HIGH_BIT",
"0x0028",
"0x0102" };
87 inline constexpr PHTDescription::Attribute PIXEL_REPRESENTATION = {
"DICOM_PIXEL_REPRESENTATION",
"0x0028",
"0x0103" };
90 inline constexpr PHTDescription::Attribute LOSSY_IMAGE_COMPRESSION = {
"DICOM_LOSSY_IMAGE_COMPRESSION",
"0x0028",
"0x2110" };
91 inline constexpr PHTDescription::Attribute LOSSY_IMAGE_COMPRESSION_RATIO = {
"DICOM_LOSSY_IMAGE_COMPRESSION_RATIO",
"0x0028",
"0x2112" };
92 inline constexpr PHTDescription::Attribute LOSSY_IMAGE_COMPRESSION_METHOD = {
"DICOM_LOSSY_IMAGE_COMPRESSION_METHOD",
"0x0028",
"0x2114" };
95 inline constexpr PHTDescription::Attribute LEVEL_SEQUENCE = {
"PIIM_PIXEL_DATA_REPRESENTATION_SEQUENCE",
"0x1001",
"0x8B01" };
96 inline constexpr PHTDescription::Attribute LEVEL_NUMBER = {
"PIIM_PIXEL_DATA_REPRESENTATION_NUMBER",
"0x1001",
"0x8B02" };
97 inline constexpr PHTDescription::Attribute LEVEL_ROWS = {
"PIIM_PIXEL_DATA_REPRESENTATION_ROWS",
"0x2001",
"0x115D" };
98 inline constexpr PHTDescription::Attribute LEVEL_COLUMNS = {
"PIIM_PIXEL_DATA_REPRESENTATION_COLUMNS",
"0x2001",
"0x115E" };
99 inline constexpr PHTDescription::Attribute LEVEL_POSITION = {
"PIIM_DP_PIXEL_DATA_REPRESENTATION_POSITION",
"0x101D",
"0x100B" };
101 inline constexpr std::string_view SCANNED_IMAGE =
"DPScannedImage";
102 inline constexpr std::string_view WSI =
"WSI";
103 inline constexpr std::string_view PIXEL_DATA_REPRESENTATION =
"PixelDataRepresentation";
104 inline constexpr std::string_view DP_UFS_IMPORT =
"DPUfsImport";
Definition: exceptions.hpp:15