Towards the Automatization of Cranial Implant Design in Cranioplasty II
└── MICCAI 2021 Challenge
└── Proceedings
│ ├── Personalized Calvarial Reconstruction in Neurosurgery
│ ├── Qualitative Criteria for Feasible Cranial Implant Designs
│ ├── Segmentation of Defective Skulls from CT Data for Tissue Modelling
│ ├── Improving the Automatic Cranial Implant Design in Cranioplasty by Linking Different Datasets
│ ├── Learning to Rearrange Voxels in Binary Segmentation Masks for Smooth Manifold Triangulation
│ ├── A U-Net Based System for Cranial Implant Design with Pre-processing and Learned Implant Filtering
│ ├── Sparse Convolutional Neural Network for Skull Reconstruction
│ ├── Cranial Implant Prediction by Learning an Ensemble of Slice-Based Skull Completion Networks
│ ├── PCA-Skull: 3D Skull Shape Modelling Using Principal Component Analysis
│ ├── Cranial Implant Design Using V-Net Based Region of Interest Reconstruction
└── Codes
│ ├── https://github.com/MWod/AutoImplant_2021
│ ├── https://github.com/Jianningli/voxel_rearrangement
│ ├── https://github.com/akroviakov/SparseSkullCompletion
│ ├── https://github.com/1eiyu/ShapePrior
└── Summary Paper
│ ├── Towards clinical applicability and computational efficiency in automatic cranial implant design: An overview of the AutoImplant 2021 cranial implant design challenge
├── Proceedings: SpringerLink
- Personalized Calvarial Reconstruction in Neurosurgery.
- Qualitative Criteria for Feasible Cranial Implant Designs.
- Segmentation of Defective Skulls from CT Data for Tissue Modelling.
- Improving the Automatic Cranial Implant Design in Cranioplasty by Linking Different Datasets. [code].
- Learning to Rearrange Voxels in Binary Segmentation Masks for Smooth Manifold Triangulation. [code]
- A U-Net Based System for Cranial Implant Design with Pre-processing and Learned Implant Filtering.
- Sparse Convolutional Neural Network for Skull Reconstruction. [code]
- Cranial Implant Prediction by Learning an Ensemble of Slice-Based Skull Completion Networks. [code]
- PCA-Skull: 3D Skull Shape Modelling Using Principal Component Analysis. [code]
- Cranial Implant Design Using V-Net Based Region of Interest Reconstruction.
├── code snippets for implant post-processing (thinning & border adjustment)
import nrrd
import pyvista as pv
import numpy as np
import vtk
import trimesh
# original mesh
mesh = pv.PolyData('original.stl')
# extract the interior surface of an implant
mesh.compute_normals(cell_normals=True, point_normals=False, inplace=True)
ids = np.arange(mesh.n_cells)[mesh['Normals'][:,2] < 0.0 ]
top = mesh.extract_cells(ids)
ind= []
newList1=[]
newList2=[]
# convert pyvista datatype to list for fast processing of points
for i in range(len(top.points)):
newList1.append([top.points[i][0],top.points[i][1],top.points[i][2]])
for i in range(len(mesh.points)):
newList2.append([mesh.points[i][0],mesh.points[i][1],mesh.points[i][2]])
for i in range(len(top.points)):
idx=newList2.index(newList1[i])
ind.append(idx)
# rescale x,y,z
for i in range(len(ind)):
mesh.points[ind[i]][2]=mesh.points[ind[i]][2]*1.05
mesh.points[ind[i]][1]=mesh.points[ind[i]][1]*0.95
mesh.points[ind[i]][0]=mesh.points[ind[i]][0]*1.00
mesh.plot()
mesh=mesh.extract_surface().triangulate()
mesh.save('result.stl')
# after generating the processed mesh. Intersection can be done using MeshLab:
# MeshLab - Loading result.stl and original.stl - Filters - Remeshing, Simplification, Reconstruction
# - Mesh Boolean: Intersection