I2Classification
Landsat5_old
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
10 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
16 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8_old
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
10 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8_usgs
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’, ‘B8’, ‘B9’, ‘B10’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
16 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8_usgs_infrared
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
enable_sensor_gapfilling |
False |
Enable or disable gapfilling for landsat 8 and 9 IR data |
bool |
False |
enable_sensor_gapfilling |
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B10’, ‘B11’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
16 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8_usgs_optical
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
enable_sensor_gapfilling |
True |
Enable or disable gapfilling for landsat 8 and 9 optical data |
bool |
False |
enable_sensor_gapfilling |
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
16 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Landsat8_usgs_thermal
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
enable_sensor_gapfilling |
False |
Enable or disable gapfilling for landsat 8 and 9 thermal data(temperature and emissivity) |
bool |
False |
enable_sensor_gapfilling |
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B10’, ‘EMIS’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
16 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Sentinel_2
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
10 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Sentinel_2_L3A
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
10 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
Sentinel_2_S2C
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
additional_features |
OTB’s bandmath expressions, separated by comma |
str |
False |
additional_features |
|
The last date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’] |
The list of spectral bands used for classification |
list |
False |
||
The first date of interpolated image time series : YYYYMMDD format |
str |
False |
|||
temporal_resolution |
10 |
The temporal gap between two interpolations |
int |
False |
temporal_resolution |
write_reproject_resampled_input_dates_stack |
True |
flag to write of resampled stack image for each date |
bool |
False |
write_reproject_resampled_input_dates_stack |
Notes
end_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
keep_bands
WARNING
For this parameter to be taken into account,the extract_bands variable in the iota2_feature_extraction section must also be set to True:
iota2_feature_extraction : { 'extract_bands':True, }
start_date
WARNING
For this parameter to be taken into account,the auto_date variable in the sensors_data_interpolationsection must also be set to False:
sensors_data_interpolation : { 'auto_date':False, }
arg_classification
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
False |
Enable classification comparison |
bool |
False |
||
0 |
Buffer size outside the region |
int |
False |
||
0.0 |
Threshold to avoid weights equals to zero |
float |
False |
||
0 |
Buffer size inside the region |
int |
False |
||
separate |
‘separate’ or ‘fusion’ |
str |
False |
||
precision |
Choose the dempster shafer mass of belief estimation method |
str |
False |
||
False |
Enable the boundary fusion |
bool |
False |
||
False |
Produce the probability map |
bool |
False |
||
fusion_options |
-nodatalabel 0 -method majorityvoting |
OTB FusionOfClassification options for voting method involved if classif_mode is set to ‘fusion’ |
str |
False |
fusion_options |
False |
Enable the use of all reference data to validate the classification merge |
bool |
False |
||
False |
Enable the mosaicing of probabilities maps. |
bool |
False |
||
True |
bool |
False |
|||
merge_final_classifications |
False |
Enable the fusion of classifications mode, merging all run in a unique result. |
bool |
False |
merge_final_classifications |
merge_final_classifications_method |
majorityvoting |
Indicate the fusion of classification method: ‘majorityvoting’ or ‘dempstershafer’ |
str |
False |
merge_final_classifications_method |
merge_final_classifications_ratio |
0.1 |
Percentage of samples to use in order to evaluate the fusion raster |
float |
False |
merge_final_classifications_ratio |
merge_final_classifications_undecidedlabel |
255 |
Indicate the label for undecision case during fusion |
int |
False |
merge_final_classifications_undecidedlabel |
no_label_management |
maxConfidence |
Method for choosing a label in case of fusion |
str |
False |
no_label_management |
Notes
boundary_comparison_mode
If enabled it will produce two maps The boundary regions will be analysed to measure the method improvements.
boundary_exterior_buffer_size
This value can be different than the interior buffer. The unit is in meter. The value is divided by the resolution to estimate the distance in pixels.
boundary_fusion_epsilon
If the region shape contains the buffer operations are not bijective. In this condition, several weights can be set to 0. This lead to 0 area in the final map (holes).The weights maps are stored as uint16. The thresold should be higher enough to be different to zero once multiplied by 1000
boundary_interior_buffer_size
This value can be different than the exterior buffer. The unit is in meter. The value is divided by the resolution to estimate the distance in pixels.
classif_mode
If ‘fusion’ : too huge models will be devided into smaller ones and will classify the same pixels. The treshold between small/big models is define by the parameter ‘mode_outside_regionsplit’
dempstershafer_mob
Two kind of indexes can be used: * Global: accuracy or kappa * Per class: precision or recall
enable_boundary_fusion
If enabled probabilities are used to fuse maps between regions
enable_probability_map
A probability map is a image with N bands , where N is the number of classes in the nomenclature file. The bands are sorted in ascending order more information more information here
fusionofclassification_all_samples_validation
If the fusion mode is enabled, enable the use of all reference data samples for validation
generate_final_probability_map
This operation can produce heavy maps.If you not need it over the whole area in one image, disable this option.
keep_runs_results
If in fusion mode, two final reports can be provided. One for each seed, and one for the classification fusion
arg_train
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
classifier |
None |
otb classification algorithm |
str |
False |
classifier |
deep_learning_parameters |
{} |
deep learning parameter description is available here |
dict |
False |
deep_learning_parameters |
[‘NDVI’, ‘NDWI’, ‘Brightness’] |
List of additional features computed |
list |
False |
||
False |
learn model from raw sensor’s date (no interpolations) |
bool |
False |
||
False |
Standardize labels for feature extraction |
bool |
False |
||
sqlite |
learning samples file extension, possible values are ‘sqlite’ and ‘csv’ |
str |
False |
||
0.1 |
Set the threshold for split huge model |
float |
False |
||
None |
OTB option for classifier.If None, the OTB default values are used |
dict |
False |
||
None |
Fix the random seed for random split of reference data |
int |
False |
||
ratio |
0.5 |
Should be between 0.0 and 1.0 and represent the proportion of the dataset to include in the train split. |
float |
False |
ratio |
1 |
Number of independent runs processed |
int |
False |
||
{‘activate’: False, ‘bins’: 10} |
OTB parameters for sample augmentation |
dict |
False |
||
None |
Absolute path to a CSV file containing samples transfert strategies |
str |
False |
||
{‘sampler’: ‘random’, ‘strategy’: ‘all’} |
OTB parameters for sampling the validation set |
dict |
False |
||
{‘sampler’: ‘random’, ‘strategy’: ‘all’} |
OTB parameters for sampling the validation set |
dict |
False |
||
sampling_validation |
False |
Enable sampling validation |
bool |
False |
sampling_validation |
True |
Enable the split of reference data |
bool |
False |
||
validity_threshold |
1 |
threshold above which a training pixel is considered valid |
int |
False |
validity_threshold |
Notes
features
This parameter enable the computation of the three indices if available for the sensor used.There is no choice for using only one of them
features_from_raw_dates
If True, during the learning and classification step, each pixel will receive a vector of values of the size of the number of all dates detected. As the pixels were not all acquired on the same dates, the vector will contains NaNs on the unacquired dates.
force_standard_labels
The chain label each features by the sensors name, the spectral band or indice and the date. If activated this parameter use the OTB default value (value_X)
learning_samples_extension
Default value is ‘sqlite’ (faster), in case of the number of features is superior to 2000, as sqlite file doesn’t accept more than 2000 columns, it should be turn to ‘csv’.
mode_outside_regionsplit
This parameter is available if regionPath is used and arg_train.classif_mode is set to fusion. It represents the maximum size covered by a region. If the regions are larger than this threshold, then N models are built by randomly selecting features inside the region.
otb_classifier_options
This parameter is a dictionnary which accepts all OTB application parameters. To know the exhaustive parameter list use otbcli_TrainVectorClassifier in a terminal or look at the OTB documentation
random_seed
Fix the random seed used for random split of reference data If set, the results must be the same for a given classifier
runs
Number of independent runs processed. Each run has his own learning samples. Must be an integer greater than 0
sample_augmentation
In supervised classification the balance between class samples is important. There are any ways to manage class balancing in iota2, using refSampleSelection or the classifier’s options to limit the number of samples by class. An other approch is to generate synthetic samples. It is the purpose of this functionality, which is called ‘sample augmentation’.
{'activate':False}
Example
sample_augmentation : {'target_models':['1', '2'], 'strategy' : 'jitter', 'strategy.jitter.stdfactor' : 10, 'strategy.smote.neighbors' : 5, 'samples.strategy' : 'balance', 'activate' : True }
iota2 implements an interface to the OTB SampleAugmentation application. There are three methods to generate samples : replicate, jitter and smote.The documentation here explains the difference between these approaches.
samples.strategy
specifies how many samples must be created.There are 3 different strategies: - minNumberTo set the minimum number of samples by class required
- balance
balance all classes with the same number of samples as the majority one
- byClass
augment only some of the classes
- Parameters related to
minNumber
andbyClass
strategies are - samples.strategy.minNumber
minimum number of samples
- samples.strategy.byClass
path to a CSV file containing in first column the class’s label and in the second column the minimum number of samples required.
In the above example, classes of models ‘1’ and ‘2’ will be augmented to the most represented class in the corresponding model using the jitter method.
To perform sample augmentation for regression problems, we return to a configuration similar to classification.
For that purpose we create fake classes using the bins
parameter. The bins
parameter can be an integer in which case the interval of values of the target output variable is divided into bins
sub-intervals of equal width, and each sample gets a fake a class corresponding to the number of the interval in which its label fell.
bins
can also be a list of ascending values used as interval boundaries for assign the classes.
sample_management
- The CSV must contain a row per transfert
>>> cat /absolute/path/myRules.csv 1,2,4,2
- Meaning :
source
destination
class name
quantity
1
2
4
2
Currently, setting the ‘random_seed’ parameter has no effect on this workflow.
sample_selection
This field parameters the strategy of polygon sampling. It directly refers to options of OTB’s SampleSelection application.
Example
sample_selection : {'sampler':'random', 'strategy':'percent', 'strategy.percent.p':0.2, 'per_models':[{'target_model':'4', 'sampler':'periodic'}] }
In the example above, all polygons will be sampled with the 20% ratio. But the polygons which belong to the model 4 will be periodically sampled, instead of the ransom sampling used for other polygons.
Notice than per_models
key contains a list of strategies. Then we can imagine the following :
sample_selection : {'sampler':'random', 'strategy':'percent', 'strategy.percent.p':0.2, 'per_models':[{'target_model':'4', 'sampler':'periodic'}, {'target_model':'1', 'sampler':'random', 'strategy', 'byclass', 'strategy.byclass.in', '/path/to/myCSV.csv' }] }where the first column of /path/to/myCSV.csv is class label (integer), second one is the required samples number (integer).
sample_validation
This field parameters the strategy of polygon sampling. It directly refers to options of OTB’s SampleSelection application.
Example
sample_selection : {'sampler':'random', 'strategy':'percent', 'strategy.percent.p':0.2, 'per_models':[{'target_model':'4', 'sampler':'periodic'}] }
In the example above, all polygons will be sampled with the 20% ratio. But the polygons which belong to the model 4 will be periodically sampled, instead of the ransom sampling used for other polygons.
Notice than per_models
key contains a list of strategies. Then we can imagine the following :
sample_selection : {'sampler':'random', 'strategy':'percent', 'strategy.percent.p':0.2, 'per_models':[{'target_model':'4', 'sampler':'periodic'}, {'target_model':'1', 'sampler':'random', 'strategy', 'byclass', 'strategy.byclass.in', '/path/to/myCSV.csv' }] }where the first column of /path/to/myCSV.csv is class label (integer), second one is the required samples number (integer).
split_ground_truth
If set to False, the chain use all polygons for both training and validation
builders
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
[‘I2Classification’] |
The name of the class defining the builder |
list |
False |
||
/path/to/iota2/sources |
The path to user builders |
str |
False |
Notes
builders_class_name
Available builders are : ‘I2Classification’, ‘I2FeaturesMap’ and ‘I2Obia’
builders_paths
If not indicated, the iota2 source directory is used: */iota2/sequence_builders/
chain
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
True |
Enable the inputs verification |
bool |
False |
||
0 |
Threshold to consider that a pixel is valid |
int |
False |
||
color_table |
None |
Absolute path to the file that links the classes and their colours |
str |
True |
color_table |
compression_algorithm |
ZSTD |
Set the gdal compression algorithm to use: NONE, LZW, ZSTD (default).All rasters write with OTB will be compress with the chosen algorithm. |
str |
False |
compression_algorithm |
2 |
Set the predictor for LZW and ZSTD compression: 1 (no predictor), 2 (horizontal differencing, default) |
int |
False |
||
None |
Field name indicating classes labels in ground_thruth |
str |
True |
||
first_step |
None |
The step group name indicating where the chain start |
str |
False |
first_step |
ground_truth |
None |
Absolute path to reference data |
str |
True |
ground_truth |
l5_path_old |
None |
Absolute path to Landsat-5 images coming from old THEIA format (D*H*) |
str |
False |
l5_path_old |
l8_path |
None |
Absolute path to Landsat-8 images comingfrom new tiled THEIA data |
str |
False |
l8_path |
l8_path_old |
None |
Absolute path to Landsat-8 images coming from old THEIA format (D*H*) |
str |
False |
l8_path_old |
l8_usgs_infrared_path |
None |
Absolute path to Landsat-8 images coming from USGS data |
str |
False |
l8_usgs_infrared_path |
l8_usgs_optical_path |
None |
Absolute path to Landsat-8 images coming from USGS data |
str |
False |
l8_usgs_optical_path |
l8_usgs_path |
None |
Absolute path to Landsat-8 images coming from USGS data |
str |
False |
l8_usgs_path |
l8_usgs_thermal_path |
None |
Absolute path to Landsat-8 images coming from USGS data |
str |
False |
l8_usgs_thermal_path |
last_step |
None |
The step group name indicating where the chain ends |
str |
False |
last_step |
list_tile |
None |
List of tile to process, separated by space |
str |
True |
list_tile |
logger_level |
INFO |
Set the logger level: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL |
str |
False |
logger_level |
minimum_required_dates |
2 |
required minimum number of available dates for each sensor |
int |
False |
minimum_required_dates |
nomenclature_path |
None |
Absolute path to the nomenclature description file |
str |
True |
nomenclature_path |
None |
Absolute path to the output directory |
str |
True |
||
output_statistics |
True |
output_statistics |
bool |
False |
output_statistics |
proj |
None |
The projection wanted. Format EPSG:XXXX is mandatory |
str |
True |
proj |
region |
The column name for region indicator in`region_path` file |
str |
False |
||
region_path |
None |
Absolute path to a region vector file |
str |
False |
region_path |
True |
Before the launch of iota2, remove the content of output_path |
bool |
False |
||
s1_path |
None |
Absolute path to Sentinel-1 configuration file |
str |
False |
s1_path |
s2_l3a_output_path |
None |
Absolute path to store preprocessed data in a dedicated directory |
str |
False |
s2_l3a_output_path |
s2_l3a_path |
None |
Absolute path to Sentinel-2 L3A images (THEIA format) |
str |
False |
s2_l3a_path |
s2_output_path |
None |
Absolute path to store preprocessed data in a dedicated directory |
str |
False |
s2_output_path |
s2_path |
None |
Absolute path to Sentinel-2 images (THEIA format) |
str |
False |
s2_path |
s2_s2c_output_path |
None |
Absolute path to store preprocessed data in a dedicated directory |
str |
False |
s2_s2c_output_path |
s2_s2c_path |
None |
Absolute path to Sentinel-2 images (Sen2Cor format) |
str |
False |
s2_s2c_path |
[] |
Output spatial resolution |
list or scalar |
False |
||
None |
Absolute path to the user’s features path |
str |
False |
Notes
check_inputs
Enable the inputs verification. It can take a lot of time for large dataset. Check if region intersect reference data for instance
cloud_threshold
Indicates the threshold for a polygon to be used for learning. It use the validity count, which is incremented if a cloud, a cloud shadow or a saturated pixel is detected
compression_predictor
It has been noted that in some cases, once the features are written to disk, the raster file may be empty. If this is the case, please change the predictor to 1 or 3.
data_field
All the labels values must be different to 0. It is recommended to use a continuous range of values but it is not mandatory. Keep in mind that the final product type is detected according to the maximum label value. Try to keep values between 1 and 255 to avoid heavy products.
output_path
Absolute path to the output directory.It is recommended to have one directory per run of the chain
region_field
This column in the database must contains string which can be converted into integers. For instance ‘1_2’ does not match this condition. It is mandatory that the region identifiers are > 0.
remove_output_path
Before the launch of iota2, remove the content of output_path. Only if the first_step is init and the folder name is valid
spatial_resolution
The spatial resolution expected.It can be provided as integer or float,or as a list containing two values for non squared resolution
user_feat_path
Absolute path to the user’s features path. They must be stored by tiles
external_features
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
True |
enable the use of all features |
bool |
False |
||
None |
Path to a Geotiff file containing additional data to be used in external features |
str |
False |
||
external_features_flag |
False |
enable the external features mode |
bool |
False |
external_features_flag |
None |
function list to be used to compute features |
str/list |
False |
||
module |
/path/to/iota2/sources |
absolute path for user source code |
str |
False |
module |
no_data_value |
-10000 |
value considered as no_data in features map mosaic (‘I2FeaturesMap’ builder name) |
int |
False |
no_data_value |
output_name |
None |
temporary chunks are written using this name as prefix |
str |
False |
output_name |
Notes
concat_mode
if disabled, only external features are used in the whole processing
exogeneous_data
If the =exogeneous_data= contains ‘$TILE’, it will be replaced by the tile name being processed.If you want to reproject your data on given tiles, you can use the =split_raster_into_tiles.py= command line tool.
Usage: =split_raster_into_tiles.py –help=.
functions
Can be a string of space-separated function namesCan be a list of either strings of function nameor lists of one function name and one argument mapping
iota2_feature_extraction
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
False |
Apply atmospherically corrected features |
bool |
False |
||
copy_input |
True |
use spectral bands as features |
bool |
False |
copy_input |
extract_bands |
False |
bool |
False |
extract_bands |
|
keep_duplicates |
True |
use ‘rel_refl’ can generate duplicated feature (ie: NDVI), set to False remove these duplicated features |
bool |
False |
keep_duplicates |
rel_refl |
False |
compute relative reflectances by the red band |
bool |
False |
rel_refl |
Notes
acor_feat
Apply atmospherically corrected featuresas explained at : http://www.cesbio.ups-tlse.fr/multitemp/?p=12746
pretrained_model
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
boundary_buffer |
None |
List of boundary buffer size |
list |
False |
boundary_buffer |
None |
Predict function name |
str |
False |
||
None |
Algorythm nature (classification or regression) |
str |
False |
||
None |
Serialized object containing the model |
str |
False |
||
/path/to/iota2/sources |
Absolute path to the python module |
str |
False |
Notes
function
This function must have the imposed signature. It not accept any others parameters. All model dedicated parameters must be stored alongside the model.
mode
The python module must contains the predict function It must handle all the potential dependencies and import related to the correct model instanciation
model
In the configuration file, the mandatory keys $REGION and $SEED must be present as they are replaced by iota2. In case of only one region, the region value is set to 1. Look at the documentation about the model constraint.
module
The python module must contains the predict function It must handle all the potential dependencies and import related to the correct model instanciation
python_data_managing
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
chunk_size_mode |
split_number |
The chunk split mode, currently the choice is ‘split_number’ |
str |
False |
chunk_size_mode |
chunk_size_x |
50 |
number of cols for one chunk |
int |
False |
chunk_size_x |
chunk_size_y |
50 |
number of rows for one chunk |
int |
False |
chunk_size_y |
gapfilled |
choose which data can be accessed in custom features |
str |
False |
||
False |
fill raw data with no data if dates are missing |
bool |
False |
||
None |
maximum batch inference size |
int |
False |
||
number_of_chunks |
50 |
the expected number of chunks |
int |
False |
number_of_chunks |
padding_size_x |
0 |
The padding for chunk |
int |
False |
padding_size_x |
padding_size_y |
0 |
The padding for chunk |
int |
False |
padding_size_y |
Notes
data_mode_access
Three values are allowed:
gapfilled: give access only the gapfilled data
raw: gives access only the original raw data
both: provides access to both data
..Notes:: Data are spatialy resampled, these parameters concern only temporal interpolation
fill_missing_dates
If raw data access is enabled, this option considers all unique dates for all tiles and identify which dates are missing for each tile. A missing date is filled using a no data constant value.Cloud or saturation are not corrected, but masks are provided Masks contain three value: 0 for valid data, 1 for cloudy or saturated pixels, 2 for a missing date
max_nn_inference_size
Involved if a neural network inference is performed. If not set (None), the inference size will be the same as the one used during the learning stage
scikit_models_parameters
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
cross_validation_folds |
5 |
the number of k-folds |
int |
False |
cross_validation_folds |
cross_validation_grouped |
False |
bool |
False |
cross_validation_grouped |
|
cross_validation_parameters |
{} |
dict |
False |
cross_validation_parameters |
|
{} |
keyword arguments to be passed to model |
dict |
False |
||
None |
machine learning algorthm’s name |
str |
False |
||
standardization |
True |
bool |
False |
standardization |
Notes
keyword_arguments
keyword arguments to be passed to model
model_type
Models comming from scikit-learn are use if scikit_models_parameters.model_type is different from None. More informations about how to use scikit-learn is available at iota2 and scikit-learn machine learning algorithms.
sensors_data_interpolation
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
True |
Enable the use of start_date and end_date |
bool |
False |
||
use_additional_features |
False |
enable the use of additional features |
bool |
False |
use_additional_features |
use_gapfilling |
True |
enable the use of gapfilling (clouds/temporal interpolation) |
bool |
False |
use_gapfilling |
False |
write temporary files |
bool |
False |
Notes
auto_date
If True, iota2 will automatically guess the first and the last interpolation date. Else, start_date and end_date of each sensors will be used
write_outputs
Write the time series before and after gapfilling, the mask time series, and also the feature time series. This option required a large amount of free disk space.
slurm
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
None |
Feed the sbatch parameter ‘account’ |
str |
False |
Notes
account
The section ‘slurm’ is only available once the Slurm orchestrator is involved in jobs submission.
task_retry_limits
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
allowed_retry |
0 |
allow dask to retry a failed job N times |
int |
False |
allowed_retry |
4 |
the maximum number of CPU available |
int |
False |
||
16.0 |
the maximum amount of RAM available. (gB) |
float |
False |
Notes
maximum_cpu
the amount of cpu will be doubled if the task is killed due to ram overconsumption until maximum_cpu or allowed_retry are reach
maximum_ram
the amount of RAM will be doubled if the task is killed due to ram overconsumption until maximum_ram or allowed_retry are reach
userFeat
Name |
Default Value |
Description |
Type |
Mandatory |
Name |
---|---|---|---|---|---|
arbo |
/* |
input folder hierarchy |
str |
False |
arbo |
patterns |
ALT,ASP,SLP |
key name for detect the input images |
str |
False |
patterns |