├── LICENSE
├── README.md
└── docs
├── figure-1.1-processing-pipeline.png
├── figure-2-comparison-meshing-2000px.png
├── figure-2b-mesh-defects.png
├── figure-3-cut-types-red.png
└── logos
├── aneux_logo.png
└── logos_combined.png
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Digital Health Group
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 | # AneuX morphology database
12 |
13 | An open-access, multi-centric database containing 3D geometric models of 750 intracranial aneurysms curated in the context of the AneuX project (2015-2020). The database combines data from three different projects (**AneuX**, **@neurIST** and **Aneurisk**) standardized using a single processing pipeline.
14 |
15 | The aneuxdb repository offers code to process, manipulate and view the 3D geometries for their morphological analysis.
16 |
17 |
18 |
19 | ```
20 | NOTE: Code publication in progress
21 | Please be patient :)
22 | ```
23 |
24 |
25 |
26 | ## At a glance
27 |
28 |
29 | ### Dataset summary:
30 |
31 | * 750 aneurysm domes (surface meshes)
32 | * 668 vessel trees (surface meshes)
33 | * 3 different data sources (AneuX, @neurIST, Aneurisk)
34 | * 3 different mesh resolutions (original resolution, 0.01mm² and 0.05mm² target cell area)
35 | * 4 different cut configurations (including planar and free-form cuts)
36 | * 5 clinical parameters (aneurysm rupture status, location and side; patient age and sex)
37 | * 170 pre-computed morphometric indices for each of the aneurysm domes
38 |
39 | ### Software summary:
40 |
41 | * GMTK: A geometric modeling toolkit to compute morphometric parameters, and more
42 | * Scripts implementing the processing pipeline
43 | * File viewer system (intuitive, lightweight, extensible, distributable)
44 | * Code based mostly on Python, [VTK](https://vtk.org/) and [VMTK](http://www.vmtk.org/)
45 |
46 |
47 |
48 | ## About
49 |
50 | * **Authors**: Norman Juchler¹, Philippe Bijlenga², Sven Hirsch¹
51 | * **Affiliations**:
52 | ¹ [Center of Computational Health](https://www.zhaw.ch/en/lsfm/institutes-centres/icls/computational-health/), Zurich University of Applied Sciences, Switzerland
53 | ² [Neurosurgery Division](https://www.hug.ch/en/neurosurgery), Geneva University Hospital and Faculty of Medicine, Switzerland
54 | * **Licenses**: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) (dataset), [MIT](https://github.com/hirsch-lab/aneuxdb/blob/main/LICENSE) (code)
55 | * **Article citation**: Juchler, Schilling, Bijlenga, Kurtcuoglu, Hirsch. *"Shape trumps size: Image-based morphological analysis reveals that the 3D shape discriminates intracranial aneurysm disease status better than aneurysm size"*, Frontiers in Neurology (2022), [DOI: 10.3389/fneur.2022.809391](https://doi.org/10.3389/fneur.2022.809391).
56 | * **Dataset citation**: Juchler, Bijlenga, Hirsch, *"AneuX morphology database"*, Zenodo, [DOI: 10.5281/zenodo.6678442](https://doi.org/10.5281/zenodo.6678442)
57 |
58 |
59 |
60 | ## Dataset
61 |
62 | The AneuX morphology database includes data from 3 different data sources: AneuX, @neurIST and Aneurisk. The AneuX data consists of two portions AneuX1 and AneuX2, which have extracted by two different teams of data curators.
63 |
64 | The datasets differ in the exact case selection, but represent a very similar patient cohort (patients examined or treated for ruptured or unruptured aneurysms at the
65 |
66 | The dataset consists of totally 750 aneurysm domes. The geometries were all extracted from 3D rotational angiographies using different vessel lumen segmentation techniques.
67 |
68 |
69 |
70 | | | AneuX1 | AneuX2 | @neurIST | Aneurisk | *Overall* |
71 | |:--- |:---- |:---- |:-------- |:-------- |:------- |
72 | | Number of patients | 247 | 110 |151 |97 | ***605***
73 | | Sex | F: 197 (77%) M: 57 (33%) | F: 81 (74%) M: 29 (26%) | F: 109 (67%) M: 42 (33%) | F: 61 (63%) M: 36 (37%) | ***F: 445 (73%) M: 164 (27%)***
74 | | Patient age in years (mean±SD) | F: 56.4±14.0 M: 54.3±13.8 | F: 54.4±12.7 M: 50.6±12.2 | F: 53.4±12.2 M: 49.8±10.6 | F: 53.6±15.2 M: 55.5±10.8 | ***F: 55.0±13.6 M: 52.8±12.2***
75 | | Number of IAs | 350 | 135 | 164 | 101 | ***750***
76 | Ruptured / unruptured | R: 87 (25%) U: 263 (75%) | R: 41 (30%) U: 79 (59%) | R: 89 (54%) U: 75 (46%) | R: 44 (44%) U: 57 (56%) | ***R: 261 (35%) U: 474 (65%)***
77 |
78 | **Table 1**: Summary of the different sub-datasets.
79 |
80 |
81 |
82 | ## Processing
83 |
84 | The processing consists of the following main steps (Figure 1): mesh cleaning (re-meshing and smoothing), aneurysm isolation (cutting) and shape description (morphometry). The extraction of the vessel geometries (vessel lumen segmentation) is not further explained here, as the AneuX morphology database does not contain medical imaging data.
85 |
86 |
87 |
88 |
93 |
94 |
97 |
98 |
103 | Figure 1: Mesh processing pipeline
104 |
105 |
106 |
116 |
117 |
118 |
119 | **Mesh cleaning:** Many operations on surface meshes are highly sensitive to mesh defects, such as small holes, singular/non-manifold edges or vertices, incoherently oriented mesh cells, isolated or intersecting elements [1]. Re-meshing the input surfaces with an appropriate target cell area can solve many of these problems. Smoothing equally has a sanitizing, homogenizing effect on the surface meshes, see Figure 2.
120 |
121 | Therefore, it is recommended to clean the input surface meshes. The processing scripts rely on VMTK's surface re-meshing tool ([link](http://www.vmtk.org/vmtkscripts/vmtksurfaceremeshing.html)), with target cell area of 0.05mm² or 0.01mm². For smoothing, non-shrinking Taubin smoothing is used, implemented in VTK ([link](https://vtk.org/doc/nightly/html/classvtkWindowedSincPolyDataFilter.html)). Note that Taubin's method is a "topological" smoother that disregards spatial proximity. Consequently, smoothing meshes with different resolutions and fixed smoothing parameters will produce different results. In order to achieve similar spatial smoothing for differently resolved surface meshes, the parameters were adjusted based on a heuristic relationship.
122 |
123 |
124 |
125 |
126 |
131 | Figure 2: Comparison of different mesh resolutions
132 |
133 |
134 |
135 |
136 |
137 | **Aneurysm isolation:** GMTK offers two cut tools to isolate the aneurysm, implemented as extensions for the GMTK FileViewer. With the *planar* method (extension: `ex:cut`), the aneurysm domes are delineated using planar cuts. The placement of cut planes is facilitated using the centerlines of the parent vessels. With the *ninja* method (extension: `ex:scissor`), the aneurysm domes are isolated using non-planar, free-form cuts.
138 |
139 | Both methods require manual input by an operator. It is recommended to clean the surface meshes of the isolated aneurysm domes once more after cutting (re-meshing, no smoothing) to remove seams or other artifacts caused by the cutting routines.
140 |
141 | Figure 3 illustrates all cut configurations relevant for the Aneux morphology database. The cut planes / seams were determined according to a set of predetermined rules. ([Link](https://doi.org/10.3389/fneur.2022.809391))
142 |
143 |
144 |
145 |
146 |
151 | Figure 3: Different cut configurations
152 |
153 |
154 |
155 |
156 | **Geometry description:** A brief description of the morphometric features computed for the AneuX morphology database is included in [Juchler 2022](https://doi.org/10.3389/fneur.2022.809391). Note that some methods are more sensitive to mesh resolution or different cutting methods than others.
157 |
158 | **Implementation:** The scripts under `code/aneuxdb/processing/` implement the above steps. Table 1 provides a summary of what these scripts do. Some of scripts require user interaction (*manual* mode), others of which do not (*automated* mode).
159 |
160 | *Note*: The provided scripts make use of the GMTK library, see ../gmtk/README.md **TODO** for the setup instructions.
161 |
162 |
163 | *Note*: The steps are not chained, that is, the output of one script is not necessarily the input of the next script. To update the AneuX morphology database with updated items, copy the result folders manually to `$ANEUX_DATA` or one of its subdirectories.
164 |
165 |
166 |
167 | | Step | Description | Mode | Input | Output |
168 | |:----|:----------- |:---- |:------|:-------|
169 | | 1. | Mesh cleaning of vessel models | Automated | Vessels | Vessels*
170 | | 2. | Extract centerlines | Manual | Vessels* | Centerlines |
171 | | 3. | Run cut-tools| Manual | Vessels*, centerlines | Cut specs |
172 | | 4. | Apply the cuts | Automated | Vessels*, cut specs | Aneurysms |
173 | | 5. | Mesh cleaning of aneurysms | Automated | Aneurysms | Aneurysms* |
174 | | 6. | Show/inspect the data | Manual | Aneurysms*, vessels | – |
175 | | 7. | Compute geometry indices | Automated | Aneurysms* | Morpho data
176 |
177 | **Table 2**: Sequence of operations to compute morphometric indices. The * indicates geometries after mesh cleaning.
178 |
179 |
180 |
181 |
182 | ## Acknowledgments
183 |
184 | We thank the following people for their support and contributions to the AneuX project, namely (in alphabetical order)
185 |
186 |
187 | * Diana Sapina
188 | * Karl Lovblad
189 | * Karl Schaller
190 | * Olivier Brina
191 | * Paolo Machi
192 | * Rafik Ouared
193 | * Sabine Schilling
194 | * Sandrine Morel
195 | * Ueli Ebnöther
196 | * Vartan Kurtucuoglu
197 | * Vitor Mendes Pereira
198 | * Zolt Kuscàr
199 |
200 |
201 | The AneuX project was supported by SystemsX.ch, and evaluated by the Swiss National Science Foundation (SNSF). This database would not be possible without the support of the Zurich University of Applied Sciences (ZHAW) and University Hospitals Geneva (HUG)
202 |
203 |
204 |
205 |
210 |
211 |
212 |
213 | ## References
214 |
215 | \[1\]: Campen et al., 2012, A practical Guide to Polygon Mesh Repairing. [Link](https://www.graphics.rwth-aachen.de/publication/034/)
216 |
217 | **[TODO]**: Refs vmtk, vtk, own publications.
218 |
--------------------------------------------------------------------------------
/docs/figure-1.1-processing-pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/figure-1.1-processing-pipeline.png
--------------------------------------------------------------------------------
/docs/figure-2-comparison-meshing-2000px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/figure-2-comparison-meshing-2000px.png
--------------------------------------------------------------------------------
/docs/figure-2b-mesh-defects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/figure-2b-mesh-defects.png
--------------------------------------------------------------------------------
/docs/figure-3-cut-types-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/figure-3-cut-types-red.png
--------------------------------------------------------------------------------
/docs/logos/aneux_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/logos/aneux_logo.png
--------------------------------------------------------------------------------
/docs/logos/logos_combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hirsch-lab/aneuxdb/a6b355e8f271e9a88399a2e432ed924d99b85d64/docs/logos/logos_combined.png
--------------------------------------------------------------------------------