pygmi.rsense.change#

Calculate change detection indices.

Classes#

CalculateChange

GUI to calculate change indices.

Functions#

calc_change(flist[, ilist, showlog, piter])

Calculate Change Indices.

calc_mean(flist[, showlog, piter])

Load data and calculate iterative Mean.

calc_sam(flist[, showlog, piter])

Load data and calculate spectral angle between two times.

coefv(mean, std)

Calculate coefficient of variation.

imean(mean, newdat[, cnt, M])

Calculate mean and variance parameters.

match_data(flist[, showlog, piter])

Match two datasets.

sam(s1, s2)

Calculate Spectral Angle Mapper (SAM).

scm(s1, s2)

SCM or MSAM.

stddev(M, cnt)

Calculate std deviation.

Module Contents#

class pygmi.rsense.change.CalculateChange(parent=None)#

Bases: pygmi.misc.BasicModule

GUI to calculate change indices.

Parameters:

parent – Reference to the parent routine. The default is None.

setupui()#

Set up UI.

settings(nodialog=False)#

Entry point into item.

Parameters:

nodialog (bool) – Run settings without a dialog. The default is False.

Returns:

True if successful, False otherwise.

Return type:

bool

saveproj()#

Save project data from class.

acceptall()#

Accept option.

Updates self.outdata, which is used as input to other modules.

Returns:

True if successful, False otherwise.

Return type:

bool

invert_selection()#

Invert the selected indices.

pygmi.rsense.change.calc_change(flist, ilist=None, showlog=print, piter=iter)#

Calculate Change Indices.

Parameters:
  • flist (list[pygmi.raster.datatypes.RasterMeta]) – List of batch file list data.

  • ilist (list[str] | None) – List of strings describing index to calculate.

  • showlog (collections.abc.Callable[..., None]) – Display information. The default is print.

  • piter (collections.abc.Iterable) – Progress bar iterator. The default is iter.

Returns:

List of PyGMI Data.

Return type:

list of Data

pygmi.rsense.change.calc_mean(flist, showlog=print, piter=iter)#

Load data and calculate iterative Mean.

Parameters:
  • flist (list[pygmi.raster.datatypes.RasterMeta]) – List of batch file data.

  • showlog (collections.abc.Callable[..., None]) – Display information. The default is print.

  • piter (collections.abc.Iterable) – Progress bar iterator. The default is iter.

Returns:

  • meandat (dictionary of pygmi.raster.datatypes.Data.) – PyGMI Data representing means.

  • cnt (dictionary of ndarrays) – Count of values which made up mean.

  • M (dictionary of ndarrays) – Variance parameter, where Variance = M/cnt.

Return type:

tuple[dict[str, pygmi.raster.datatypes.Data], dict[str, numpy.typing.NDArray], dict[str, numpy.typing.NDArray]]

pygmi.rsense.change.calc_sam(flist, showlog=print, piter=iter)#

Load data and calculate spectral angle between two times.

Parameters:
  • flist (list[pygmi.raster.datatypes.RasterMeta]) – List of batch file list data.

  • showlog (collections.abc.Callable[..., None]) – Display information. The default is print.

  • piter (collections.abc.Iterable) – Progress bar iterator. The default is iter.

Returns:

PyGMI Data of SAM angles.

Return type:

pygmi.raster.datatypes.Data

pygmi.rsense.change.coefv(mean, std)#

Calculate coefficient of variation.

Parameters:
  • mean (numpy.typing.NDArray) – numpy array of mean values.

  • std (numpy.typing.NDArray) – numpy array of standard deviation values.

Returns:

Array of coefficient of variation values.

Return type:

ndarray

pygmi.rsense.change.imean(mean, newdat, cnt=None, M=None)#

Calculate mean and variance parameters.

Parameters:
  • mean (numpy.typing.NDArray) – existing mean values.

  • newdat (numpy.typing.NDArray) – new data to be added to mean..

  • cnt (numpy.typing.NDArray | None) – cnt of values which made up mean. The default is None.

  • M (numpy.typing.NDArray | None) – Variance parameter, where Variance = M/cnt. The default is None.

Returns:

  • mean (ndarray) – Updated mean of data.

  • cnt (ndarray) – Updated cnt of values which made up mean.

  • M (ndarray) – Updated variance parameter, where Variance = M/cnt.

Return type:

tuple[numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray]

pygmi.rsense.change.match_data(flist, showlog=print, piter=iter)#

Match two datasets.

This routine also puts the datasets in order of date.

Parameters:
Returns:

  • dat1 (list of Data) – First dataset with matched bands only.

  • dat2 (list of Data) – Second dataset with matched bands only.

Return type:

tuple[list[pygmi.raster.datatypes.Data] | None, list[pygmi.raster.datatypes.Data] | None]

pygmi.rsense.change.sam(s1, s2)#

Calculate Spectral Angle Mapper (SAM).

Parameters:
  • s1 (numpy.typing.NDArray) – Spectrum 1.

  • s2 (numpy.typing.NDArray) – Spectrum 2.

Returns:

Output angle.

Return type:

float

pygmi.rsense.change.scm(s1, s2)#

SCM or MSAM.

Parameters:
  • s1 (numpy.typing.NDArray) – Spectrum 1.

  • s2 (numpy.typing.NDArray) – Spectrum 2.

Returns:

Output angle.

Return type:

float

pygmi.rsense.change.stddev(M, cnt)#

Calculate std deviation.

Parameters:
  • M (numpy.typing.NDArray) – Variance parameter, where Variance = M/cnt.

  • cnt (numpy.typing.NDArray) – cnt of values which made up mean.

Returns:

Calculated standard deviation.

Return type:

ndarray