I2Classification

Landsat5_old

Name

Default Value

Description

Type

Mandatory

Name

additional_features

OTB’s bandmath expressions, separated by comma.

str

False

additional_features

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’, ‘B8’, ‘B9’, ‘B10’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B10’, ‘B11’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B10’, ‘EMIS’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section 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

end_date

The last date of interpolated image time series : YYYYMMDD format.

str

False

end_date

keep_bands

[‘B1’, ‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’]

The list of spectral bands used for classification.

list

False

keep_bands

start_date

The first date of interpolated image time series : YYYYMMDD format.

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolations.

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Flag to write 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_interpolation section 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_interpolation section must also be set to False:

sensors_data_interpolation :
{
  'auto_date':False,
}

arg_classification

Name

Default Value

Description

Type

Mandatory

Name

boundary_comparison_mode

False

Enable classification comparison

bool

False

boundary_comparison_mode

boundary_exterior_buffer_size

0

Buffer size outside the region.

int

False

boundary_exterior_buffer_size

boundary_fusion_epsilon

0.0

Threshold to avoid weights equals to zero

float

False

boundary_fusion_epsilon

boundary_interior_buffer_size

0

Buffer size inside the region

int

False

boundary_interior_buffer_size

classif_mode

separate

‘separate’ or ‘fusion’

str

False

classif_mode

dempstershafer_mob

precision

Choose the dempster shafer mass of belief estimation method.

str

False

dempstershafer_mob

enable_boundary_fusion

False

Enable the boundary fusion.

bool

False

enable_boundary_fusion

enable_probability_map

False

Produce the probability map.

bool

False

enable_probability_map

fusion_options

-nodatalabel 0 -method majorityvoting

OTB FusionOfClassification options for voting method involved if classif_mode is set to ‘fusion’.

str

False

fusion_options

fusionofclassification_all_samples_validation

False

Enable the use of all reference data to validate the classification merge.

bool

False

fusionofclassification_all_samples_validation

generate_final_probability_map

False

Enable the mosaicing of probabilities maps.

bool

False

generate_final_probability_map

keep_runs_results

True

If in fusion mode, two final reports can be provided. One for each seed, and one for the classification fusion.

bool

False

keep_runs_results

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_indecidedlabel

255

Indicate the label for indecision case during fusion.

int

False

merge_final_classifications_indecidedlabel

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

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 from the interior buffer. The unit is in meters. 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 threshold should be higher enough to be different to zero, once multiplied by 1000.

boundary_interior_buffer_size

This value can be different from the exterior buffer. The unit is in meters. The value is divided by the resolution to estimate the distance in pixels.

classif_mode

If ‘fusion’ : too huge models will be divided into smaller ones and will classify the same pixels. The threshold between small/big models is defined 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 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 don’t 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

features

[‘NDVI’, ‘NDWI’, ‘Brightness’]

List of additional features computed.

list

False

features

features_from_raw_dates

False

Learn model from raw sensor’s date (no interpolations).

bool

False

features_from_raw_dates

force_standard_labels

False

Standardize labels for feature extraction.

bool

False

force_standard_labels

learning_samples_extension

sqlite

Learning samples file extension, possible values are ‘sqlite’ and ‘csv’.

str

False

learning_samples_extension

mode_outside_regionsplit

0.1

Set the threshold to split huge model.

float

False

mode_outside_regionsplit

otb_classifier_options

None

OTB option for classifier.If None, the OTB default values are used.

dict

False

otb_classifier_options

random_seed

None

Fix the random seed for random split of reference data.

int

False

random_seed

ratio

0.5

Should be between 0.0 and 1.0 and represents the proportion of the dataset to include in the train split.

float

False

ratio

runs

1

Number of independent runs processed.

int

False

runs

sample_augmentation

{‘activate’: False, ‘bins’: 10}

OTB parameters for sample augmentation.

dict

False

sample_augmentation

sample_management

None

Absolute path to a CSV file containing samples transfer strategies.

str

False

sample_management

sample_selection

{‘sampler’: ‘random’, ‘strategy’: ‘all’}

OTB parameters for sampling the validation set.

dict

False

sample_selection

sample_validation

{‘sampler’: ‘random’, ‘strategy’: ‘all’}

OTB parameters for sampling the validation set.

dict

False

sample_validation

sampling_validation

False

Enable sampling validation.

bool

False

sampling_validation

split_ground_truth

True

Enable the split of reference data.

bool

False

split_ground_truth

validity_threshold

1

Threshold above which a training pixel is considered valid.

int

False

validity_threshold

Notes

features

This parameter enables 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 labels each feature by the sensors name, the spectral band or index and the date. If activated this parameter use the OTB default value (value_X).

learning_samples_extension

Default value is ‘sqlite’ (faster). If the number of features is greater than 2000, it should be set to ‘csv’ as sqlite file doesn’t accept more than 2000 columns.

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 dictionary which accepts all OTB application parameters. To know the exhaustive parameters 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 its own learning samples. Must be an integer greater than 0.

sample_augmentation

