Cannot open file (/var/www/vhosts/aprendtech.com/httpdocs/wordpress/wp-content/backup/.htaccess)Cannot write to file (/var/www/vhosts/aprendtech.com/httpdocs/wordpress/wp-content/backup/.htaccess) AprendBlog


May 07 2014

The singular value decomposition

Tag: Math,softwareadmin @ 1:59 pm
Not only is the singular value decomposition (SVD) fundamental to matrix theory but it is also widely used in data analysis. I have used it several times in my posts. For example, here and here, I used the singular values to quantify the intrinsic dimensionality of attenuation coefficients. In this post, I applied the SVD to give the optimal basis functions to approximate the attenuation coefficient and compared them to the material attenuation coefficient basis set[1]. All of these posts were based on the SVD approximation theorem, which allows us to find the nearest matrix of a given rank to our original matrix. This is an extremely powerful result because it allows us to reduce the dimensionality of a problem while still retaining most of the information.
In this post, I will discuss the SVD approximation theorem from an intuitive basis. The math here will be even less rigorous than my usual low standard since my purpose is to get an understanding of how the theorem works and what are its limitations. If you want a mathematical proof, you can find it in many places like Theorems 5.8 and 5.9 of the book Numerical Linear Algebra[2] by Trefethen and Bau. These proofs do not provide much insight into the approximation so I will provide two ways of looking at the theorem: a geometric interpretation and an algebraic interpretation.

more → Continue reading “The singular value decomposition”


Dec 26 2013

Parameters for the estimator

You may ask, what is the fundamental advantage of the new estimator? Yes, it is faster than the iterative method but so what? With Moore’s law, we can just throw silicon at the problem by doing the processing in parallel. I have two responses. The first is that not only is the iterative estimator slow but it also takes a random time to complete the calculation. This is a substantial problem since CT scanners are real-time systems. The calculations have to be done in a fixed time or the data are lost. The gantry cannot be stopped to wait for a long iteration to complete!
The second problem is that, as it has been implemented in the research literature, the iterative estimator requires measurement of the x-ray tube spectrum and the detector energy response to compute the likelihood for a given measurement. These are difficult measurements that cannot be done at most medical institutions. Because of drift of the system components, the measurements have to be done periodically to assure accurate results. There may be a way to implement an iterative estimator with simpler measurements but I am not aware of it.
In this post, I will show how the parameters required for the new estimator can be determined from measurements on a phantom placed in the system. This could be done easily by personnel at medical institutions and is similar to quality assurance measurements now done routinely on other medical systems.

more → Continue reading “Parameters for the estimator”


Oct 30 2013

Rationale for the new estimator

Tag: Implementation,Noise,Physicsadmin @ 10:20 am
The past two posts have discussed estimators for A-vector data. I showed that with the same number of measurement spectra as the A-vector dimension, any estimator that solves the deterministic equations is the maximum likelihood estimator (MLE) and it will achieve the Cramèr-Rao lower bound (CRLB). If there are more measurement spectra than the dimension, then the polynomial estimator, which works well for the equal case, has very poor performance giving a variance that can be several hundred times larger than the CRLB. I showed by simulations that with more measurements than dimension the iterative MLE does give a variance close to the CRLB but it has substantial problems. Common to all iterative algorithms, the computation time is long and random. It may fail to converge at all if the initial estimate is too far from the actual value. As it was implemented by Schlomka et al.[2], it also requires measurements of the x-ray source spectrum and the detector spectral response. These are difficult, time consuming and require laboratory equipment that is not usually available in medical institutions.
In this post, I will give an intuitive explanation for the operation of a new estimator that I introduced in my paper[1] “Estimator for photon counting energy selective x-ray imaging with multi-bin pulse height analysis,” which is available for free download here. The estimator is efficient and can be implemented with data that can be measured at medical institutions. The details of the estimator are described in the paper. Here, I will discuss the background and give a rationale on how it works.

more → Continue reading “Rationale for the new estimator”


Oct 18 2013

Why is polynomial estimator variance so large?

Tag: Math,Noiseadmin @ 9:11 am
Anyone with experience in energy selective imaging is struck by the terrible performance of polynomial estimators discussed in my last post. This is most likely due to the fact that in the past the number of spectra was almost always equal to the dimension of the A-vector. In this case, as I showed in the last post, any estimator that solves the deterministic, noise free equations is the maximum likelihood estimator (MLE). With equal number of spectra and dimension, the polynomial estimator is accurate for low-noise data so it provides an ’efficient’ estimator. That is its covariance is equal to the Cramèr-Rao lower bound (CRLB). In this post, I examine the reason for the poor performance with more measurements than the A-vector dimension.

