odlgroup / odl

Operator Discretization Library https://odlgroup.github.io/odl/
Mozilla Public License 2.0
370 stars 105 forks source link

Geometries without grid #285

Open kohr-h opened 8 years ago

kohr-h commented 8 years ago

In certain applications, for example in single particle analysis, the geometry is well-known but does not fit into any of the currently supported categories. For example, in SPA, one has a 3d parallel beam geometry, but the angles are randomly distributed on the sphere S^2. We need some way of representing this, and the current approach, which always requires a tensor grid, is very limiting (apart from the fact that we only have single-axis 3d parallel beam).

One possible way of solving this would be through partitions, with a new type like ImplicitPartition which is based on an IntervalProd as base set, but in contrast to RectPartition on an arbitrary collection of points. How to meaningfully integrate or interpolate over such a set is a completely different and mathematically interesting question.

adler-j commented 8 years ago

The most simple approach would be to take the step we talked about before and make geometries modular, i.e. having a ContinuousConeBeamGeometry and then adding it to the current ones as a member (instead of having all functions in one class). This wouldn't change the current interfaces but would allow the creation of continuous geometries.