Parent Topic: CLWORKS

Signature Separability

The ``Signature Separability Report panel'' contains a scrolled text block with a report of signature separability like that produced by SIGSEP program.

The row of tabs selects the Separability Measure to use in calculations:

Transformed Divergence is a popular empirical measure which is computationally simpler than the Bhattacharrya Distance. However, the Bhattacharrya Distance is more theoretically sound because it is directly related to the upper bound of the probabilities of classification errors.

The row of radio buttons selects the Report Format:

If Matrix is selected, the report prints a lower triangular matrix of separability measures for all signature pairs. If Sorted List is selected, then signature pairs are sorted from minimum to maximum separability. Pressing the column headers on the Sorted List will sort that column in ascending order.

The ``Save Report'' button allows you to append the separability report to any text file.

Both the Transformed Divergence and Bhattacharrya Distance measures are real values between 0 and 2, where `0' indicates complete overlap between the signatures of two classes and `2' indicates a complete separation between the two classes. Both measures are monotonically related to classification accuracies. The larger the separability values are, the better the final classification results will be.

The following rules are suggested for possible ranges of separability values:

   0.0 to 1.0   (very poor separability)
   1.0 to 1.9   (poor separability)
   1.9 to 2.0   (good separability)
Very poor separability (0.0 to 1.0) indicates that the two signatures are statistically very close to each other. The user has two options. The first option is that one signature can be arbitrarily discarded (which is suggested when the separability is closer to 0). The second option is that the two signatures can be merged using the ``Merge'' function in the ``Signature Editing'' panel (which is suggested when the separability is closer to 1).

Poor separability (1.0 to 1.9) indicates that the two signatures are separable to some extent. However, it is desirable to improve separability if possible. Low signature separability is usually caused by improper combinations of image bands and/or training sites which have large internal variability within each class.

The user is encouraged to use this function to examine the quality of training sites and class signatures before performing classification. In order to improve class separabilities, consider the following options:

Reference:

 Richards, J. A., 1986, "Remote Sensing Digital Image Analysis".
 Springer-Verlag, Berlin, Heidelburg, New York, London,
 Paris, Tokyo, pp. 206-225.
Note: The formula to calculate the Bhattacharrya Distance measure given in the above book is incorrect. Check the reference in the book to find the right formula.

See Also: SIGSEP

Transformed Divergence

The Transformed Divergence is given by the following equations:

  TD(i,j) = 2*[1-exp(-D(i,j)/8)]

where 

  TD(i,j) = Transformed Divergence between classes i and j
   D(i,j) = divergence between classes i and j

   D(i,j) = 0.5*T [M(i)-M(j)]*[InvS(i)+InvS(j)]*[M(i)-M(j)]
            + 0.5*Trace[InvS(i)*S(j)  +InvS(j)*S(i)  -2*I ]

where 

  M(i)    = mean vector of class i, where the vector has Nchannel
            elements (Nchannel is the number of channels used)
  S(i)    = covariance matrix for class i, which has Nchannel by
            Nchannel elements
  InvS(i) = inverse of matrix S(i)
  Trace[] = trace of matrix (sum of diagonal elements)
  T[]     = transpose of matrix
  I       = identity matrix

Bhattacharrya Distance

The Bhattacharrya (or Jeffries-Mastusuta) Distance is calculated using the following formula:

  BD(i,j) = 2*[1-exp(-a(i,j))]

where 

  BD(i,j) = Bhattacharrya Distance between class i and j
   a(i,j) = 0.125*T[M(i)-M(j)]*Inv[A(i,j)]*[M(i)-M(j)]
            + 0.5  *ln{det(A(i,j))/SQRT[det(S(i))*det(S(j))]}

where 

  M(i)    = mean vector of class i, where the vector has Nchannel
            elements (Nchannel is the number of channels used)
  S(i)    = covariance matrix for class i, which has Nchannel by
            Nchannel elements
  Inv[]   = inverse of matrix
  T[]     = transpose of matrix
  A(i,j)  = 0.5*[S(i)+S(j)]
  det()   = determinant of a matrix
  ln{}    = natural logarithm of scalar value
  SQRT[]  = square root of scalar value

Parent Topic: CLWORKS
About PCI Help Gateway