In supervised classification the balance between class samples is important. There are many ways to manage class balancing in iota2, using sample_selection or the classifier’s options to limit the number of samples by class. An other approach 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:

  • minNumber

    To 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 and byClass strategies are:

  • samples.strategy.minNumber

    Minimum number of samples.

  • samples.strategy.byClass

    Path to a CSV file containing in first column the class’s abel 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 to assign to the classes.

sample_management

The CSV must contain a row per transfer:

>>> 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 uses all polygons for both training and validation.

builders

Name

Default Value

Description

Type

Mandatory

Name

builders_class_name

[‘I2Classification’]

The name of the class defining the builder.

list

False

builders_class_name

builders_paths

/path/to/iota2/sources

The path to user builders.

str

False

builders_paths

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

check_inputs

True

Enable the inputs verification

bool

False

check_inputs

cloud_threshold

0

Threshold to consider that a pixel is valid.

int

False

cloud_threshold

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 written with OTB will be compressed with the chosen algorithm.

str

False

compression_algorithm

compression_predictor

2

Set the predictor for LZW and ZSTD compression: 1 (no predictor), 2 (horizontal differencing, default).

int

False

compression_predictor

data_field

None

Field name indicating classes labels in ground_truth

str

True

data_field

first_step

None

The step group name indicating where the chain starts.

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 tiles 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

output_path

None

Absolute path to the output directory

str

True

output_path

output_statistics

True

output_statistics

bool

False

output_statistics

proj

None

The projection wanted. Format EPSG:XXXX is mandatory.

str

True

proj

region_field

region

The column name for region indicator in`region_path` file.

str

False

region_field

region_path

None

Absolute path to a region vector file.

str

False

region_path

remove_output_path

True

Before the launch of iota2, remove the content of output_path.

bool

False

remove_output_path

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

spatial_resolution

[]

Output spatial resolution.

list or scalar

False

spatial_resolution

user_feat_path

None

Absolute path to the user’s features path.

str

False

user_feat_path

Notes

check_inputs

Enable the inputs verification. It can take a lot of time for large datasets. Check if region intersects reference data for instance.

cloud_threshold

Indicates the threshold for a polygon to be used for learning. It uses 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 from 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 contain a 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

concat_mode

True

Enable the use of all features.

bool

False

concat_mode

exogeneous_data

None

Path to a Geotiff file containing additional data to be used in external features.

str

False

exogeneous_data

external_features_flag

False

Enable the external features mode.

bool

False

external_features_flag

functions

None

Functions list to be used to compute features.

str/list

False

functions

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 names. Can be a list of either strings of function name or lists of one function name and one argument mapping.

iota2_feature_extraction

Name

Default Value

Description

Type

Mandatory

Name

acor_feat

False

Apply atmospherically corrected features

bool

False

acor_feat

copy_input

True

Use spectral bands as features.

bool

False

copy_input

extract_bands

False

bool

False

extract_bands

keep_duplicates

True

Using ‘rel_refl’ can generate duplicated features (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 features as 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

function

None

Predict function name.

str

False

function

mode

None

Algorithm nature (classification or regression).

str

False

mode

model

None

Serialized object containing the model.

str

False

model

module

/path/to/iota2/sources

Absolute path to the python module.

str

False

module

Notes

function

This function must have the imposed signature. It does 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 imports related to the correct model instantiation.

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 constraints.

module

The python module must contain the predict function. It must handle all the potential dependencies and imports related to the correct model instantiation.

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 columns for one chunk.

int

False

chunk_size_x

chunk_size_y

50

Number of rows for one chunk.

int

False

chunk_size_y

data_mode_access

gapfilled

Choose which data can be accessed in custom features.

str

False

data_mode_access

fill_missing_dates

False

Fill raw data with no data if dates are missing.

bool

False

fill_missing_dates

max_nn_inference_size

None

Maximum batch inference size.

int

False

max_nn_inference_size

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.

Note

Data are spatially 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 identifies 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 values: 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

{}

Keyword arguments to be passed to model.

dict

False

keyword_arguments

model_type

None

Machine learning algorithm’s name.

str

False

model_type

standardization

True

bool

False

standardization

Notes

keyword_arguments

Keyword arguments to be passed to model.

model_type

Models coming from scikit-learn are used if scikit_models_parameters.model_type is different from None. More information about how to use scikit-learn is available at iota2 and scikit-learn documentation.

sensors_data_interpolation

Name

Default Value

Description

Type

Mandatory

Name

auto_date

True

Enable the use of start_date and end_date

bool

False

auto_date

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

write_outputs

False

Write temporary files.

bool

False

write_outputs

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

account

None

Feed the sbatch parameter ‘account’.

str

False

account

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

maximum_cpu

4

The maximum number of CPU available.

int

False

maximum_cpu

maximum_ram

16.0

The maximum amount of RAM available (gB).

float

False

maximum_ram

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 reached.

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 reached.

userFeat

Name

Default Value

Description

Type

Mandatory

Name

arbo

/*

Input folder hierarchy.

str

False

arbo

patterns

ALT,ASP,SLP

Key name to detect the input images.

str

False

patterns