The Black-Box Toolbox provides functions for computations involving large linear systems. The system is used as a black-box, which means that it is accessed only via matrix-vector products.

In large-scale computations the operator is usually structured in a way that can be exploited in computations involving these operators. The demos below shows how BBTools can be used to manipulate and solve such problems of this kind.

All the demos are playscripts, i.e. if you install BBTools you may run the examples from Matlab and compare the results with you own configuration.

Deblurring an images is a classical problem in ill-posed problems. The following three demos shows an example where BBTools can cope with a reasonably large image. To show off, we use a circular image, and the blurring kernel is non-seperable. This is usually difficult to handle for other software packages.

- Step 1 Set up an operator to describe the problem
- Step 2 Solve a problem without noise
- Step 3 Solve a problem with noise, using regularization

Tomography is the science that allows e.g. medical scanners at hospitals to look inside people for diagnosis. A CT scanner, for instance, produces images much like x-ray. However, instead of a flat image, it produces a number of slices and allowes the doctor to see an a virtual arbitrary cut of the scanned area.

This toolbox was largely developed to address another kind of scanners: PET and SPECT. These scanners are able to track a molecule which have been made radioactive, and are used to find cancer (tracing sugar-molecules known as FDG) and receptor-systems in the brain.

The following demos demonstrate the technique using two widely used algorithms.

- Filtered Back-Projection This illustrates the Filtered Back-Projection (FBP) algorithm. This is a linear, widely used, classical algorithm.
- EM Reconstruction The EM-Algorithm includes a noise-model, and is also widely used. However, it is non-linear which can be a disadvantage. This demo illustrates the way it works, and its advantages and disadvantages.
- Simple reconstruction using BBTools BBTools can compute regularized solutions to noisy linear systems. This demo shows how this core functionality can be utilized in the reconstruction. The result is, by design, intended to be similar to Filtered Back-Projection.
- Advanced reconstruction using BBTools This demo builds in the previous demo, and shows how more advanced methods can be used to increase the resolution of the reconstructed image. To give useful results, it is necessary to suppress noise in another way (i.e. without reducing the resolution). This can be accomplished by filtering out noise using regularization, or by restricting the reconstruction using knowledge about anatomical structures.

These provides a short introduction to the SVD capabilities of BBTools. They are not flashy, but demonstrate how to use BBTools and how to make a trade-off between memory and computation. Although these are toy problems, the techniques demonstrated in the demo may be useful if you encounter a large-scale problem.

- Example 1 This example creates an operator with known singular values. It then computes the SVD while timing it and determining its amount of memory. It compares the result with with a second computation which is restricted to a lower amount of memory.
- Example 2
This extends the first example, by reducing the memory usage
by accepting a lower accuracy. It compares several trade-offs
between resource usage and accuracy.

It demonstrates that the loss of accuracy is limited to orthogonality of singular vectors, not singular values or the error in low-rank approximations.