i2_obia

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 end date of interpolated image time series

str

False

end_date

keep_bands

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

The list of spectral bands used for classification

list

False

keep_bands

start_date

The first date of interpolated image time series

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolation

int

False

temporal_resolution

Landsat8

Name

Default Value

Description

Type

Mandatory

Name

additional_features

OTB’s bandmath expressions, separated by comma

str

False

additional_features

end_date

The end date of interpolated image time series

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

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolation

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Enable the write of resampled stack image for each date

bool

False

write_reproject_resampled_input_dates_stack

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 end date of interpolated image time series

str

False

end_date

keep_bands

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

The list of spectral bands used for classification

list

False

keep_bands

start_date

The first date of interpolated image time series

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolation

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Enable the write of resampled stack image for each date

bool

False

write_reproject_resampled_input_dates_stack

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 end date of interpolated image time series

str

False

end_date

keep_bands

[‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’, ‘B8’, ‘B8A’, ‘B11’, ‘B12’]

The list of spectral bands used for classification

list

False

keep_bands

temporal_resolution

10

The temporal gap between two interpolation

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Enable the write of resampled stack image for each date

bool

False

write_reproject_resampled_input_dates_stack

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 end date of interpolated image time series

str

False

end_date

keep_bands

[‘B2’, ‘B3’, ‘B4’, ‘B5’, ‘B6’, ‘B7’, ‘B8’, ‘B8A’, ‘B11’, ‘B12’]

The list of spectral bands used for classification

list

False

keep_bands

start_date

The first date of interpolated image time series

str

False

start_date

temporal_resolution

16

The temporal gap between two interpolation

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Enable the write of resampled stack image for each date

bool

False

write_reproject_resampled_input_dates_stack

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 end date of interpolated image time series

str

False

end_date

keep_bands

[‘B02’, ‘B03’, ‘B04’, ‘B05’, ‘B06’, ‘B07’, ‘B08’, ‘B8A’, ‘B11’, ‘B12’]

The list of spectral bands used for classification

list

False

keep_bands

start_date

The first date of interpolated image time series

str

False

start_date

temporal_resolution

10

The temporal gap between two interpolation

int

False

temporal_resolution

write_reproject_resampled_input_dates_stack

True

Enable the write of resampled stack image for each date

bool

False

write_reproject_resampled_input_dates_stack

arg_train

Name

Default Value

Description

Type

Mandatory

Name

classifier

None

Choose the classification algorithm

str

False

classifier

dempster_shafer_sar_opt_fusion

False

Enable the use of both SAR and optical data to train a model.

bool

False

dempster_shafer_sar_opt_fusion

mode_outside_regionsplit

0.1

Fix the threshold for 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 represent the proportion of the dataset to include in the train split.

float

False

ratio

runs

1

Number of independant runs processed.

int

False

runs

sample_augmentation

{‘activate’: False}

OTB parameters for sample augmentation

dict

False

sample_augmentation

sample_management

None

Absolute path to a CSV file containing samples transfert strategies

str

False

sample_management

sample_selection

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

OTB parameters for sample selection

dict

False

sample_selection

split_ground_truth

True

Enable the split of reference data

bool

False

split_ground_truth

validity_threshold

1

int

False

validity_threshold

Notes

dempster_shafer_sar_opt_fusion

Enable the use of both SAR and optical data to train a model. If True then two models are trained.more documentation is avalailalbe here

mode_outside_regionsplit

This parameter is available if regionPath is used and arg_classification.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 independant 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 sample_selection 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 thisfunctionality, 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 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 thethe most represented class in the corresponding model using the jitter method.

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

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

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

builders_class_name

[‘i2_classification’]

The name of the class defining the builder

list

False

builders_class_name

builders_paths

/path/to/iota2/sources

The path to user builders

list

False

builders_paths

Notes

builders_class_name

Available builders are : ‘i2_classification’, ‘i2_features_map’, ‘i2_obia’ and ‘i2_vectorization’

builders_paths

If not indicated, the iota2 source directory is used: */iota2/sequence_builders/

chain

Name

Default Value

Description

Type

Mandatory

Name

cloud_threshold

0

Threshold to consider that a pixel is valid

int

False

cloud_threshold

data_field

None

Field name indicating classes labels in ground_thruth

str

True

data_field

first_step

None

The step group name indicating where the chain start

str

True

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

last_step

None

The step group name indicating where the chain ends

str

True

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

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

proj

EPSG:2154

The projection wanted. Format EPSG:XXXX is mandatory

str

False

proj

region_field

region

The column name for region indicator in`region_path` file

str

False

region_field

region_path

None

Absolute path to region vector file

str

False

region_path

remove_output_path

True

Enable the removing of complete output_path directory

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

10

Output spatial resolution

list

False

spatial_resolution

user_feat_path

None

Absolute path to the user’s features path

str

False

user_feat_path

Notes

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

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

remove_output_path

Enable the removing of complete output_path directory 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

obia

Name

Default Value

Description

Type

Mandatory

Name

buffer_size

None

Define the working size batch in number of pixels

int

True

buffer_size

full_learn_segment

False

Enable the use of entire segment for learning

bool

False

full_learn_segment

obia_segmentation_path

None

Filename for input segmentation

str

False

obia_segmentation_path

region_priority

None

Define a order for region intersection

list

False

region_priority

stats_used

[‘mean’]

List of stats used for train and classification

list

False

stats_used

Notes

buffer_size

This parameter is used to avoid memory issue.In case of a large temporal series,i.e one year of Sentinel2 images a recommended size is 2000.For lower number of date, the buffer size can be increased.If buffer_size is larger than the image size, the whole image will be processed in one time.

full_learn_segment

If True: keep each segment which intersect the learning samples. If False, the segments are clipped with learning polygon shape

obia_segmentation_path

If parameter is None then a segmentation for each tile is processed using SLIC algorithm

region_priority

If a list is provided, the list order is used instead of the numeric order.This option can be used in case of very unbalanced region size.

stats_used

This list accepts only five values: mean, count, min, max, std The choice of statistics used should be considered in relation to the number of dates used.Because of the constraints on vector formats, one must think about the number of features this creates: nb_stats_choosen * nb_bands * nb_dates. Too many spectral bands can cause an error in the execution of the string.

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

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.

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

The maximum amount of RAM available. (gB)

int

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

/*

The input folder hierarchy

str

False

arbo

patterns

ALT,ASP,SLP

key name for detect the input images

str

False

patterns