Skip to content

Datasets

The SPECULAR project provides datasets for validation, benchmarking, and further research in medical simulation.


Available Datasets

Liver Geometry Dataset

Patient-specific liver meshes derived from anonymized CT scans.

  • 10 Liver Meshes

Tetrahedral meshes (~5K-50K elements)

Download (50 MB)

  • Vessel Trees

Segmented hepatic vessels

Download (10 MB)

  • Tumor Models

Synthetic and patient-derived tumor geometries

Download (5 MB)

Format: VTK, OBJ, STL

License: CC BY 4.0 (Attribution required)


Needle Insertion Experiments

Force and position data from experimental needle insertions.

  • Phantom Liver Data

50+ insertion experiments on gelatin phantoms

Download (25 MB)

  • Ex-vivo Data

Insertions in porcine liver specimens

Download (15 MB)

  • In-vivo Data

Clinical insertion recordings (anonymized)

Request Access

Contents: - Needle tip position (3D trajectory) - Insertion force (3D) - Timestamps - Tissue properties - Experimental conditions

Format: CSV, HDF5


Simulation Benchmarks

Reference solutions and performance metrics.

Benchmark Description Size
Static deformation Linear elasticity solutions 100 MB
Dynamic response Viscoelastic behavior 200 MB
Contact validation Analytical contact solutions 50 MB
Haptic stability Coupling stability tests 25 MB

Download All Benchmarks (375 MB)


Data Format

Mesh Files

liver_001.vtu
├── Points (vertices)
├── Cells (tetrahedra)
├── PointData
│   ├── displacement
│   └── force
└── CellData
    ├── stress
    └── strain

Trajectory Files

time,x,y,z,fx,fy,fz,depth
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
0.01,0.1,0.0,0.0,0.5,0.1,0.0,0.1
...

Usage Examples

Loading Meshes

Python with meshio:

import meshio

# Load liver mesh
mesh = meshio.read("liver_001.vtu")
points = mesh.points
cells = mesh.cells_dict["tetra"]

MATLAB:

% Load trajectory data
data = readmatrix('insertion_001.csv');
time = data(:,1);
position = data(:,2:4);
force = data(:,5:7);


Data Processing

Preprocessing Scripts

Utilities for data preparation:

  • Mesh cleaning: Remove duplicate vertices
  • Smoothing: Laplacian smoothing
  • Decimation: Reduce mesh complexity
  • Registration: Align with reference frames

Download Scripts (ZIP)

Visualization

Example scripts for plotting:

import matplotlib.pyplot as plt
import numpy as np

# Load and plot force data
data = np.loadtxt('insertion_001.csv', delimiter=',', skiprows=1)
time = data[:, 0]
force_magnitude = np.linalg.norm(data[:, 4:7], axis=1)

plt.plot(time, force_magnitude)
plt.xlabel('Time (s)')
plt.ylabel('Force (N)')
plt.title('Insertion Force Profile')
plt.show()

Validation

Ground Truth

Reference solutions for validation:

  • Analytical solutions: Simple geometries
  • High-fidelity FEM: Converged solutions
  • Experimental data: Phantom measurements

Comparison Metrics

Common evaluation metrics:

Metric Description Formula
RMSE Root Mean Square Error \(\sqrt{\frac{1}{N}\sum(u_i - \hat{u}_i)^2}\)
Correlation Pearson correlation \(r_{u,\hat{u}}\)
Hausdorff Maximum distance \(\max(d(A,B), d(B,A))\)

Dataset Statistics

Liver Geometries

Dataset: Liver Meshes (n=10)
├── Mean volume: 1.45 L (±0.3)
├── Mean surface: 0.12 m² (±0.02)
├── Elements: 10K-50K tetrahedra
└── Quality: Minimum Jacobian > 0.1

Needle Insertions

Dataset: Phantom Insertions (n=50)
├── Mean depth: 80 mm (±20)
├── Max force: 5.2 N (±1.5)
├── Duration: 15-60 seconds
└── Velocity: 2-10 mm/s

Data Collection

Phantom Preparation

Gelatin phantoms mimicking liver tissue:

  • Recipe: 8% gelatin, 92% water
  • Additives: Graphite for US visibility
  • Storage: 4°C, sealed containers
  • Lifetime: 2 weeks

Experimental Setup

  • Needle: 17G RFA needle (Covidien)
  • Actuation: Linear stage (0.1 mm precision)
  • Force sensor: ATI Nano17
  • Tracking: Optical tracker (NDI Polaris)

License and Citation

License

All datasets are released under CC BY 4.0:

  • Use for research and education
  • Share and redistribute
  • Create derivative works
  • Required: Attribution

Citation

When using these datasets, please cite:

@dataset{specular2021,
  title={SPECULAR: Needle Insertion Simulation Dataset},
  author={SPECULAR Consortium},
  year={2021},
  url={https://specular-project.github.io/datasets}
}

Contributing Data

We welcome contributions from the community:

  1. Validation data: Comparison with your simulator
  2. New phantoms: Different tissue mimics
  3. Clinical data: Anonymized patient data
  4. Annotations: Expert segmentations

Contact: datasets@specular-project.fr


FAQ

Q: Can I use these datasets commercially? A: Yes, under CC BY 4.0 license with attribution.

Q: Are the patient datasets anonymized? A: Yes, all identifying information has been removed.

Q: How can I request additional data? A: Contact us with your specific requirements.

Q: What software can read these formats? A: ParaView, MATLAB, Python (meshio, pyvista), 3D Slicer.


Contact

For questions about datasets: