SlideIO 2.0.0
Open-source library for reading of medical images
Loading...
Searching...
No Matches
encodeparameters.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 "slideio/base/slideio_enums.hpp"
6
7namespace slideio {
8 class EncodeParameters {
9 protected:
10 EncodeParameters() : m_compression(Compression::Unknown) {};
11 public:
12 Compression getCompression() const {
13 return m_compression;
14 }
15 protected:
16 Compression m_compression;
17 };
18 class JpegEncodeParameters : public EncodeParameters {
19 public:
20 JpegEncodeParameters(int quality = 95) {
21 m_compression = Compression::Jpeg;
22 m_quality = quality;
23 }
24 int getQuality() const {
25 return m_quality;
26 }
27 void setQuality(int quality) {
28 m_quality = quality;
29 }
30 private:
31 int m_quality;
32 };
33 class JP2KEncodeParameters : public EncodeParameters {
34 public:
35 enum Codec {
36 J2KStream,
37 J2KFile
38 };
39 JP2KEncodeParameters(float rate = 4.5, Codec codec = Codec::J2KStream) {
40 m_compression = Compression::Jpeg2000;
41 m_subSamplingDX = 1;
42 m_subSamplingDY = 1;
43 m_codecFormat = codec;
44 m_compressionRate = rate;
45 }
46 int getSubSamplingDx() const {
47 return m_subSamplingDX;
48 }
49 void setSubSamplingDx(int subSamplingDx) {
50 m_subSamplingDX = subSamplingDx;
51 }
52 int getSubSamplingDy() const {
53 return m_subSamplingDY;
54 }
55 void setSubSamplingDy(int subSamplingDy) {
56 m_subSamplingDY = subSamplingDy;
57 }
58 Codec getCodecFormat() const {
59 return m_codecFormat;
60 }
61 void setCodecFormat(Codec codecFormat) {
62 m_codecFormat = codecFormat;
63 }
64 float getCompressionRate() const {
65 return m_compressionRate;
66 }
67 void setCompressionRate(float compressionRate) {
68 m_compressionRate = compressionRate;
69 }
70 private:
71 int m_subSamplingDX;
72 int m_subSamplingDY;
73 Codec m_codecFormat;
74 float m_compressionRate;
75 };
76}
Definition: exceptions.hpp:15
Compression
raster data compression enum
Definition: slideio_enums.hpp:12
@ Jpeg
JPEG compression.
@ Unknown
Unknown compression.
@ Jpeg2000
JPEG 2000 compression.