Skip to content

Latest commit

 

History

History
94 lines (70 loc) · 4.89 KB

README.md

File metadata and controls

94 lines (70 loc) · 4.89 KB
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

  1. Personalized Calvarial Reconstruction in Neurosurgery.
  2. Qualitative Criteria for Feasible Cranial Implant Designs.
  3. Segmentation of Defective Skulls from CT Data for Tissue Modelling.
  4. Improving the Automatic Cranial Implant Design in Cranioplasty by Linking Different Datasets. [code].
  5. Learning to Rearrange Voxels in Binary Segmentation Masks for Smooth Manifold Triangulation. [code]
  6. A U-Net Based System for Cranial Implant Design with Pre-processing and Learned Implant Filtering.
  7. Sparse Convolutional Neural Network for Skull Reconstruction. [code]
  8. Cranial Implant Prediction by Learning an Ensemble of Slice-Based Skull Completion Networks. [code]
  9. PCA-Skull: 3D Skull Shape Modelling Using Principal Component Analysis. [code]
  10. 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