How mgenet/dolfin_warp works
dolfin_warp is a FEniCS- and VTK-based finite-element image-registration and motion-tracking library. Its principal workflow takes an image series and mesh, configures a warping problem with image and mechanical regularization energies, solves for deformation across frames, and supports derived displacement/strain analysis and visualization. Separate utilities generate synthetic images and compute image or mesh outputs. The README documents broader capabilities than the sampled source; links below reflect explicit wiring where available, and unsampled subsystem connections are kept conservative.
Main entry points: warp.py Warp driver · Problem_Warping.py Warping problem · NonlinearSolver.py Nonlinear solvers · EnergyMixin_Image.py Image energies
Components 24
Warp workflow
- Warp driver
dolfin_warp/warp.py - Nonlinear solvers
dolfin_warp/NonlinearSolver.py - Newton solver
dolfin_warp/NonlinearSolver_Newton.py - SciPy solver
dolfin_warp/NonlinearSolver_Scipy.py
Problem and energies
- Warping problem
dolfin_warp/Problem_Warping.py - Full kinematics
dolfin_warp/Problem_FullKinematicsWarping.py - Reduced kinematics
dolfin_warp/Problem_ReducedKinematicsWarping.py - Energy base
dolfin_warp/Energy.py - Continuous energies
dolfin_warp/EnergyMixin_Continuous.py - Discrete energies
dolfin_warp/EnergyMixin_Discrete.py - Image energies
dolfin_warp/EnergyMixin_Image.py
Images and meshes
- Image series
dolfin_warp/FileSeries_Images.py - Mesh series
dolfin_warp/FileSeries_Meshes.py - Frame iterator
dolfin_warp/ImageIterator.py - Image expressions
dolfin_warp/expressions_images_cpp.py - Generated expressions
dolfin_warp/expressions_generated_images_cont_cpp.py
Generation and analysis
- Image generator
dolfin_warp/generate_images.py - Image models
dolfin_warp/generate_images_Image.py - Warped outputs
dolfin_warp/compute_warped_images.py - Warped mesh
dolfin_warp/compute_warped_mesh.py - Strain computation
dolfin_warp/compute_strains.py - Strain plots
dolfin_warp/plot_strains.py
Other components
- Researcher
- FEniCS and VTK
Connections 29
- Researcher → Warp driver: configures
- Warp driver → Warping problem: creates
- Warp driver → Image series: loads frames
- Warp driver → Mesh series: loads meshes
- Warp driver → Full kinematics: selects
- Warp driver → Reduced kinematics: selects
- Warp driver → Image energies: adds image term
- Warp driver → Continuous energies: adds regularization
- Warp driver → Discrete energies: adds regularization
- Warping problem → Energy base: evaluates
- Warping problem → Nonlinear solvers: solved by
- Nonlinear solvers → Newton solver: dispatches
- Nonlinear solvers → SciPy solver: dispatches
- Image series → Frame iterator: iterates frames
- Image series → Image expressions: supplies images
- Image energies → Image expressions: samples images
- Image energies → Generated expressions: samples generated images
- Image expressions → FEniCS and VTK: uses
- Generated expressions → FEniCS and VTK: uses
- Warping problem → FEniCS and VTK: uses finite elements
- Researcher → Image generator: specifies synthetic data
- Image generator → Image models: constructs image model
- Researcher → Warped outputs: requests derived outputs
- Researcher → Warped mesh: requests derived outputs
- Researcher → Strain computation: requests analysis
- Mesh series → Strain computation: provides mesh frames
- Strain computation → Strain plots: feeds plots
- Warping problem → Warped outputs: provides deformation
- Warping problem → Warped mesh: provides deformation