Skip to content

Integration of the multiImageFileWriter in the application engine

Cédric Traizet requested to merge app_multi_writer_take3 into develop


Integration of the MultiImageFileWriter into the application engine.

Some applications have more than one output and therefore would benefit from synchronized writing :

  • ImageClassifier : 3 dependents outputs : 1 mandatory output and two optional outputs
  • SOMClassification : 2 independent outputs. (training step with optional som output, classification step with mandatory output)
  • DimensionalityReduction : 2 optional dependent outputs
  • MorphologicalMultiScaleDecompostion : 3 mandatory dependent outputs
  • ComputeModulusAndPhase : 2 output sharing the same reader (reader -> modulusFilter -> out1 and reader -> phaseFilter -> out2)
  • HooverCompareSegmentation : 2 dependent optional outputs
  • MeanShiftSmoothing : 2 dependents outputs (1 mandatory 1 optional)
  • BlockMatching : 2 dependents outputs (1 mandatory 1 optional)
  • FineRegistration : 2 dependents outputs (1 mandatory 1 optional). The pipeline is split in two atm.
  • StereoGridRectificationGridGenerator : 4 output (2 optional) but not streamable ?

With this merge request a multiImageFileWriter is created and configured in the WriteOutput method of the Application class.

MultiWriting should be enabled in applications by using SetMultiWriting(true) in the DoInit() of the application. It can be disabled for specific output by using the multiwrite extended filename parameter.

The OutputImageParameter class has been modified so it can register its associated writer to a multiImageFileWriter during the writer creation.

The MR also includes several bugfixes on the multiImageFileWriter


The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.

Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports