comparison Framework/ImageToolbox.h @ 0:4a7a53257c7d

initial commit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 22 Oct 2016 21:48:33 +0200
parents
children 7a3853d51c45
comparison
equal deleted inserted replaced
-1:000000000000 0:4a7a53257c7d
1 /**
2 * Orthanc - A Lightweight, RESTful DICOM Store
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
4 * Department, University Hospital of Liege, Belgium
5 *
6 * This program is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU Affero General Public License
8 * as published by the Free Software Foundation, either version 3 of
9 * the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 **/
19
20
21 #pragma once
22
23 #include "Orthanc/Core/Images/ImageAccessor.h"
24 #include "Enumerations.h"
25 #include "Inputs/ITiledPyramid.h"
26
27 #include <stdint.h>
28
29 namespace OrthancWSI
30 {
31 namespace ImageToolbox
32 {
33 Orthanc::ImageAccessor* Allocate(Orthanc::PixelFormat format,
34 unsigned int width,
35 unsigned int height);
36
37 void Embed(Orthanc::ImageAccessor& target,
38 const Orthanc::ImageAccessor& source,
39 unsigned int x,
40 unsigned int y);
41
42 inline void Copy(Orthanc::ImageAccessor& target,
43 const Orthanc::ImageAccessor& source)
44 {
45 Embed(target, source, 0, 0);
46 }
47
48 void Set(Orthanc::ImageAccessor& image,
49 uint8_t r,
50 uint8_t g,
51 uint8_t b);
52
53 Orthanc::ImageAccessor* DecodeTile(const std::string& source,
54 ImageCompression compression);
55
56 void EncodeTile(std::string& target,
57 const Orthanc::ImageAccessor& source,
58 ImageCompression compression,
59 uint8_t quality); // Only for JPEG compression
60
61 void ChangeTileCompression(std::string& target,
62 const std::string& source,
63 ImageCompression sourceCompression,
64 ImageCompression targetCompression,
65 uint8_t quality); // Only for JPEG compression
66
67 Orthanc::ImageAccessor* Halve(const Orthanc::ImageAccessor& source,
68 bool smooth);
69
70 Orthanc::ImageAccessor* Clone(const Orthanc::ImageAccessor& accessor);
71
72 Orthanc::ImageAccessor* Render(ITiledPyramid& pyramid,
73 unsigned int level);
74 }
75 }