Closed kohr-h closed 7 years ago
I think this is superseded by the way we think about Kaczmarz now, i.e. as something taking a list of operators rather than a single product space operator. Also the range representation seems to work well. Some specific cases like #152 and #671 still have to be sorted out, but we're getting there.
Closing.
Current situation
The geometries differentiate between abstract "motion parameters" (name could be better, maybe "system parameters") and detector parameters.
Motion parameters are usually one or two rotation angles in simple geometries or a curve parameter describing positions on an acquisition curve, e.g. a helix. Physically they typically describe how the imaging system "moves" over time relative to the static object coordinate system. But they could also mean something completely different, i.e. describe the distribution of transducers in an ultrasound experiment, where no movement of an imaging system is involved. I found it hard to come up with a name short enough and general enough to be adequate.
Anyway, while the first set of parameters describes the imaging system as a whole, the second one describes the detector, and there are mappings from these parameters to the locations of detector points in space, given in the local coordinate system of the detector (i.e. for a fixed reference detector).
This corresponds to the splitting of the parameters into, e.g., angle and detector position. However, mainly for convenience and without particular reasoning, these parameter sets are lumped together, and the ASTRA backed projectors use a discretized function space on that "lump" as their range.
Concrete example:
So the operator range will be a discretization of a function space based on this rectangle.
Alternative
Another viable way would be the following: given a list of angles, make the projector a
ProductSpaceOperator
with one operator part per angle (or group of angles). Something like that will be needed anyway if we want to implement Kaczmarz-type methods with split operators.Follow-up issues
dspace
is not anNtuplesBase
but rather some product space, if possible equipped with a multi-dimensional structure. The corresponding mathematical structure is a Bochner space, which is just a fancy way of expressing different behavior of different variables of a function.