Sigmoid
sigmoid_transform(raster, bands=None, bounds=[(0, 1)], slope=[1], center=True, nodata=None)
Transform data into a sigmoid-shape based on a specified new range.
Uses the provided new minimum and maximum, shift and slope parameters to transform the data. Takes one nodata value that will be ignored in calculations.
If no band/column selection specified, all bands/columns will be used. If a parameter contains only 1 entry, it will be applied for all bands. The bounds and slope values can be set for each band individually.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
raster |
DatasetReader
|
Data object to be transformed. |
required |
bands |
Optional[Sequence[int]]
|
Selection of bands to be transformed. |
None
|
bounds |
Sequence[Tuple[Number, Number]]
|
Boundaries for the calculation of the sigmoid function (lower, upper). |
[(0, 1)]
|
slope |
Sequence[Number]
|
Value which modifies the slope of the resulting sigmoid-curve. |
[1]
|
center |
bool
|
Center array values around mean = 0 before sigmoid transformation. |
True
|
nodata |
Optional[Number]
|
Nodata value to be considered. |
None
|
Returns:
Name | Type | Description |
---|---|---|
out_array |
ndarray
|
The transformed data. |
out_meta |
dict
|
Updated metadata. |
out_settings |
dict
|
Log of input settings and calculated statistics if available. |
Raises:
Type | Description |
---|---|
InvalidRasterBandException
|
The input contains invalid band numbers. |
NonMatchingParameterLengthsException
|
The input does not match the number of selected bands. |
InvalidParameterValueException
|
The input does not match the requirements (values, order of values) |
Source code in eis_toolkit/transformations/sigmoid.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
|