]>
| Syntax: | [sa, da, pa] = fitSD(SD, Medium, MeasList, data[, Phi0]); | |
|---|---|---|
| [sa, da, pa] = fitSDAmp(SD, Medium, MeasList, data[, Phi0]); | ||
| [sa, da, pa] = fitSDPhs(SD, Medium, MeasList, data[, Phi0]); | ||
| Inputs: | SD | |
| Medium | ||
| MeasList | ||
| data | Experimental data to be fit against | |
| Phi0 | Theory results (optional). If missing, the theory result will be
re-calculated from |
|
| Outputs: | sa | Source amplitude coefficients (can use as new
|
| da | Detector amplitude coefficients (can use as new
|
|
| pa | Scaling factors to rescale previous Phi0 to data amplitudes | |
For every source-detector pair, the value calculated by the toolbox for the measured fluence is
where
is the source amplitude
In the Rytov approximation, the source and detector amplitudes that minimize the difference between the data and the theory reduce to a system of linear equations (in the Born approximation, the equations are non-linear). The matrix that represents this system of equations is rank-deficient, but can be made well-posed by arbitrarily assigning one of the amplitudes (either a source or a detector) to have a value of . Phase terms are handled the same way (the real part of the logarithm give the amplitude fits, the imaginary part is the phase fits).
For more information see: