This repository contains a staged MATLAB implementation for synthetic four-dimensional electrical capacitance tomography (4D ECT): sensor preparation, dynamic phantom simulation, FEM forward modeling, measurement-error generation, linear and nonlinear reconstruction, motion compensation, confirmatory validation, robustness controls, and inverse-grid convergence analysis.
The numbered directory names encode both execution order and scientific purpose. MATLAB function names retain their original ect4d_stepXX_* identifiers to preserve provenance and make outputs traceable to the corresponding study stage.
| Stage | Directory | Scientific role |
|---|---|---|
| 01 | step_01_sensor_model_and_geometry |
Load and validate the 32-electrode 3D FEM sensor model |
| 02 | step_02_static_phantom_definition |
Define static tetrahedral permittivity phantoms |
| 03 | step_03_dynamic_phantom_sequence |
Generate moving-object ground-truth sequences |
| 04 | step_04_fem_forward_simulation |
Solve electrostatic fields and capacitance measurements |
| 05 | step_05_measurement_noise_and_model_error |
Add acquisition/model error and estimate covariance |
| 06 | step_06_spatiotemporal_visualization |
Visualize 3D+time sequences and space–time maps |
| 07 | step_07_dataset_export_and_ml_interface |
Export MATLAB, HDF5, CSV, and metadata datasets |
| 08 | step_08_independent_and_causal_3d_reconstruction |
Independent and causal dynamic 3D reconstruction |
| 09 | step_09_centered_multiframe_4d_reconstruction |
Centered multiframe 4D method based on the 2009 formulation |
| 10 | step_10_validation_and_hyperparameter_tuning |
Independent calibration, validation-only tuning, and test reporting |
| 11 | step_11_multiphantom_benchmark |
Multi-phantom benchmark and aggregate comparison |
| 12 | step_12_nonlinear_4d_aem_and_motion_compensation |
Nonlinear 4D reconstruction with AEM and transport regularization |
| 13 | step_13_quick_v2_motion_compensation_study |
Quick-v2 motion-compensation study |
| 14 | step_14_quick_v3_confirmatory_validation |
Frozen quick-v3 development/validation/test protocol |
| 15 | step_15_publication_robustness_and_replication |
Numerical controls, ablation, and independent replication |
| 16 | step_16_inverse_grid_density_and_convergence |
Inverse-grid density, memory, PCG, and convergence study |
- MATLAB R2022b or newer; development and large-scale runs used MATLAB R2024b.
- 64-bit operating system.
- At least 64 GB RAM for the complete study; Step 16 may require substantial SSD workspace.
- The supplied
3DECTworkspace.matfile in the repository root. - Python 3 with
numpyandh5pyonly for the optional Step 07 HDF5 interface.
Reference single-workstation computations were performed on a PC equipped with an AMD Ryzen 9 5950X CPU, 64 GB RAM, and an NVIDIA RTX A6000 GPU with 48 GB VRAM. The baseline MATLAB implementation remains CPU-dominant unless a stage explicitly selects GPU-enabled operations.
The base Steps 01–16 do not require a live ECT acquisition system because the study is built on synthetic FEM data. The supplied workspace contains the sensor/mesh state required by the code.
Start MATLAB in the repository root and run:
stageDirectories = setup_ect4d_paths(pwd);The helper verifies that exactly one descriptive directory exists for every stage and adds stages in ascending order. Later stages receive higher path precedence because they may contain corrected versions of shared reconstruction functions.
- Run each stage self-test before a long experiment.
- Use the demonstration scripts for Steps 01–13.
- Follow
RUN_IN_ORDER.mdexactly in Steps 14–16. - Do not edit frozen-stage source files after a SHA-256 protocol has been created.
- Keep generated
.mat, logs, tables, and figures outside version control unless they are intentionally released as archival research outputs.
- Development, historical validation, fresh test, and independent replication sets are explicitly separated.
- Random seeds and scenario catalogs are stored in result files.
- Expensive phases support checkpoint/resume.
- Step 14 and later use SHA-256 fingerprints to detect source or protocol changes.
- Step 16 evaluates every inverse grid against the same native tetrahedral FEM truth and the same measurement bank.
- Function and result-file names retain
ect4d_stepXXprefixes even though directories are descriptive.
Renaming the directories required updating the internal path-discovery helpers. Consequently, frozen .mat protocols created from an earlier directory layout may fail their source-code SHA-256 checks. For a clean public replication, regenerate the relevant freeze phase with this repository revision and retain the generated protocol together with the commit identifier.
The centered multiframe reconstruction in Step 09 follows the formulation introduced in:
M. Soleimani, C. N. Mitchell, R. Banasiak, R. Wajman, and A. Adler, “Four-Dimensional Electrical Capacitance Tomography Imaging Using Experimental Data,” Progress In Electromagnetics Research, vol. 90, pp. 171–186, 2009.
When publishing results from this repository, cite both the research article and the archived repository release/DOI associated with the exact commit used for computation.