aeva desired capacity and features per proposal
This issue is created as a broad overview of capacity (and related features) for aeva as described in the grant proposal. The intention is to keep an eye on the alignment of proposed vs implemented features.
Overall goal of aeva
- a unified, use-case agnostic platform to act as an all inclusive solution for generation, modification, annotation, and exchange of anatomy
Data types (modalities) for anatomical representation:
- image
- CAD (parametric, e.g. nurbs)
- mesh (volume, surface, wire, point)
- an internal data structure to accommodate all these heterogeneous representations
Anticipated user operations
- load medical images, meshes, CAD
- segment organs/tissues
- create surface representations
- generate volumetric meshes
- spatially arrange organs/tissues
- automatically identify connections/interactions
- export anatomical objects in common formats
- store and access labels for points, elements, and groups
- annotate anatomical objects, regions
- transfer existing annotation from one representation to another
- convert between file formats
- customize software operations with scripting
Interfaces/extension
- unified GUI
- high level API (Python)
- low level API (C++)
- plug-in architecture (mesh, image, CAD, annotation, exchange)
- multi-platform (Windows, Mac OS, Linux)
Annotation types
- Object i has the property/state. (global/object properties)
- Object i has the location-dependent properties/states. (local/pointwise properties)
- Object i has the volume region m and surface region n. (regions)
- Object i connects to object j at region m. Object j connects to object i at region n. (spatial relations)
- Object i interacts with object j at region m. Object j interacts with object i at region n. (spatial interactions)
- Object i contains object j. Object j is contained by object i. (spatial relations)
- hierarchical
- supporting existing ontologies (Foundational Model of Anatomy)
- supporting common data elements
- supporting metadata of any type, e.g., text, numeric, scalar or vector field, pointer to other anatomical objects
Annotation operations
- templated/automated (relying on taxonomy of anatomical relationships)
- interactive
- linking different anatomical representations
- region selection by normals
- region selection by distance (proximity)
- interactive region selection by brush
- interactive region selection by polygon
- transfer of annotation between data types (modalities) (image to mesh, mesh to image)
- image based assignment of local properties on mesh
- transfer of information (regions, annotations) between meshes
- automated identification of mesh regions based on connectivity/interactions
- fiducials
- coordinate systems
Image formats
- DICOM
- NIfTI
- NRRD
Image operations
- segmentation (interactive or automated)
- spatial registration
- common image operations (analysis, filtering, boolean, etc.)
- image labeling
- surface meshes from image labels
CAD formats
- STP
- IGS
CAD operations
- boolean
- geometry repair
- interactive drawing
- spatial assembly
Mesh formats
- MED
- VTK, VTP, VTU
- STL
- FieldML (.xml)
- FEBio (.feb)
- Abaqus (.inp)
- PLY
- AMF, 3MF (additive manufacturing)
Mesh operations
- mesh generation - from surface to volume mesh
- boolean operations on meshes
- surface/volume remeshing
- mesh modification, e.g. morphing/sculpting
- spatial registration of meshes (interactive or automated)
- image label from an existing mesh
- NURBS patches from an existing mesh
Use cases
- musculoskeletal
- cardiovascular
- neurological