annotate OrthancCppClient/SharedLibrary/AUTOGENERATED/OrthancCppClient.h @ 986:de18e90d5507

fix GetVoxelSizeZ
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 01 Jul 2014 16:51:18 +0200
parents f2841a9e04cf
children 7cbcd580cd21
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 * Laaw - Lightweight, Automated API Wrapper
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 * Copyright (C) 2010-2013 Jomago - Alain Mazy, Benjamin Golinvaux,
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 * Sebastien Jodogne
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 * This program is free software: you can redistribute it and/or
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 * modify it under the terms of the GNU General Public License as
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 * published by the Free Software Foundation, either version 3 of the
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 * License, or (at your option) any later version.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 * In addition, as a special exception, the copyright holders of this
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 * program give permission to link the code of its release with the
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 * OpenSSL project's "OpenSSL" library (or with modified versions of it
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 * that use the same license as the "OpenSSL" library), and distribute
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 * the linked executables. You must obey the GNU General Public License
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 * in all respects for all of the code used other than "OpenSSL". If you
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 * modify file(s) with this exception, you may extend this exception to
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 * your version of the file(s), but you are not obligated to do so. If
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 * you do not wish to do so, delete this exception statement from your
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 * version. If you delete this exception statement from all source files
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 * in the program, then also delete it here.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 * This program is distributed in the hope that it will be useful, but
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 * WITHOUT ANY WARRANTY; without even the implied warranty of
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 * General Public License for more details.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 * You should have received a copy of the GNU General Public License
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 * along with this program. If not, see <http://www.gnu.org/licenses/>.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 * @file
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 #pragma once
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 #include <stdexcept>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 #include <memory>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 #include <string>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 #include <string.h>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 #if defined(_WIN32)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 /********************************************************************
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 ** This is the Windows-specific section
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 ********************************************************************/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 #include <windows.h>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 /* cf. http://sourceforge.net/p/predef/wiki/Architectures/ */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 #ifdef _M_X64
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 /* 64 bits target */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 #define LAAW_ORTHANC_CLIENT_CALL_CONV __fastcall
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 #define LAAW_ORTHANC_CLIENT_CALL_DECORATION(Name, StdCallSuffix) Name
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 #define LAAW_ORTHANC_CLIENT_DEFAULT_PATH "OrthancClient_Windows64.dll"
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 #else
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 /* 32 bits target */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 #define LAAW_ORTHANC_CLIENT_CALL_CONV __stdcall
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 #define LAAW_ORTHANC_CLIENT_CALL_DECORATION(Name, StdCallSuffix) "_" Name "@" StdCallSuffix
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 #define LAAW_ORTHANC_CLIENT_DEFAULT_PATH "OrthancClient_Windows32.dll"
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 #define LAAW_ORTHANC_CLIENT_HANDLE_TYPE HINSTANCE
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 #define LAAW_ORTHANC_CLIENT_HANDLE_NULL 0
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 #define LAAW_ORTHANC_CLIENT_FUNCTION_TYPE FARPROC
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 #define LAAW_ORTHANC_CLIENT_LOADER(path) LoadLibraryA(path)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 #define LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle, name, decoration) GetProcAddress(handle, LAAW_ORTHANC_CLIENT_CALL_DECORATION(name, decoration))
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 #define LAAW_ORTHANC_CLIENT_CLOSER(handle) FreeLibrary(handle)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 /********************************************************************
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 ** This is the Linux-specific section
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 ********************************************************************/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 #elif defined (__linux)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 #include <stdlib.h>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 #include <dlfcn.h>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 /* cf. http://sourceforge.net/p/predef/wiki/Architectures/ */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 #ifdef __amd64__
629
0526d6246cc3 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 601
diff changeset
84 #define LAAW_ORTHANC_CLIENT_DEFAULT_PATH "libOrthancClient.so.0.7"
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 #else
629
0526d6246cc3 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 601
diff changeset
86 #define LAAW_ORTHANC_CLIENT_DEFAULT_PATH "libOrthancClient.so.0.7"
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 #define LAAW_ORTHANC_CLIENT_CALL_CONV
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 #define LAAW_ORTHANC_CLIENT_HANDLE_TYPE void*
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91 #define LAAW_ORTHANC_CLIENT_HANDLE_NULL NULL
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 #define LAAW_ORTHANC_CLIENT_FUNCTION_TYPE intptr_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 #define LAAW_ORTHANC_CLIENT_LOADER(path) dlopen(path, RTLD_LAZY)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 #define LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle, name, decoration) (LAAW_ORTHANC_CLIENT_FUNCTION_TYPE) dlsym(handle, name)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 #define LAAW_ORTHANC_CLIENT_CLOSER(handle) dlclose(handle)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 #else
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 #error Please support your platform here
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 /********************************************************************
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 ** Definition of the integer types
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105 ********************************************************************/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107 #ifndef LAAW_INT8 // Only define the integer types once
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 #if defined(__GNUC__)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 // Under GCC (including MinGW), the stdint.h standard header is used.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 #include <stdint.h>
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 #define LAAW_INT8 int8_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 #define LAAW_UINT8 uint8_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 #define LAAW_INT16 int16_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 #define LAAW_UINT16 uint16_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 #define LAAW_INT32 int32_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 #define LAAW_UINT32 uint32_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 #define LAAW_INT64 int64_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 #define LAAW_UINT64 uint64_t
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 #elif defined(_MSC_VER)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 // Under Visual Studio, it is required to define the various integer
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 // types by hand.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 #if (_MSC_VER < 1300)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 typedef signed char LAAW_INT8;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 typedef signed short LAAW_INT16;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 typedef signed int LAAW_INT32;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 typedef unsigned char LAAW_UINT8;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 typedef unsigned short LAAW_UINT16;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 typedef unsigned int LAAW_UINT32;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 #else
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 typedef signed __int8 LAAW_INT8;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 typedef signed __int16 LAAW_INT16;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 typedef signed __int32 LAAW_INT32;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 typedef unsigned __int8 LAAW_UINT8;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141 typedef unsigned __int16 LAAW_UINT16;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 typedef unsigned __int32 LAAW_UINT32;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 typedef signed __int64 LAAW_INT64;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 typedef unsigned __int64 LAAW_UINT64;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 #else
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 #error "Please support your compiler here"
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 #endif
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 /********************************************************************
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 ** This is a shared section between Windows and Linux
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 ********************************************************************/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 namespace OrthancClient {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 * @brief Exception class that is thrown by the functions of this shared library.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 class OrthancClientException : public std::exception
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 std::string message_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 public:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 * @brief Constructs an exception.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 * @param message The error message.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 OrthancClientException(std::string message) : message_(message)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 ~OrthancClientException() throw()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 * @brief Get the error message associated with this exception.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 * @returns The error message.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 const std::string& What() const throw()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190 return message_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 namespace OrthancClient { namespace Internals {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198 * This internal class implements a Singleton design pattern that will
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199 * store a reference to the shared library handle, together with a
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 * pointer to each function in the shared library.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202 class Library
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
203 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
204 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 LAAW_ORTHANC_CLIENT_HANDLE_TYPE handle_;
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
206 LAAW_ORTHANC_CLIENT_FUNCTION_TYPE functionsIndex_[63 + 1];
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 void Load(const char* sharedLibraryPath)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 if (handle_ != LAAW_ORTHANC_CLIENT_HANDLE_NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 // Do nothing if the library is already loaded
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216 return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
218
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219 /* Setup the path to the default shared library if not provided */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220 if (sharedLibraryPath == NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 sharedLibraryPath = LAAW_ORTHANC_CLIENT_DEFAULT_PATH;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
224
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
225 /* Load the shared library */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
226 handle_ = LAAW_ORTHANC_CLIENT_LOADER(sharedLibraryPath);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
227
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
228
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229 if (handle_ == LAAW_ORTHANC_CLIENT_HANDLE_NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
230 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
231 throw ::OrthancClient::OrthancClientException("Error loading shared library");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234 LoadFunctions();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 inline void LoadFunctions();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
238
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
239 void FreeString(char* str)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
240 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
241 typedef void (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
242 Function function = (Function) GetFunction(63);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243 function(str);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
244 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
245
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
246 Library()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
248 handle_ = LAAW_ORTHANC_CLIENT_HANDLE_NULL;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
249 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
250
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
251 ~Library()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
252 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
253 Finalize();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
254 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
255
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256 public:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
257 LAAW_ORTHANC_CLIENT_FUNCTION_TYPE GetFunction(unsigned int index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
258 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
259 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
260 * If the library has not been manually initialized by a call to
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
261 * ::OrthancClient::Initialize(), it is loaded from
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
262 * the default location (lazy initialization).
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
263 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
264 if (handle_ == NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
265 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
266 Load(NULL);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
267 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
268
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
269 return functionsIndex_[index];
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
270 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
271
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
272 void ThrowExceptionIfNeeded(char* message)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
273 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
274 if (message != NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
275 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
276 std::string tmp(message);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
277 FreeString(message);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
278 throw ::OrthancClient::OrthancClientException(tmp);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
279 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
280 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
281
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
282 static inline Library& GetInstance()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
283 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
284 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
285 * This function defines a "static variable" inside a "static
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
286 * inline method" of a class. This ensures that a single
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
287 * instance of this variable will be used across all the
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
288 * compilation modules of the software.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
289 * http://stackoverflow.com/a/1389403/881731
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
290 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
291
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
292 static Library singleton;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
293 return singleton;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
294 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
295
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
296 static void Initialize(const char* sharedLibraryPath)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
297 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
298 GetInstance().Load(sharedLibraryPath);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
299 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
300
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
301 void Finalize()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
302 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
303 if (handle_ != LAAW_ORTHANC_CLIENT_HANDLE_NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
304 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
305 LAAW_ORTHANC_CLIENT_CLOSER(handle_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
306 handle_ = LAAW_ORTHANC_CLIENT_HANDLE_NULL;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
307 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
308 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
309 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
310 }}
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
311
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
312
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
313 /*!
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
314 * \addtogroup Global Global definitions.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
315 * @{
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
316 * @}
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
317 */
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
318
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
319
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
320 namespace OrthancClient {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
321 /*!
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
322 * \addtogroup Initialization Initialization of the shared library.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
323 * @{
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
324 */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
325
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
326 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
327 * @brief Manually initialize the shared library, using the default library name.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
328 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
329 * Call this method before using the library to ensure correct
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
330 * behaviour in multi-threaded applications. This method is also
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
331 * useful to control the time at which the shared library is
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
332 * loaded (e.g. for real-time applications).
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
333 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
334 inline void Initialize()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
335 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
336 ::OrthancClient::Internals::Library::Initialize(NULL);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
337 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
338
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
339 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
340 * @brief Manually initialize the shared library.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
341 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
342 * Call this method before using the library to ensure correct
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
343 * behaviour in multi-threaded applications. This method is also
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
344 * useful to control the time at which the shared library is
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
345 * loaded (e.g. for real-time applications).
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
346 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
347 * @param sharedLibraryPath The path to the shared library that
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
348 * contains the module.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
349 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
350 inline void Initialize(const std::string& sharedLibraryPath)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
351 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
352 ::OrthancClient::Internals::Library::Initialize(sharedLibraryPath.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
353 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
354
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
355 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
356 * @brief Manually finalize the shared library.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
357 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
358 * Calling explicitly this function is not mandatory. It is useful to
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
359 * force the release of the resources acquired by the shared library,
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
360 * or to manually control the order in which the global variables get
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
361 * deleted.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
362 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
363 inline void Finalize()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
364 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
365 ::OrthancClient::Internals::Library::GetInstance().Finalize();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
366 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
367
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
368
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
369 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
370 * @}
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
371 */
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
372 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
373
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
374
660
f0232774b913 fix warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 657
diff changeset
375 namespace OrthancClient { namespace Internals {
f0232774b913 fix warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 657
diff changeset
376 inline void Library::LoadFunctions()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
377 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
378 typedef const char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) ();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
379 Function getVersion = (Function) LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_GetVersion", "0");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
380 if (getVersion == NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
381 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
382 throw ::OrthancClient::OrthancClientException("Unable to get the library version");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
383 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
384
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
385 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
386 * It is assumed that the API does not change when the revision
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
387 * number (MAJOR.MINOR.REVISION) changes.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
388 **/
629
0526d6246cc3 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 601
diff changeset
389 if (strcmp(getVersion(), "0.7"))
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
390 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
391 throw ::OrthancClient::OrthancClientException("Mismatch between the C++ header and the library version");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
392 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
393
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
394 functionsIndex_[63] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_FreeString", "4");
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
395 functionsIndex_[3] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_557aee7b61817292a0f31269d3c35db7", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
396 functionsIndex_[4] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_0b8dff0ce67f10954a49b059e348837e", "8");
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
397 functionsIndex_[5] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_e05097c153f676e5a5ee54dcfc78256f", "4");
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
398 functionsIndex_[6] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_e840242bf58d17d3c1d722da09ce88e0", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
399 functionsIndex_[7] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_c9af31433001b5dfc012a552dc6d0050", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
400 functionsIndex_[8] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_3fba4d6b818180a44cd1cae6046334dc", "12");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
401 functionsIndex_[9] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_aeb20dc75b9246188db857317e5e0ce7", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
402 functionsIndex_[10] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_62689803d9871e4d9c51a648640b320b", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
403 functionsIndex_[11] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_2fb64c9e5a67eccd413b0e913469a421", "16");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
404 functionsIndex_[0] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_1f1acb322ea4d0aad65172824607673c", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
405 functionsIndex_[1] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_f3fd272e4636f6a531aabb72ee01cd5b", "16");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
406 functionsIndex_[2] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_12d3de0a96e9efb11136a9811bb9ed38", "4");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
407 functionsIndex_[14] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_f756172daf04516eec3a566adabb4335", "4");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
408 functionsIndex_[15] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_ddb68763ec902a97d579666a73a20118", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
409 functionsIndex_[16] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_fba3c68b4be7558dbc65f7ce1ab57d63", "12");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
410 functionsIndex_[17] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_b4ca99d958f843493e58d1ef967340e1", "8");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
411 functionsIndex_[18] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_78d5cc76d282437b6f93ec3b82c35701", "16");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
412 functionsIndex_[12] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_6cf0d7268667f9b0aa4511bacf184919", "12");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
413 functionsIndex_[13] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_7d81cd502ee27e859735d0ea7112b5a1", "4");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
414 functionsIndex_[21] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_48a2a1a9d68c047e22bfba23014643d2", "4");
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
415 functionsIndex_[22] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_852bf8296ca21c5fde5ec565cc10721d", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
416 functionsIndex_[23] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_efd04574e0779faa83df1f2d8f9888db", "12");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
417 functionsIndex_[24] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_736247ff5e8036dac38163da6f666ed5", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
418 functionsIndex_[25] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_d82d2598a7a73f4b6fcc0c09c25b08ca", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
419 functionsIndex_[26] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_88134b978f9acb2aecdadf54aeab3c64", "16");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
420 functionsIndex_[27] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_152cb1b704c053d24b0dab7461ba6ea3", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
421 functionsIndex_[28] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_eee03f337ec81d9f1783cd41e5238757", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
422 functionsIndex_[29] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_006f08237bd7611636fc721baebfb4c5", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
423 functionsIndex_[30] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_b794f5cd3dad7d7b575dd1fd902afdd0", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
424 functionsIndex_[31] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_8ee2e50dd9df8f66a3c1766090dd03ab", "8");
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
425 functionsIndex_[32] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_046aed35bbe4751691f4c34cc249a61d", "8");
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
426 functionsIndex_[33] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_2be452e7af5bf7dfd8c5021842674497", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
427 functionsIndex_[34] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_4dcc7a0fd025efba251ac6e9b701c2c5", "28");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
428 functionsIndex_[35] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_b2601a161c24ad0a1d3586246f87452c", "32");
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
429 functionsIndex_[19] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_193599b9e345384fcdfcd47c29c55342", "12");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
430 functionsIndex_[20] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_7c97f17063a357d38c5fab1136ad12a0", "4");
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
431 functionsIndex_[38] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_e65b20b7e0170b67544cd6664a4639b7", "4");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
432 functionsIndex_[39] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_470e981b0e41f17231ba0ae6f3033321", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
433 functionsIndex_[40] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_04cefd138b6ea15ad909858f2a0a8f05", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
434 functionsIndex_[41] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_aee5b1f6f0c082f2c3b0986f9f6a18c7", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
435 functionsIndex_[42] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_93965682bace75491413e1f0b8d5a654", "16");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
436 functionsIndex_[36] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_b01c6003238eb46c8db5dc823d7ca678", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
437 functionsIndex_[37] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_0147007fb99bad8cd95a139ec8795376", "4");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
438 functionsIndex_[45] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_236ee8b403bc99535a8a4695c0cd45cb", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
439 functionsIndex_[46] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_2a437b7aba6bb01e81113835be8f0146", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
440 functionsIndex_[47] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_2bcbcb850934ae0bb4c6f0cc940e6cda", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
441 functionsIndex_[48] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_8d415c3a78a48e7e61d9fd24e7c79484", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
442 functionsIndex_[49] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_70d2f8398bbc63b5f792b69b4ad5fecb", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
443 functionsIndex_[50] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_1729a067d902771517388eedd7346b23", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
444 functionsIndex_[51] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_72e2aeee66cd3abd8ab7e987321c3745", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
445 functionsIndex_[52] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_1ea3df5a1ac1a1a687fe7325adddb6f0", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
446 functionsIndex_[53] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_99b4f370e4f532d8b763e2cb49db92f8", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
447 functionsIndex_[54] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_c41c742b68617f1c0590577a0a5ebc0c", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
448 functionsIndex_[55] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_142dd2feba0fc1d262bbd0baeb441a8b", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
449 functionsIndex_[56] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_5f5c9f81a4dff8daa6c359f1d0488fef", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
450 functionsIndex_[57] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_9ca979fffd08fa256306d4e68d8b0e91", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
451 functionsIndex_[58] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_6f2d77a26edc91c28d89408dbc3c271e", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
452 functionsIndex_[59] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_c0f494b80d4ff8b232df7a75baa0700a", "4");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
453 functionsIndex_[60] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_d604f44bd5195e082e745e9cbc164f4c", "4");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
454 functionsIndex_[61] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_1710299d1c5f3b1f2b7cf3962deebbfd", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
455 functionsIndex_[62] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_bb55aaf772ddceaadee36f4e54136bcb", "8");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
456 functionsIndex_[43] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_6c5ad02f91b583e29cebd0bd319ce21d", "12");
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
457 functionsIndex_[44] = LAAW_ORTHANC_CLIENT_GET_FUNCTION(handle_, "LAAW_EXTERNC_4068241c44a9c1367fe0e57be523f207", "4");
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
458
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
459 /* Check whether the functions were properly loaded */
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
460 for (unsigned int i = 0; i <= 63; i++)
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
461 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
462 if (functionsIndex_[i] == (LAAW_ORTHANC_CLIENT_FUNCTION_TYPE) NULL)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
463 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
464 throw ::OrthancClient::OrthancClientException("Unable to load the functions of the shared library");
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
465 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
466 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
467 }
660
f0232774b913 fix warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 657
diff changeset
468 }}
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
469 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
470 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
471 class OrthancConnection;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
472 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
473
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
474 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
475 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
476 class Patient;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
477 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
478
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
479 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
480 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
481 class Series;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
482 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
483
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
484 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
485 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
486 class Study;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
487 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
488
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
489 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
490 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
491 class Instance;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
492 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
493
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
494 namespace Orthanc
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
495 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
496 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
497 * @brief The memory layout of the pixels (resp. voxels) of a 2D (resp. 3D) image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
498 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
499 * The memory layout of the pixels (resp. voxels) of a 2D (resp. 3D) image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
500 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
501 * @ingroup Global
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
502 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
503 enum PixelFormat
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
504 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
505 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
506 * @brief Graylevel, signed 16bpp image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
507 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
508 * The image is graylevel. Each pixel is signed and stored in two bytes.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
509 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
510 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
511 PixelFormat_SignedGrayscale16 = 5,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
512 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
513 * @brief Color image in RGB24 format.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
514 *
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
515 * This format describes a color image. The pixels are stored in 3 consecutive bytes. The memory layout is RGB.
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
516 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
517 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
518 PixelFormat_RGB24 = 1,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
519 /**
820
55bce9b55054 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 728
diff changeset
520 * @brief Color image in RGBA32 format.
55bce9b55054 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 728
diff changeset
521 *
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
522 * This format describes a color image. The pixels are stored in 4 consecutive bytes. The memory layout is RGBA.
820
55bce9b55054 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 728
diff changeset
523 *
55bce9b55054 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 728
diff changeset
524 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
525 PixelFormat_RGBA32 = 2,
820
55bce9b55054 set version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 728
diff changeset
526 /**
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
527 * @brief Graylevel 8bpp image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
528 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
529 * The image is graylevel. Each pixel is unsigned and stored in one byte.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
530 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
531 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
532 PixelFormat_Grayscale8 = 3,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
533 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
534 * @brief Graylevel, unsigned 16bpp image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
535 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
536 * The image is graylevel. Each pixel is unsigned and stored in two bytes.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
537 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
538 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
539 PixelFormat_Grayscale16 = 4
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
540 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
541 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
542
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
543 namespace Orthanc
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
544 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
545 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
546 * @brief The extraction mode specifies the way the values of the pixels are scaled when downloading a 2D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
547 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
548 * The extraction mode specifies the way the values of the pixels are scaled when downloading a 2D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
549 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
550 * @ingroup Global
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
551 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
552 enum ImageExtractionMode
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
553 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
554 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
555 * @brief Truncation to the [-32768, 32767] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
556 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
557 * Truncation to the [-32768, 32767] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
558 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
559 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
560 ImageExtractionMode_Int16 = 4,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
561 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
562 * @brief Rescaled to 8bpp.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
563 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
564 * The minimum value of the image is set to 0, and its maximum value is set to 255.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
565 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
566 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
567 ImageExtractionMode_Preview = 1,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
568 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
569 * @brief Truncation to the [0, 255] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
570 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
571 * Truncation to the [0, 255] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
572 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
573 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
574 ImageExtractionMode_UInt8 = 2,
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
575 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
576 * @brief Truncation to the [0, 65535] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
577 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
578 * Truncation to the [0, 65535] range.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
579 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
580 **/
865
f2841a9e04cf force enumeration values in c++ client
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 820
diff changeset
581 ImageExtractionMode_UInt16 = 3
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
582 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
583 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
584
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
585 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
586 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
587 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
588 * @brief Connection to an instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
589 *
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
590 * This class encapsulates a connection to a remote instance of %Orthanc through its REST API.
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
591 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
592 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
593 class OrthancConnection
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
594 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
595 friend class ::OrthancClient::Patient;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
596 friend class ::OrthancClient::Series;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
597 friend class ::OrthancClient::Study;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
598 friend class ::OrthancClient::Instance;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
599 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
600 bool isReference_;
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
601 OrthancConnection& operator= (const OrthancConnection&); // Assignment is forbidden
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
602 void* pimpl_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
603 OrthancConnection(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
588
a0001c222b32 refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 575
diff changeset
604 public:
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
605 /**
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
606 * @brief Construct a new reference to this object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
607 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
608 * Construct a new reference to this object. Pay attention to the fact that when the referenced object is deleted, the content of this object will be invalid.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
609 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
610 * @param other The original object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
611 **/
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
612 OrthancConnection(const OrthancConnection& other) : isReference_(true), pimpl_(other.pimpl_) { }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
613 inline OrthancConnection(const ::std::string& orthancUrl);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
614 inline OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
615 inline ~OrthancConnection();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
616 inline LAAW_UINT32 GetThreadCount() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
617 inline void SetThreadCount(LAAW_UINT32 threadCount);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
618 inline void Reload();
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
619 inline ::std::string GetOrthancUrl() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
620 inline LAAW_UINT32 GetPatientCount();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
621 inline ::OrthancClient::Patient GetPatient(LAAW_UINT32 index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
622 inline void DeletePatient(LAAW_UINT32 index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
623 inline void StoreFile(const ::std::string& filename);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
624 inline void Store(const void* dicom, LAAW_UINT64 size);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
625 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
626 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
627
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
628 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
629 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
630 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
631 * @brief Connection to a patient stored in %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
632 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
633 * This class encapsulates a connection to a patient from a remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
634 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
635 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
636 class Patient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
637 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
638 friend class ::OrthancClient::OrthancConnection;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
639 friend class ::OrthancClient::Series;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
640 friend class ::OrthancClient::Study;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
641 friend class ::OrthancClient::Instance;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
642 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
643 bool isReference_;
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
644 Patient& operator= (const Patient&); // Assignment is forbidden
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
645 void* pimpl_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
646 Patient(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
588
a0001c222b32 refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 575
diff changeset
647 public:
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
648 /**
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
649 * @brief Construct a new reference to this object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
650 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
651 * Construct a new reference to this object. Pay attention to the fact that when the referenced object is deleted, the content of this object will be invalid.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
652 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
653 * @param other The original object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
654 **/
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
655 Patient(const Patient& other) : isReference_(true), pimpl_(other.pimpl_) { }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
656 inline Patient(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
657 inline ~Patient();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
658 inline void Reload();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
659 inline LAAW_UINT32 GetStudyCount();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
660 inline ::OrthancClient::Study GetStudy(LAAW_UINT32 index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
661 inline ::std::string GetId() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
662 inline ::std::string GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
663 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
664 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
665
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
666 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
667 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
668 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
669 * @brief Connection to a series stored in %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
670 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
671 * This class encapsulates a connection to a series from a remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
672 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
673 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
674 class Series
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
675 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
676 friend class ::OrthancClient::OrthancConnection;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
677 friend class ::OrthancClient::Patient;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
678 friend class ::OrthancClient::Study;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
679 friend class ::OrthancClient::Instance;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
680 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
681 bool isReference_;
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
682 Series& operator= (const Series&); // Assignment is forbidden
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
683 void* pimpl_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
684 Series(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
588
a0001c222b32 refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 575
diff changeset
685 public:
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
686 /**
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
687 * @brief Construct a new reference to this object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
688 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
689 * Construct a new reference to this object. Pay attention to the fact that when the referenced object is deleted, the content of this object will be invalid.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
690 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
691 * @param other The original object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
692 **/
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
693 Series(const Series& other) : isReference_(true), pimpl_(other.pimpl_) { }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
694 inline Series(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
695 inline ~Series();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
696 inline void Reload();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
697 inline LAAW_UINT32 GetInstanceCount();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
698 inline ::OrthancClient::Instance GetInstance(LAAW_UINT32 index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
699 inline ::std::string GetId() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
700 inline ::std::string GetUrl() const;
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
701 inline ::std::string GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const;
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
702 inline bool Is3DImage();
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
703 inline LAAW_UINT32 GetWidth();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
704 inline LAAW_UINT32 GetHeight();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
705 inline float GetVoxelSizeX();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
706 inline float GetVoxelSizeY();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
707 inline float GetVoxelSizeZ();
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
708 inline float GetSliceThickness();
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
709 inline void Load3DImage(void* target, ::Orthanc::PixelFormat format, LAAW_INT64 lineStride, LAAW_INT64 stackStride);
548
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
710 inline void Load3DImage(void* target, ::Orthanc::PixelFormat format, LAAW_INT64 lineStride, LAAW_INT64 stackStride, float progress[]);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
711 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
712 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
713
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
714 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
715 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
716 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
717 * @brief Connection to a study stored in %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
718 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
719 * This class encapsulates a connection to a study from a remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
720 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
721 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
722 class Study
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
723 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
724 friend class ::OrthancClient::OrthancConnection;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
725 friend class ::OrthancClient::Patient;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
726 friend class ::OrthancClient::Series;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
727 friend class ::OrthancClient::Instance;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
728 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
729 bool isReference_;
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
730 Study& operator= (const Study&); // Assignment is forbidden
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
731 void* pimpl_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
732 Study(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
588
a0001c222b32 refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 575
diff changeset
733 public:
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
734 /**
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
735 * @brief Construct a new reference to this object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
736 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
737 * Construct a new reference to this object. Pay attention to the fact that when the referenced object is deleted, the content of this object will be invalid.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
738 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
739 * @param other The original object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
740 **/
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
741 Study(const Study& other) : isReference_(true), pimpl_(other.pimpl_) { }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
742 inline Study(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
743 inline ~Study();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
744 inline void Reload();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
745 inline LAAW_UINT32 GetSeriesCount();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
746 inline ::OrthancClient::Series GetSeries(LAAW_UINT32 index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
747 inline ::std::string GetId() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
748 inline ::std::string GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
749 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
750 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
751
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
752 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
753 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
754 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
755 * @brief Connection to an instance stored in %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
756 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
757 * This class encapsulates a connection to an image instance from a remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
758 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
759 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
760 class Instance
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
761 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
762 friend class ::OrthancClient::OrthancConnection;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
763 friend class ::OrthancClient::Patient;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
764 friend class ::OrthancClient::Series;
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
765 friend class ::OrthancClient::Study;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
766 private:
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
767 bool isReference_;
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
768 Instance& operator= (const Instance&); // Assignment is forbidden
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
769 void* pimpl_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
770 Instance(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
588
a0001c222b32 refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 575
diff changeset
771 public:
591
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
772 /**
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
773 * @brief Construct a new reference to this object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
774 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
775 * Construct a new reference to this object. Pay attention to the fact that when the referenced object is deleted, the content of this object will be invalid.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
776 *
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
777 * @param other The original object.
a00f626290db better api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 588
diff changeset
778 **/
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
779 Instance(const Instance& other) : isReference_(true), pimpl_(other.pimpl_) { }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
780 inline Instance(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
781 inline ~Instance();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
782 inline ::std::string GetId() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
783 inline void SetImageExtractionMode(::Orthanc::ImageExtractionMode mode);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
784 inline ::Orthanc::ImageExtractionMode GetImageExtractionMode() const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
785 inline ::std::string GetTagAsString(const ::std::string& tag) const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
786 inline float GetTagAsFloat(const ::std::string& tag) const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
787 inline LAAW_INT32 GetTagAsInt(const ::std::string& tag) const;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
788 inline LAAW_UINT32 GetWidth();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
789 inline LAAW_UINT32 GetHeight();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
790 inline LAAW_UINT32 GetPitch();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
791 inline ::Orthanc::PixelFormat GetPixelFormat();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
792 inline const void* GetBuffer();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
793 inline const void* GetBuffer(LAAW_UINT32 y);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
794 inline LAAW_UINT64 GetDicomSize();
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
795 inline const void* GetDicom();
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
796 inline void DiscardImage();
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
797 inline void DiscardDicom();
728
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
798 inline void LoadTagContent(const ::std::string& path);
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
799 inline ::std::string GetLoadedTagContent() const;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
800 };
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
801 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
802
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
803 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
804 {
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
805 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
806 * @brief Create a connection to an instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
807 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
808 * Create a connection to an instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
809 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
810 * @param orthancUrl URL to which the REST API of %Orthanc is listening.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
811 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
812 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
813 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
814 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
815 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
816 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(0);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
817 char* error = function(&pimpl_, orthancUrl.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
818 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
819 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
820 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
821 * @brief Create a connection to an instance of %Orthanc, with authentication.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
822 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
823 * Create a connection to an instance of %Orthanc, with authentication.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
824 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
825 * @param orthancUrl URL to which the REST API of %Orthanc is listening.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
826 * @param username The username.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
827 * @param password The password.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
828 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
829 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
830 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
831 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
832 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*, const char*, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
833 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(1);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
834 char* error = function(&pimpl_, orthancUrl.c_str(), username.c_str(), password.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
835 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
836 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
837 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
838 * @brief Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
839 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
840 * Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
841 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
842 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
843 inline OrthancConnection::~OrthancConnection()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
844 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
845 if (isReference_) return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
846 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
847 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(2);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
848 char* error = function(pimpl_);
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
849 error = error; // Remove warning about unused variable
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
850 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
851 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
852 * @brief Returns the number of threads for this connection.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
853 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
854 * Returns the number of simultaneous connections that are used when downloading information from this instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
855 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
856 * @return The number of threads.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
857 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
858 inline LAAW_UINT32 OrthancConnection::GetThreadCount() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
859 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
860 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
861 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, LAAW_UINT32*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
862 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(3);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
863 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
864 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
865 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
866 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
867 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
868 * @brief Sets the number of threads for this connection.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
869 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
870 * Sets the number of simultaneous connections that are used when downloading information from this instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
871 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
872 * @param threadCount The number of threads.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
873 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
874 inline void OrthancConnection::SetThreadCount(LAAW_UINT32 threadCount)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
875 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
876 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
877 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(4);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
878 char* error = function(pimpl_, threadCount);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
879 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
880 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
881 /**
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
882 * @brief Reload the list of the patients.
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
883 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
884 * This method will reload the list of the patients from the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
885 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
886 **/
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
887 inline void OrthancConnection::Reload()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
888 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
889 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
890 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(5);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
891 char* error = function(pimpl_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
892 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
893 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
894 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
895 * @brief Returns the URL of this instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
896 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
897 * Returns the URL of the remote %Orthanc instance to which this object is connected.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
898 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
899 * @return The URL.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
900 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
901 inline ::std::string OrthancConnection::GetOrthancUrl() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
902 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
903 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
904 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
905 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(6);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
906 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
907 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
908 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
909 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
910 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
911 * @brief Returns the number of patients.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
912 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
913 * Returns the number of patients that are stored in the remote instance of %Orthanc.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
914 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
915 * @return The number of patients.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
916 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
917 inline LAAW_UINT32 OrthancConnection::GetPatientCount()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
918 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
919 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
920 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
921 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(7);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
922 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
923 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
924 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
925 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
926 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
927 * @brief Get some patient.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
928 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
929 * This method will return an object that contains information about some patient. The patients are indexed by a number between 0 (inclusive) and the result of GetPatientCount() (exclusive).
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
930 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
931 * @param index The index of the patient of interest.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
932 * @return The patient.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
933 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
934 inline ::OrthancClient::Patient OrthancConnection::GetPatient(LAAW_UINT32 index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
935 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
936 void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
937 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
938 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(8);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
939 char* error = function(pimpl_, &result_, index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
940 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
941 return ::OrthancClient::Patient(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
942 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
943 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
944 * @brief Delete some patient.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
945 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
946 * Delete some patient from the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
947 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
948 * @param index The index of the patient of interest.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
949 * @return The patient.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
950 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
951 inline void OrthancConnection::DeletePatient(LAAW_UINT32 index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
952 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
953 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
954 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(9);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
955 char* error = function(pimpl_, index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
956 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
957 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
958 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
959 * @brief Send a DICOM file.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
960 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
961 * This method will store a DICOM file in the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
962 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
963 * @param filename Path to the DICOM file
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
964 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
965 inline void OrthancConnection::StoreFile(const ::std::string& filename)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
966 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
967 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
968 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(10);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
969 char* error = function(pimpl_, filename.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
970 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
971 }
573
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
972 /**
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
973 * @brief Send a DICOM file that is contained inside a memory buffer.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
974 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
975 * This method will store a DICOM file in the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
976 *
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
977 * @param dicom The memory buffer containing the DICOM file.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
978 * @param size The size of the DICOM file.
8fb9867d8089 documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 571
diff changeset
979 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
980 inline void OrthancConnection::Store(const void* dicom, LAAW_UINT64 size)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
981 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
982 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void*, LAAW_UINT64);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
983 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(11);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
984 char* error = function(pimpl_, dicom, size);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
985 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
986 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
987 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
988
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
989 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
990 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
991 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
992 * @brief Create a connection to some patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
993 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
994 * Create a connection to some patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
995 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
996 * @param connection The remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
997 * @param id The %Orthanc identifier of the patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
998 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
999 inline Patient::Patient(::OrthancClient::OrthancConnection& connection, const ::std::string& id)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1000 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1001 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1002 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, void*, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1003 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(12);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1004 char* error = function(&pimpl_, connection.pimpl_, id.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1005 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1006 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1007 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1008 * @brief Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1009 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1010 * Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1011 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1012 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1013 inline Patient::~Patient()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1014 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1015 if (isReference_) return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1016 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1017 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(13);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1018 char* error = function(pimpl_);
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
1019 error = error; // Remove warning about unused variable
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1020 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1021 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1022 * @brief Reload the studies of this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1023 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1024 * This method will reload the list of the studies of this patient. Pay attention to the fact that the studies that have been previously returned by GetStudy() will be invalidated.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1025 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1026 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1027 inline void Patient::Reload()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1028 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1029 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1030 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(14);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1031 char* error = function(pimpl_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1032 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1033 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1034 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1035 * @brief Return the number of studies for this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1036 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1037 * Return the number of studies for this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1038 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1039 * @return The number of studies.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1040 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1041 inline LAAW_UINT32 Patient::GetStudyCount()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1042 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1043 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1044 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1045 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(15);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1046 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1047 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1048 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1049 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1050 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1051 * @brief Get some study of this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1052 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1053 * This method will return an object that contains information about some study. The studies are indexed by a number between 0 (inclusive) and the result of GetStudyCount() (exclusive).
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1054 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1055 * @param index The index of the study of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1056 * @return The study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1057 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1058 inline ::OrthancClient::Study Patient::GetStudy(LAAW_UINT32 index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1059 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1060 void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1061 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1062 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(16);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1063 char* error = function(pimpl_, &result_, index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1064 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1065 return ::OrthancClient::Study(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1066 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1067 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1068 * @brief Get the %Orthanc identifier of this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1069 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1070 * Get the %Orthanc identifier of this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1071 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1072 * @return The identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1073 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1074 inline ::std::string Patient::GetId() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1075 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1076 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1077 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1078 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(17);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1079 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1080 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1081 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1082 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1083 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1084 * @brief Get the value of one of the main DICOM tags for this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1085 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1086 * Get the value of one of the main DICOM tags for this patient.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1087 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1088 * @param tag The name of the tag of interest ("PatientName", "PatientID", "PatientSex" or "PatientBirthDate").
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1089 * @param defaultValue The default value to be returned if this tag does not exist.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1090 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1091 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1092 inline ::std::string Patient::GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1093 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1094 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1095 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**, const char*, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1096 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(18);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1097 char* error = function(pimpl_, &result_, tag.c_str(), defaultValue.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1098 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1099 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1100 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1101 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1102
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1103 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1104 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1105 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1106 * @brief Create a connection to some series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1107 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1108 * Create a connection to some series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1109 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1110 * @param connection The remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1111 * @param id The %Orthanc identifier of the series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1112 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1113 inline Series::Series(::OrthancClient::OrthancConnection& connection, const ::std::string& id)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1114 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1115 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1116 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, void*, const char*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1117 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(19);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1118 char* error = function(&pimpl_, connection.pimpl_, id.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1119 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1120 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1121 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1122 * @brief Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1123 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1124 * Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1125 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1126 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1127 inline Series::~Series()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1128 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1129 if (isReference_) return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1130 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1131 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(20);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1132 char* error = function(pimpl_);
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
1133 error = error; // Remove warning about unused variable
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1134 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1135 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1136 * @brief Reload the instances of this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1137 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1138 * This method will reload the list of the instances of this series. Pay attention to the fact that the instances that have been previously returned by GetInstance() will be invalidated.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1139 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1140 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1141 inline void Series::Reload()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1142 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1143 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1144 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(21);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1145 char* error = function(pimpl_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1146 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1147 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1148 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1149 * @brief Return the number of instances for this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1150 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1151 * Return the number of instances for this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1152 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1153 * @return The number of instances.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1154 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1155 inline LAAW_UINT32 Series::GetInstanceCount()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1156 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1157 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1158 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1159 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(22);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1160 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1161 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1162 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1163 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1164 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1165 * @brief Get some instance of this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1166 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1167 * This method will return an object that contains information about some instance. The instances are indexed by a number between 0 (inclusive) and the result of GetInstanceCount() (exclusive).
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1168 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1169 * @param index The index of the instance of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1170 * @return The instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1171 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1172 inline ::OrthancClient::Instance Series::GetInstance(LAAW_UINT32 index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1173 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1174 void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1175 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1176 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(23);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1177 char* error = function(pimpl_, &result_, index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1178 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1179 return ::OrthancClient::Instance(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1180 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1181 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1182 * @brief Get the %Orthanc identifier of this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1183 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1184 * Get the %Orthanc identifier of this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1185 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1186 * @return The identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1187 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1188 inline ::std::string Series::GetId() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1189 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1190 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1191 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1192 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(24);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1193 char* error = function(pimpl_, &result_);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1194 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1195 return std::string(result_);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1196 }
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1197 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1198 * @brief Returns the URL to this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1199 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1200 * Returns the URL to this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1201 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1202 * @return The URL.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1203 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1204 inline ::std::string Series::GetUrl() const
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1205 {
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1206 const char* result_;
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1207 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1208 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(25);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1209 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1210 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1211 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1212 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1213 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1214 * @brief Get the value of one of the main DICOM tags for this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1215 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1216 * Get the value of one of the main DICOM tags for this series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1217 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1218 * @param tag The name of the tag of interest ("Modality", "Manufacturer", "SeriesDate", "SeriesDescription", "SeriesInstanceUID"...).
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1219 * @param defaultValue The default value to be returned if this tag does not exist.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1220 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1221 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1222 inline ::std::string Series::GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1223 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1224 const char* result_;
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1225 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**, const char*, const char*);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1226 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(26);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1227 char* error = function(pimpl_, &result_, tag.c_str(), defaultValue.c_str());
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1228 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1229 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1230 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1231 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1232 * @brief Test whether this series encodes a 3D image that can be downloaded from %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1233 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1234 * Test whether this series encodes a 3D image that can be downloaded from %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1235 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1236 * @return "true" if and only if this is a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1237 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1238 inline bool Series::Is3DImage()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1239 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1240 LAAW_INT32 result_;
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1241 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_INT32*);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1242 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(27);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1243 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1244 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1245 return result_ != 0;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1246 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1247 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1248 * @brief Get the width of the 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1249 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1250 * Get the width of the 3D image (i.e. along the X-axis). This call is only valid if this series corresponds to a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1251 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1252 * @return The width.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1253 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1254 inline LAAW_UINT32 Series::GetWidth()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1255 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1256 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1257 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1258 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(28);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1259 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1260 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1261 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1262 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1263 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1264 * @brief Get the height of the 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1265 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1266 * Get the height of the 3D image (i.e. along the Y-axis). This call is only valid if this series corresponds to a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1267 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1268 * @return The height.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1269 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1270 inline LAAW_UINT32 Series::GetHeight()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1271 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1272 LAAW_UINT32 result_;
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1273 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1274 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(29);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1275 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1276 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1277 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1278 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1279 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1280 * @brief Get the physical size of a voxel along the X-axis.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1281 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1282 * Get the physical size of a voxel along the X-axis. This call is only valid if this series corresponds to a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1283 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1284 * @return The voxel size.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1285 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1286 inline float Series::GetVoxelSizeX()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1287 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1288 float result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1289 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, float*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1290 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(30);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1291 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1292 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1293 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1294 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1295 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1296 * @brief Get the physical size of a voxel along the Y-axis.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1297 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1298 * Get the physical size of a voxel along the Y-axis. This call is only valid if this series corresponds to a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1299 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1300 * @return The voxel size.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1301 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1302 inline float Series::GetVoxelSizeY()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1303 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1304 float result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1305 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, float*);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1306 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(31);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1307 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1308 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1309 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1310 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1311 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1312 * @brief Get the physical size of a voxel along the Z-axis.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1313 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1314 * Get the physical size of a voxel along the Z-axis. This call is only valid if this series corresponds to a 3D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1315 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1316 * @return The voxel size.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1317 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1318 inline float Series::GetVoxelSizeZ()
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1319 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1320 float result_;
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1321 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, float*);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1322 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(32);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1323 char* error = function(pimpl_, &result_);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1324 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1325 return result_;
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1326 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1327 /**
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1328 * @brief Get the slice thickness.
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1329 *
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1330 * Get the slice thickness. This call is only valid if this series corresponds to a 3D image.
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1331 *
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1332 * @return The slice thickness.
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1333 **/
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1334 inline float Series::GetSliceThickness()
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1335 {
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1336 float result_;
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1337 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, float*);
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1338 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(33);
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1339 char* error = function(pimpl_, &result_);
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1340 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1341 return result_;
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1342 }
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1343 /**
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1344 * @brief Load the 3D image into a memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1345 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1346 * Load the 3D image into a memory buffer. This call is only valid if this series corresponds to a 3D image. The "target" buffer must be wide enough to store all the voxels of the image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1347 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1348 * @param target The target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1349 * @param format The memory layout of the voxels.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1350 * @param lineStride The number of bytes between two lines in the target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1351 * @param stackStride The number of bytes between two 2D slices in the target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1352 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1353 inline void Series::Load3DImage(void* target, ::Orthanc::PixelFormat format, LAAW_INT64 lineStride, LAAW_INT64 stackStride)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1354 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1355 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void*, LAAW_INT32, LAAW_INT64, LAAW_INT64);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1356 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(34);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1357 char* error = function(pimpl_, target, format, lineStride, stackStride);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1358 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1359 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1360 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1361 * @brief Load the 3D image into a memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1362 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1363 * Load the 3D image into a memory buffer. This call is only valid if this series corresponds to a 3D image. The "target" buffer must be wide enough to store all the voxels of the image. This method will also update a progress indicator to monitor the loading of the image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1364 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1365 * @param target The target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1366 * @param format The memory layout of the voxels.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1367 * @param lineStride The number of bytes between two lines in the target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1368 * @param stackStride The number of bytes between two 2D slices in the target memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1369 * @param progress A pointer to a floating-point number that is continuously updated by the download threads to reflect the percentage of completion (between 0 and 1). This value can be read from a separate thread.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1370 **/
548
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1371 inline void Series::Load3DImage(void* target, ::Orthanc::PixelFormat format, LAAW_INT64 lineStride, LAAW_INT64 stackStride, float progress[])
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1372 {
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1373 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void*, LAAW_INT32, LAAW_INT64, LAAW_INT64, float*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1374 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(35);
548
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1375 char* error = function(pimpl_, target, format, lineStride, stackStride, progress);
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1376 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
ffedcc8f0938 progress
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 540
diff changeset
1377 }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1378 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1379
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1380 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1381 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1382 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1383 * @brief Create a connection to some study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1384 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1385 * Create a connection to some study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1386 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1387 * @param connection The remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1388 * @param id The %Orthanc identifier of the study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1389 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1390 inline Study::Study(::OrthancClient::OrthancConnection& connection, const ::std::string& id)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1391 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1392 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1393 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, void*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1394 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(36);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1395 char* error = function(&pimpl_, connection.pimpl_, id.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1396 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1397 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1398 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1399 * @brief Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1400 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1401 * Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1402 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1403 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1404 inline Study::~Study()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1405 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1406 if (isReference_) return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1407 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1408 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(37);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1409 char* error = function(pimpl_);
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
1410 error = error; // Remove warning about unused variable
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1411 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1412 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1413 * @brief Reload the series of this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1414 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1415 * This method will reload the list of the series of this study. Pay attention to the fact that the series that have been previously returned by GetSeries() will be invalidated.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1416 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1417 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1418 inline void Study::Reload()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1419 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1420 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1421 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(38);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1422 char* error = function(pimpl_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1423 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1424 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1425 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1426 * @brief Return the number of series for this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1427 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1428 * Return the number of series for this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1429 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1430 * @return The number of series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1431 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1432 inline LAAW_UINT32 Study::GetSeriesCount()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1433 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1434 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1435 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1436 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(39);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1437 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1438 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1439 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1440 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1441 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1442 * @brief Get some series of this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1443 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1444 * This method will return an object that contains information about some series. The series are indexed by a number between 0 (inclusive) and the result of GetSeriesCount() (exclusive).
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1445 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1446 * @param index The index of the series of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1447 * @return The series.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1448 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1449 inline ::OrthancClient::Series Study::GetSeries(LAAW_UINT32 index)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1450 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1451 void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1452 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1453 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(40);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1454 char* error = function(pimpl_, &result_, index);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1455 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1456 return ::OrthancClient::Series(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1457 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1458 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1459 * @brief Get the %Orthanc identifier of this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1460 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1461 * Get the %Orthanc identifier of this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1462 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1463 * @return The identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1464 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1465 inline ::std::string Study::GetId() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1466 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1467 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1468 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1469 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(41);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1470 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1471 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1472 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1473 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1474 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1475 * @brief Get the value of one of the main DICOM tags for this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1476 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1477 * Get the value of one of the main DICOM tags for this study.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1478 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1479 * @param tag The name of the tag of interest ("StudyDate", "StudyDescription", "StudyInstanceUID" or "StudyTime").
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1480 * @param defaultValue The default value to be returned if this tag does not exist.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1481 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1482 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1483 inline ::std::string Study::GetMainDicomTag(const ::std::string& tag, const ::std::string& defaultValue) const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1484 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1485 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1486 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**, const char*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1487 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(42);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1488 char* error = function(pimpl_, &result_, tag.c_str(), defaultValue.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1489 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1490 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1491 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1492 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1493
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1494 namespace OrthancClient
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1495 {
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1496 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1497 * @brief Create a connection to some image instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1498 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1499 * Create a connection to some image instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1500 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1501 * @param connection The remote instance of %Orthanc.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1502 * @param id The %Orthanc identifier of the image instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1503 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1504 inline Instance::Instance(::OrthancClient::OrthancConnection& connection, const ::std::string& id)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1505 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1506 isReference_ = false;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1507 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, void*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1508 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(43);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1509 char* error = function(&pimpl_, connection.pimpl_, id.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1510 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1511 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1512 /**
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1513 * @brief Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1514 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1515 * Destructs the object.
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1516 *
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1517 **/
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1518 inline Instance::~Instance()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1519 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1520 if (isReference_) return;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1521 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1522 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(44);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1523 char* error = function(pimpl_);
657
5425bb6f1ea5 further cppcheck fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 629
diff changeset
1524 error = error; // Remove warning about unused variable
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1525 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1526 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1527 * @brief Get the %Orthanc identifier of this identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1528 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1529 * Get the %Orthanc identifier of this identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1530 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1531 * @return The identifier.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1532 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1533 inline ::std::string Instance::GetId() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1534 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1535 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1536 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1537 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(45);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1538 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1539 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1540 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1541 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1542 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1543 * @brief Set the extraction mode for the 2D image corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1544 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1545 * Set the extraction mode for the 2D image corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1546 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1547 * @param mode The extraction mode.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1548 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1549 inline void Instance::SetImageExtractionMode(::Orthanc::ImageExtractionMode mode)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1550 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1551 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_INT32);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1552 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(46);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1553 char* error = function(pimpl_, mode);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1554 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1555 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1556 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1557 * @brief Get the extraction mode for the 2D image corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1558 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1559 * Get the extraction mode for the 2D image corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1560 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1561 * @return The extraction mode.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1562 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1563 inline ::Orthanc::ImageExtractionMode Instance::GetImageExtractionMode() const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1564 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1565 LAAW_INT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1566 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, LAAW_INT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1567 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(47);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1568 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1569 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1570 return static_cast< ::Orthanc::ImageExtractionMode >(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1571 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1572 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1573 * @brief Get the string value of some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1574 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1575 * Get the string value of some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1576 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1577 * @param tag The name of the tag of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1578 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1579 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1580 inline ::std::string Instance::GetTagAsString(const ::std::string& tag) const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1581 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1582 const char* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1583 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1584 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(48);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1585 char* error = function(pimpl_, &result_, tag.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1586 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1587 return std::string(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1588 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1589 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1590 * @brief Get the floating point value that is stored in some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1591 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1592 * Get the floating point value that is stored in some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1593 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1594 * @param tag The name of the tag of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1595 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1596 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1597 inline float Instance::GetTagAsFloat(const ::std::string& tag) const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1598 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1599 float result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1600 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, float*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1601 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(49);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1602 char* error = function(pimpl_, &result_, tag.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1603 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1604 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1605 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1606 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1607 * @brief Get the integer value that is stored in some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1608 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1609 * Get the integer value that is stored in some DICOM tag of this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1610 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1611 * @param tag The name of the tag of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1612 * @return The value of the tag.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1613 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1614 inline LAAW_INT32 Instance::GetTagAsInt(const ::std::string& tag) const
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1615 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1616 LAAW_INT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1617 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, LAAW_INT32*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1618 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(50);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1619 char* error = function(pimpl_, &result_, tag.c_str());
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1620 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1621 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1622 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1623 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1624 * @brief Get the width of the 2D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1625 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1626 * Get the width of the 2D image that is encoded by this DICOM instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1627 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1628 * @return The width.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1629 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1630 inline LAAW_UINT32 Instance::GetWidth()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1631 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1632 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1633 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1634 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(51);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1635 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1636 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1637 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1638 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1639 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1640 * @brief Get the height of the 2D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1641 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1642 * Get the height of the 2D image that is encoded by this DICOM instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1643 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1644 * @return The height.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1645 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1646 inline LAAW_UINT32 Instance::GetHeight()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1647 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1648 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1649 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1650 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(52);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1651 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1652 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1653 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1654 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1655 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1656 * @brief Get the number of bytes between two lines of the image (pitch).
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1657 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1658 * Get the number of bytes between two lines of the image in the memory buffer returned by GetBuffer(). This value depends on the extraction mode for the image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1659 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1660 * @return The pitch.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1661 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1662 inline LAAW_UINT32 Instance::GetPitch()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1663 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1664 LAAW_UINT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1665 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1666 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(53);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1667 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1668 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1669 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1670 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1671 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1672 * @brief Get the format of the pixels of the 2D image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1673 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1674 * Return the memory layout that is used for the 2D image that is encoded by this DICOM instance. This value depends on the extraction mode for the image.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1675 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1676 * @return The pixel format.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1677 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1678 inline ::Orthanc::PixelFormat Instance::GetPixelFormat()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1679 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1680 LAAW_INT32 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1681 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_INT32*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1682 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(54);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1683 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1684 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1685 return static_cast< ::Orthanc::PixelFormat >(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1686 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1687 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1688 * @brief Access the memory buffer in which the raw pixels of the 2D image are stored.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1689 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1690 * Access the memory buffer in which the raw pixels of the 2D image are stored.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1691 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1692 * @return A pointer to the memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1693 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1694 inline const void* Instance::GetBuffer()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1695 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1696 const void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1697 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void**);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1698 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(55);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1699 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1700 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1701 return reinterpret_cast< const void* >(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1702 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1703 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1704 * @brief Access the memory buffer in which the raw pixels of some line of the 2D image are stored.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1705 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1706 * Access the memory buffer in which the raw pixels of some line of the 2D image are stored.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1707 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1708 * @param y The line of interest.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1709 * @return A pointer to the memory buffer.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1710 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1711 inline const void* Instance::GetBuffer(LAAW_UINT32 y)
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1712 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1713 const void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1714 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void**, LAAW_UINT32);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1715 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(56);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1716 char* error = function(pimpl_, &result_, y);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1717 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1718 return reinterpret_cast< const void* >(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1719 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1720 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1721 * @brief Get the size of the DICOM file corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1722 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1723 * Get the size of the DICOM file corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1724 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1725 * @return The file size.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1726 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1727 inline LAAW_UINT64 Instance::GetDicomSize()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1728 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1729 LAAW_UINT64 result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1730 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT64*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1731 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(57);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1732 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1733 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1734 return result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1735 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1736 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1737 * @brief Get a pointer to the content of the DICOM file corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1738 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1739 * Get a pointer to the content of the DICOM file corresponding to this instance.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1740 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1741 * @return The DICOM file.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1742 **/
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1743 inline const void* Instance::GetDicom()
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1744 {
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1745 const void* result_;
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1746 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void**);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1747 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(58);
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1748 char* error = function(pimpl_, &result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1749 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1750 return reinterpret_cast< const void* >(result_);
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1751 }
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1752 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1753 * @brief Discard the downloaded 2D image, so as to make room in memory.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1754 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1755 * Discard the downloaded 2D image, so as to make room in memory.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1756 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1757 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1758 inline void Instance::DiscardImage()
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1759 {
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1760 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1761 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(59);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1762 char* error = function(pimpl_);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1763 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1764 }
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1765 /**
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1766 * @brief Discard the downloaded DICOM file, so as to make room in memory.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1767 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1768 * Discard the downloaded DICOM file, so as to make room in memory.
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1769 *
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1770 **/
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1771 inline void Instance::DiscardDicom()
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1772 {
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1773 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1774 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(60);
593
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1775 char* error = function(pimpl_);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1776 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
9d2592c08919 documentation completed
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 591
diff changeset
1777 }
728
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1778 /**
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1779 * @brief Load a raw tag from the DICOM file.
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1780 *
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1781 * Load a raw tag from the DICOM file.
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1782 *
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1783 * @param path The path to the tag of interest (e.g. "0020-000d").
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1784 **/
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1785 inline void Instance::LoadTagContent(const ::std::string& path)
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1786 {
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1787 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const char*);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1788 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(61);
728
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1789 char* error = function(pimpl_, path.c_str());
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1790 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1791 }
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1792 /**
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1793 * @brief Return the value of the raw tag that was loaded by LoadContent.
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1794 *
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1795 * Return the value of the raw tag that was loaded by LoadContent.
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1796 *
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1797 * @return The tag value.
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1798 **/
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1799 inline ::std::string Instance::GetLoadedTagContent() const
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1800 {
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1801 const char* result_;
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1802 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
986
de18e90d5507 fix GetVoxelSizeZ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 865
diff changeset
1803 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(62);
728
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1804 char* error = function(pimpl_, &result_);
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1805 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1806 return std::string(result_);
d380222b4c2a Load a raw tag from the DICOM file
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 660
diff changeset
1807 }
540
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1808 }
eaca3d38b2aa many fixes
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1809