The Strange Engine Documentation page
Introduction
Strange Engine is intended to provide a visual enviroenment for the 3D
tomography field.
Projecting and backprojecting
Projecting and backprojecting are the two fundamental operation we must
be able to perform on data.
Projecting is the operation that, given a certain object description,
produces a collection of "projections".
Backprojecting perfoms the opposite: from the collection of projections
it should provide a satisfactory approximation of the original object,
using the original as well as another object description. In the case of
simulations you usually choose the original object description cause you
want to compare it with the "true" one you gave to the projection
operator.
We call projectors and backprojectors the operators that are able to
perform respectively projecting and backprojecting of data.
Ok but what is a projection?
Strange Engine basically deals with X-ray 3D transmission tomography.
Let's take for a moment a look to the real world: you have a sample
you wish to look into; you then expose it to a X-ray field, generated by
a X-ray source, and register the photons that are transmitted through the
sample on a 2D detector. The 2D detector usually (in all other cases you
can reconduce to this case by using some sort of digitizing device) provides
the measured values as pixel images. Strange Engine calls these images
Slides.
Each pixel of a Slide is the measurement of how many photons hit a
given detector area in the measurement time. In this regard a Slide is
a photon "intensity" map. The problem with Slides is that they do
not tell the entire story: if you use a more intense X-ray field you produce
a different Slide, that is a Slide is a function not only of the sample
exposed but also of the X-ray field parameters. To get rid of X-ray field
dependece you have to refer to a reference Slide, which is usually the
Slide generated by exposing the detector without any sample (an open
field Slide) and use the so called Lambert-Beers relation to calculate
an attenuation map:
mu (x,y) = ln [ Slide (x,y) / ref Slide (x,y) ]
mu here is an image whose pixels represent attenuation coefficients.
Strange Engine calls mu images Projections.
The X-ray field and source
What kind of X-ray field and X-ray source are we talking about?
Photons are generated by the X-ray source. Each photon has its own
energy. The distribution of photon energy forms an energy spectrum.
The energy of a photon is quite important cause the interactions photon-matter
are energy dependent. This means that in some extent the Projection of
a sample depends on the energy spectrum of the X-ray field. Another important
parameter of X-ray generation is penumbra: the X-ray source is not a point
source so you should also take in account the geometrical distribution
of photons.
These two effects (energy spectrum influence and penumbra) are in practice
only important for projectors, while backprojectors usually neglect them.
The detector
The detector is a flat 2D rectangle.
Trajectories
Both the source and the detector move as projections of the sample are
collected.
A Source position is defined by a Point.
A Detector position is defined by a Point (the intersection of diagonals)
and two Vectors (the horizontal and vertical axes of the measured image).
A Trajectory is defined by an initial position and by a step
transform. A step transform is represented by a Transform3D object
which is essentially a 4x4 matrix. A Trajectory is then a set of positions
generated by applying the step transform to the initial position.
Stefano Agostinelli - agostinellis@bigfoot.com
This page hosted by
Get your own Free Home Page