]> PMI: The Measurement List

The Measurement List

The measurement list, SD.MeasList, is an N meas × N field (currently N field = 9 ) table of indices into the other fields in the SD structure. Because the optical properties in the Medium structure are in the same order as the wavelengths in SD.Lambda, SD.MeasList(:,4) also serves as an indirect index into the fields of the Medium structure. If the corresponding field in the SD structure is either an empty list or not defined at all (e.g., because it is not appropriate for the imager in question), a value of 0 should be used in the measurement list to indicate that this parameter is not used. All other columns must contain valid Matlab array indices.

The nine rows of SD.MeasList are indicies into the following vector or matrix fields in the SD structure:

  1. SD.SrcPos
  2. SD.DetPos
  3. SD.ModFreq
  4. SD.Lambda
  5. Emission Wavelength (not implemented)
  6. SD.TimeDelay
  7. SD.TimeGateWidth
  8. Correlation Time (not implemented)
  9. SD.DataFormat (not implemented).
For matrix fields, the index is into the leading dimension. For example, if SD.MeasList(5,2) is 3, then the position of the detector (SD.MeasList(:,2)) used to make measurement 5 is stored in SD.DetPos(3,:). Note that the number of fields in the measurement list is not fixed; additional fields will be added in the future as the need arises. The order of the existing fields, however, is guaranteed not to change.

Because SD.Lambda is used in fluorescence imaging to hold both the excitation and emission wavelengths, both SD.MeasList(:,4) and SD.MeasList(:,5) are indices SD.Lambda and the two columns of the measurement list indicate their function (in the context of the forward problem) as well as the wavelength.

Similarly, SD.TimeDelay is used to hold both the delay time between when the light enters the tissue and when the measurement is made (SD.MeasList(:,6)) and the correlation between two events separated in time (SD.MeasList(:,7)).

Normally, the measurement list is generated automatically, either by readPMIData() (which initializes the measurement list as it loads in experimental data) or by genMeasList() (which generates measurement lists for simulations).