Mercurial > hg > orthanc-wsi
annotate Framework/Outputs/DicomPyramidWriter.h @ 288:a1efc5c39615
fix LSB build
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 12 Jul 2023 23:37:38 +0200 |
parents | 20a730889ae2 |
children | 7020852a8fa9 |
rev | line source |
---|---|
0 | 1 /** |
2 * Orthanc - A Lightweight, RESTful DICOM Store | |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | |
4 * Department, University Hospital of Liege, Belgium | |
254 | 5 * Copyright (C) 2017-2023 Osimis S.A., Belgium |
6 * Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium | |
0 | 7 * |
8 * This program is free software: you can redistribute it and/or | |
9 * modify it under the terms of the GNU Affero General Public License | |
10 * as published by the Free Software Foundation, either version 3 of | |
11 * the License, or (at your option) any later version. | |
12 * | |
13 * This program is distributed in the hope that it will be useful, but | |
14 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 * Affero General Public License for more details. | |
17 * | |
18 * You should have received a copy of the GNU Affero General Public License | |
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
20 **/ | |
21 | |
22 | |
23 #pragma once | |
24 | |
25 #include "PyramidWriterBase.h" | |
26 #include "MultiframeDicomWriter.h" | |
61
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
27 #include "../Targets/IFileTarget.h" |
0 | 28 #include "../ImagedVolumeParameters.h" |
29 | |
30 namespace OrthancWSI | |
31 { | |
32 class DicomPyramidWriter : public PyramidWriterBase | |
33 { | |
34 private: | |
35 std::vector<MultiframeDicomWriter*> writers_; | |
36 | |
37 boost::mutex mutex_; // Protects the access to "writers_" | |
38 IFileTarget& target_; | |
39 const DcmDataset& dataset_; | |
40 size_t maxSize_; | |
41 size_t countTiles_; | |
42 unsigned int countInstances_; | |
167
605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
157
diff
changeset
|
43 |
605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
157
diff
changeset
|
44 const ImagedVolumeParameters& volume_; |
605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
157
diff
changeset
|
45 Orthanc::PhotometricInterpretation photometric_; |
0 | 46 |
47 void FlushInternal(MultiframeDicomWriter& writer, | |
48 bool force); | |
49 | |
50 DcmItem* CreateFunctionalGroup(unsigned int frame, | |
51 unsigned int x, | |
52 unsigned int y, | |
53 unsigned int totalWidth, | |
54 unsigned int totalHeight, | |
55 float physicalZ) const; | |
56 | |
57 protected: | |
58 virtual void WriteRawTileInternal(const std::string& tile, | |
59 const Level& level, | |
60 unsigned int x, | |
216 | 61 unsigned int y) ORTHANC_OVERRIDE; |
0 | 62 |
216 | 63 virtual void AddLevelInternal(const Level& level) ORTHANC_OVERRIDE |
0 | 64 { |
65 } | |
66 | |
67 public: | |
68 DicomPyramidWriter(IFileTarget& target, | |
69 const DcmDataset& dataset, | |
70 Orthanc::PixelFormat pixelFormat, | |
71 ImageCompression compression, | |
72 unsigned int tileWidth, | |
73 unsigned int tileHeight, | |
74 size_t maxSize, // If "0", no automatic flushing | |
167
605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
157
diff
changeset
|
75 const ImagedVolumeParameters& volume, |
605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
157
diff
changeset
|
76 Orthanc::PhotometricInterpretation photometric); |
0 | 77 |
78 virtual ~DicomPyramidWriter(); | |
79 | |
216 | 80 virtual void Flush() ORTHANC_OVERRIDE; |
0 | 81 }; |
82 } |