annotate README.md @ 571:a29f9628369e

fix build on visual studio 2008
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 18 Apr 2019 16:34:25 +0200
parents d10a295b607a
children e3f21a265be5 69370bdaad89
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 Stone of Orthanc
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 ================
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 General Information
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 -------------------
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 This repository contains the source code of the Stone of Orthanc.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 Stone of Orthanc is a lightweight, cross-platform C++ framework for
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 the CPU-based rendering of medical images. It notably features support
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 for MPR (multiplanar reconstruction of volume images), PET-CT fusion,
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 and accurate physical world coordinates.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 Stone of Orthanc comes bundled with its own software-based rendering
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 engine (based upon pixman). This engine will use CPU hardware
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 acceleration if available (notably SSE2, SSSE3, and NEON instruction
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 sets), but not the GPU. This makes Stone a highly versatile framework
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
18 that can run even on low-performance platforms. Note that Stone is
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
19 able to display DICOM series without having to entirely store them in
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
20 the RAM (i.e. frame by frame).
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
21
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
22 Thanks to its standalone rendering engine, Stone of Orthanc is also
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
23 compatible with any GUI framework (such as Qt, wxWidgets, MFC...). The
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
24 provided sample applications use the SDL framework.
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
26 Stone is conceived as a companion toolbox to the Orthanc VNA (vendor
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
27 neutral archive, i.e. DICOM server). As a consequence, Stone will
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
28 smoothly interface with Orthanc out of the box. Interestingly, Stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
29 does not contain any DICOM toolkit: It entirely relies on the REST API
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
30 of Orthanc to parse/decode DICOM images. However, thanks to the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
31 object-oriented architecture of Stone, it is possible to avoid this
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
32 dependency upon Orthanc, e.g. to download DICOM datasets using
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4
diff changeset
33 DICOMweb.
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 Comparison
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 ----------
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 Pay attention to the fact that Stone of Orthanc is a toolkit, and not
1
2dbe613f6c93 add orthanc core
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
40 a fully-featured application for the visualization of medical images
2dbe613f6c93 add orthanc core
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
41 (such as Horos/OsiriX or Ginkgo CADx). However, such applications
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
42 can be built on the top of Stone of Orthanc.
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 Stone of Orthanc is quite similar to two other well-known toolkits:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 * Cornerstone, a client-side JavaScript toolkit to display medical
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 images in Web browsers, by Chris Hafey <chafey@gmail.com>:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 https://github.com/chafey/cornerstone
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 Contrarily to Cornerstone, Stone of Orthanc can be embedded into
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 native, heavyweight applications.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 * VTK, a C++ toolkit for scientific visualization, by Kitware:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 http://www.vtk.org/
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 Contrarily to VTK, Stone of Orthanc is focused on CPU-based, 2D
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 rendering: The GPU will not be used.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 Dependencies
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 ------------
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 Stone of Orthanc is based upon the following projects:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 * Orthanc, a lightweight Vendor Neutral Archive (DICOM server):
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 http://www.orthanc-server.com/
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 * Cairo and pixman, a cross-platform 2D graphics library:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 https://www.cairographics.org/
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 * Optionally, SDL, a cross-platform multimedia library:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 https://www.libsdl.org/
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
74 Prerequisites to compile natively on Ubuntu:
222
84844649a8fd continued: reusable applications
am@osimis.io
parents: 211
diff changeset
75 ```
84844649a8fd continued: reusable applications
am@osimis.io
parents: 211
diff changeset
76 sudo apt-get install -y libcairo-dev libpixman-1-dev libsdl2-dev
84844649a8fd continued: reusable applications
am@osimis.io
parents: 211
diff changeset
77 ```
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
79 The emscripten SDK is required for the WASM build. Please install it
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
80 in `~/apps/emsdk`. If you wish to use it in another way, please edit
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
81 the `build-wasm.sh` file.
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
82
466
5055031f4a06 - Added browserify to build. This allows using require calls for modules that
bgo-osimis
parents: 445
diff changeset
83 ninja (`sudo apt-get install -y ninja-build`) is used instead of make, for performance reasons.
5055031f4a06 - Added browserify to build. This allows using require calls for modules that
bgo-osimis
parents: 445
diff changeset
84
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
85 Installation and usage ----------------------
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 Build instructions are similar to that of Orthanc:
460
4d8ac609fc33 fix link
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 295
diff changeset
88 http://book.orthanc-server.com/faq/compiling.html
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89
41
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
90 Usage details are available as part of the Orthanc Book:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
91 http://book.orthanc-server.com/developers/stone.html
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
92
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 Stone of Orthanc comes with several sample applications in the
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
94 `Samples` folder. These samples can be compiled into Web Assembly or
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
95 into native SDL applications.
264
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
96
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
97 The following assumes that the source code to be downloaded in
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
98 `~/orthanc-stone` and Orthanc source code to be checked out in
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
99 `~/orthanc`.
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
100
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
101 Building the WASM samples
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
102 -------------------------------------
264
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
103 ```
295
b04b13810540 unified CMakeLists.txt into a single file for WASM/Native + bootstrap Command (to rework) + doc
am@osimis.io
parents: 265
diff changeset
104 cd ~/orthanc-stone/Applications/Samples
264
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
105 ./build-wasm.sh
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
106 ```
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
107
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
108 Serving the WASM samples
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
109 ------------------------------------
264
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
110 ```
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
111 # launch an Orthanc listening on 8042 port:
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
112 Orthanc
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
113
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
114 # launch an nginx that will serve the WASM static files and reverse
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
115 # proxy
264
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
116 sudo nginx -p $(pwd) -c nginx.local.conf
6b98ac45aaee documented how to compile and execute WASM samples
am@osimis.io
parents: 222
diff changeset
117 ```
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
118
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
119 You can now open the samples in http://localhost:9977
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
121 Building the SDL native samples (SimpleViewer only)
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
122 ---------------------------------------------------
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
123
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
124 The following also assumes that you have checked out the Orthanc
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
125 source code in an `orthanc` folder next to the Stone of Orthanc
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
126 repository, please enter the following:
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
127
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
128 **Simple make generator with dynamic build**
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
129
265
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
130 ```
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
131 # Please set $currentDir to the current folder
265
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
132 mkdir -p ~/builds/orthanc-stone-build
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
133 cd ~/builds/orthanc-stone-build
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
134 cmake -DORTHANC_FRAMEWORK_SOURCE=path \
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
135 -DORTHANC_FRAMEWORK_ROOT=$currentDir/../../../orthanc \
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
136 -DALLOW_DOWNLOADS=ON -DENABLE_SDL=ON \
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
137 ~/orthanc-stone/Applications/Samples/
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
138 ```
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
139
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
140 **Ninja generator with static SDL build (pwsh script)**
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
141
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
142 ```
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
143 # Please yourself one level above the orthanc-stone and orthanc folders
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
144 if( -not (test-path stone_build_sdl)) { mkdir stone_build_sdl }
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
145 cd stone_build_sdl
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
146 cmake -G Ninja -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DORTHANC_FRAMEWORK_SOURCE=path -DORTHANC_FRAMEWORK_ROOT="$($pwd)\..\orthanc" -DALLOW_DOWNLOADS=ON -DENABLE_SDL=ON ../orthanc-stone/Applications/Samples/
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
147 ```
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
148
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
149 **Visual Studio 2017 generator with static SDL build (pwsh script)**
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
150
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
151 ```
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
152 # The following will use Visual Studio 2017 to build the SDL samples
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
153 # in debug mode (with multiple compilers in parallel). NOTE: place
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
154 # yourself one level above the `orthanc-stone` and `orthanc` folders
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
155
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
156 if( -not (test-path stone_build_sdl)) { mkdir stone_build_sdl }
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
157 cd stone_build_sdl
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
158 cmake -G "Visual Studio 15 2017 Win64" -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DORTHANC_FRAMEWORK_SOURCE=path -DORTHANC_FRAMEWORK_ROOT="$($pwd)\..\orthanc" -DALLOW_DOWNLOADS=ON -DENABLE_SDL=ON ../orthanc-stone/Applications/Samples/
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
159 cmake --build . --config Debug
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
160 ```
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
161
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
162 If you are working on Windows, add the correct generator option to
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
163 cmake to, for instance, generate msbuild files for Visual Studio.
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
164
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
165 Then, under Linux:
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
166 ```
265
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
167 cmake --build . --target OrthancStoneSimpleViewer -- -j 5
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
168 ```
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
169
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
170 Note: replace `$($pwd)` with the current directory when not using Powershell
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
171
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
172 Building the Qt native samples (SimpleViewer only) under Windows:
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
173 ------------------------------------------------------------------
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
174
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
175 **Visual Studio 2017 generator with static Qt build (pwsh script)**
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
176
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
177 For instance, if Qt is installed in `C:\Qt\5.12.0\msvc2017_64`
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
178
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
179 ```
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
180 # The following will use Visual Studio 2017 to build the SDL samples
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
181 # in debug mode (with multiple compilers in parallel). NOTE: place
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
182 # yourself one level above the `orthanc-stone` and `orthanc` folders
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
183
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
184 if( -not (test-path stone_build_qt)) { mkdir stone_build_qt }
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
185 cd stone_build_qt
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
186 cmake -G "Visual Studio 15 2017 Win64" -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DCMAKE_PREFIX_PATH=C:\Qt\5.12.0\msvc2017_64 -DORTHANC_FRAMEWORK_SOURCE=path -DORTHANC_FRAMEWORK_ROOT="$($pwd)\..\orthanc" -DALLOW_DOWNLOADS=ON -DENABLE_QT=ON ../orthanc-stone/Applications/Samples/
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
187 cmake --build . --config Debug
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
188 ```
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
189
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
190 Note: replace `$($pwd)` with the current directory when not using Powershell
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
191
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
192
501
8424b10df93a Dummy change
bgo-osimis
parents: 466
diff changeset
193
548
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
194
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
195
d10a295b607a Added /MP option to cmakefile and improved readme with Windows command lines for configure/build
Benjamin Golinvaux <bgo@osimis.io>
parents: 527
diff changeset
196
445
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
197 Building the SDL native samples (SimpleViewer only) under Windows:
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
198 ------------------------------------------------------------------
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
199 `cmake -DSTATIC_BUILD=ON -DORTHANC_FRAMEWORK_SOURCE=path -DORTHANC_FRAMEWORK_ROOT="$($pwd)\..\orthanc" -DALLOW_DOWNLOADS=ON -DENABLE_SDL=ON -G "Visual Studio 15 2017 Win64" ../orthanc-stone/Applications/Samples/`
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
200
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
201 Note: replace `$($pwd)` with the current directory when not using Powershell
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
202
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
203 Executing the native samples:
ee41b6a017d7 dumb change
bgo-osimis
parents: 295
diff changeset
204 --------------------------------
265
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
205 ```
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
206 # launch an Orthanc listening on 8042 port:
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
207 Orthanc
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
208
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
209 # launch the sample
295
b04b13810540 unified CMakeLists.txt into a single file for WASM/Native + bootstrap Command (to rework) + doc
am@osimis.io
parents: 265
diff changeset
210 ./OrthancStoneSimpleViewer --studyId=XX
265
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
211 ```
30dc6e383b0b documented how to build the native sample
am@osimis.io
parents: 264
diff changeset
212
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 Licensing
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 ---------
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215
49
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
216 Stone of Orthanc is licensed under the AGPL license.
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
218 We also kindly ask scientific works and clinical studies that make
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219 use of Orthanc to cite Orthanc in their associated publications.
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220 Similarly, we ask open-source and closed-source products that make
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 use of Orthanc to warn us about this use. You can cite our work
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 using the following BibTeX entry:
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223
210
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
224 @Article{Jodogne2018,
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
225 author="Jodogne, S{\'e}bastien",
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
226 title="The {O}rthanc Ecosystem for Medical Imaging",
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
227 journal="Journal of Digital Imaging",
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
228 year="2018",
211
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 210
diff changeset
229 month="Jun",
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 210
diff changeset
230 day="01",
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 210
diff changeset
231 volume="31",
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 210
diff changeset
232 number="3",
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 210
diff changeset
233 pages="341--352",
210
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
234 issn="1618-727X",
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
235 doi="10.1007/s10278-018-0082-y",
101e487cd154 updated bibtex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
236 url="https://doi.org/10.1007/s10278-018-0082-y"
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 }
501
8424b10df93a Dummy change
bgo-osimis
parents: 466
diff changeset
238
527
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
239 Various notes to be deleted
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
240 ---------------------------
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
241 class BaseCommand : public ICommand
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
242
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
243 RadiographySceneCommand
b1377625e4ba Removed ICommand and friends + fixed warnings + added missing header files in
Benjamin Golinvaux <bgo@osimis.io>
parents: 506
diff changeset
244 GenericNoArgCommand