UNSCRAM - DECONVOLUTE MULTIPLES

INTRODUCTION

UNSCRAM serves a similar purpose to AFSCALE, except that it processes the wavelength-overlapped spots. For each wavelength overlap, it uses the different film-film ratios between intensity measurements on succesive films at different wavelengths to calculate (`unscramble') the individual single-wavelength components. The program accepts a generate file containing intensities and a set of Victoreen coefficients (eg. as produced by AFSCALE) describing the scale factors as a function of wavelength, between films in a pack. The output of the program is in the same format as that from AFSCALE. The program was written by M.Z. Papiz and I.J. Clifton, Daresbury Laboratory.

List of sections:

Running the Program
Using UNSCRAM
Input and Output Files
Method

RUNNING THE PROGRAM

Use the command 'laue unscram'

The program runs in an interactive manner and prompts the user for input as needed.

USING UNSCRAM

Generally, running UNSCRAM is similar to just using the 'Define' and 'Output} options in AFSCALE - however there is no main menu in UNSCRAM.

INPUT AND OUTPUT FILES

The input files are as follows:

  1. The .ge1/.ge2 pair of files

  2. A victoreen coefficients file
The output file is:
  1. A scaled intensities output file (type = .afout)

    This is a card image file with one record per reflection (scaled but unmerged, and unsorted data) containing the items: h k l lambda theta intensity sig(intensity) x and y in format (3I5,2F10.5,2I10,2F8.3).

METHOD

UNSCRAM solves a wavelength-overlap spot of order 'n' as follows: Assume for simplicity the spot is measured properly on all six films (this is unlikely to happen in practice) and let the wavelengths of the individual components be lambda_1, lambda_2, ... lambda_n. Then from the given Victoreen coefficients, scaling factors s_2,lambda_1, s_3,lambda_1, ... s_6,lambda_1, s_2,lambda_2, ... s_6,lambda_n can be evaluated. (s_i,lambda_j scales the A film down to the i'th film at lambda_j. The problem is to calculate the 'n' components I_lambda_1 ... I_lambda_n (intensities on the A film). On each film, each measured intensity is the sum of its single-wavelength components, i.e.

    I_a = I_lambda_1 + ... + I_lambda_n

I_b = s_2,lambda_1*I_lambda_1 + ... + s_2,lambda_n*I_lambda_n . = . . = . . = . I_f = s_6,lambda_1*I_lambda_1 + ... + s_6,lambda_n*I_lambda_n

This is a set of (six) linear simultaneous equations in the 'n' unknowns I_lambda_i and if n<=6 (Strictly 'n' should be equal to the `rank' of the equations) a least-squares solution can be calculated. In practice, there are only 'm' good measurements, m<=6, and unscrambling is usually only worth while for doublets and perhaps triplets.

See S. Brandt, `Statistical and Computational Methods in Data Analysis', chapter 9, paragraph 2. The program finds the least-squares solution of:

   A.I_lambda + Iobs = 0
by solving the (1/sigma**2 weighted) `normal equations'
     A(T).G_y.A.I_lambda + A(T).G_y.A.Iobs = 0
where A contains (-s_(i,j)) and G_y is a weighting matrix:
   G_y = diag(1/sigma_1**2,...,1/sigma_m**2).
A(T) indicates the transpose of A . The normal equation is solved by matrix inversion as the matrices involved are small.}



John W. Campbell
CCLRC Daresbury Laboratory
Last update 21 Aug 1996