Where Sun always shine...

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

1