more →


Oct 01 2013

Estimators for Energy-selective imaging—Part 1

Tag: Implementation,Math,Noise,Physicsadmin @ 5:46 pm

In a previous post I described the application of statistical estimator theory to energy selective x-ray imaging. I introduced a linearized model for the signal and noise and in a subsequent post I described a linear maximum likelihood estimator (MLE) that achieved the Cramèr-Rao lower bound (CRLB). In many applications, such as CT, the linear model is not sufficiently accurate. In this post, I will start the discussion of my paper[3] “Estimator for photon counting energy selective x-ray imaging with multi-bin pulse height analysis.” The paper describes an estimator that is accurate for a wide dynamic range that also achieves the CRLB and has other desirable properties such as fast and predictable computation time and being implementable in a clinical institution as opposed to a physics lab. This post frames the discussion by describing general aspects of computing the A-vector from energy selective measurements and several estimators that are widely used and their properties.

more →


Jun 02 2013

Scientific blogging with LyX and eLyXer

Tag: Implementation,softwareadmin @ 10:21 am
In this post, I will describe the methods that I use to create the posts on this blog. My approach is to automate the process as much as is comfortable. This reduces the repetitive work required to put a post online, reduces errors and produces a standard package of files with standard format. The standard format makes it easier for readers to follow the post and allows me to re-use the posts; for example, to create an ebook compendium of the posts. My blog discusses technical topics with a lot of mathematics so the methods that I describe will be geared to my interests but I think the general approaches of automating and creating re-useable content are useful for other subjects. The shell scripts and other code I have written were “hacked” together to do a job and designed only for my use so they lack many niceties. I will present them here as an example you can use to create code for your blog.

more →


Apr 12 2013

Image SNR with energy-selective detectors

Tag: Noise,Physics,softwareadmin @ 3:28 pm

This is the last post in my series discussing my paper, “Near optimal energy selective x-ray imaging system performance with simple detectors”. In the last post I showed plots of the signal to noise ratio (SNR) of images with different types of energy-selective detectors. In this post, I show images illustrating these differences. These images were not included in the paper but they are based on its approach. The images are calculated from a random sample of the energy spectrum at each point in a projection image. These data are then used to make images with (a) the total energy, which are comparable to the detectors now used in commercial systems, (b) the total number of photons, (c) an N2Q detector, and (d) an optimal full spectrum by weighting the spectrum data before summing, as described in Tapiovaara and Wagner (TW). I use the theory developed in my paper, to make images from A-space data using data from the N2Q detector. In order to do this, I need an estimator that achieves the Cramèr-Rao lower bound (CRLB). For this I use the A-table estimator I introduced in my paper “Estimator for photon counting energy selective x-ray imaging with multibin pulse height analysis” available for download here.

more →


Apr 01 2013

Optimal SNR versus tube voltage

Tag: NearOptimalPaper,Physics,softwareadmin @ 12:29 pm

In this post, I continue the discussion of my paper, “Near optimal energy selective x-ray imaging system performance with simple detectors.” I summarized many of the theoretical formulas in my last post. Here, I will discuss the formulas for the SNR with x-ray tube spectra with different voltages and different object thicknesses. I will present code to reproduce Figs. 7-9 of the paper. The results show that the energy-selective detectors have SNR that is approximately 4 times larger than the SNR with energy-integrating detectors, the detectors used in almost all conventional medical x-ray systems.

more →


Mar 14 2013

Optional arguments for Matlab functions

Tag: softwareadmin @ 9:53 am

The standard way to handle optional arguments in a Matlab function is to put them at the end of the call list and only include them if you want to change them. This has a lot of problems. First, what do you do if you want to change an argument that is somewhere in the middle of the list but leave the rest unchanged? Some would suggest just putting commas for the unchanged arguments but as far as I know the behavior is undefined. Does this substitute an empty variable ‘[]‘ for the other arguments? Also, this makes it hard to read the code. You have to count up the number of commas to figure out which argument is being changed.

more →


Mar 12 2013

Summary ebook available

I have prepared an ebook that compiles and organizes the posts in this blog to today’s date. You can access it by sending me email:
Energy-selective x-ray imaging and other topics.

I plan to update the book regularly and I will post an entry to the blog when an updated version is available.


« Previous PageNext Page »