Class CompoundModel

All Implemented Interfaces:
INameable, IScanPathModel, IScanPointGeneratorModel

public class CompoundModel extends AbstractMultiModel<IScanPointGeneratorModel>
This class is designed to encapsulate the information to required to provide all the locations, with regions of an n-Dimensional scan.
 CompoundModel {
     models:  [ list of models]
     regions: [ list of regions]
     mutators: [ list of mutators ]
 }
 Region {
     roi: geometric roi
     scannables: [ list of scannable names]
 }
 
Example:

 CompoundModel {
     models : [
         {type: SpiralModel
          xAxisName: x
          yAxisName: y
          ...
         }
     ]
     regions : [
        {
          roi : {type: CircularROI
           centre: [0,1]
           radius: 2
          }
          scannables: ["x", "y"]
        }
     ]
     mutators : [
        {
           RandomOffsetMutator: {
            seed: 10
            axes: ["x"]
            max_offset: {
              "x":0.1
            }
           }
        }
     ]
 }