private void PerformDoD(Epoch DoDEpoch, ThresholdProps tProps)
        {
            DEMSurvey NewDEM  = DoDEpoch.NewDEM;
            DEMSurvey OldDEM  = DoDEpoch.OldDEM;
            string    aoiName = AOIMask is Project.Masks.AOIMask ? AOIMask.Name : string.Empty;

            string dodName = frmDoDProperties.GetUniqueAnalysisName(NewDEM.Name, OldDEM.Name, tProps.ThresholdString, aoiName);

            System.IO.DirectoryInfo dFolder = ProjectManager.Project.GetDoDFolder();

            ChangeDetectionEngineBase cdEngine = null;

            switch (tProps.Method)
            {
            case ThresholdProps.ThresholdMethods.MinLoD:
                cdEngine = new ChangeDetectionEngineMinLoD(NewDEM, OldDEM, AOIMask, tProps.Threshold, true);
                break;

            case ThresholdProps.ThresholdMethods.Propagated:
                cdEngine = new ChangeDetectionEnginePropProb(NewDEM, OldDEM, DoDEpoch.NewDEMErrorSurface, DoDEpoch.OldDEMErrorSurface, AOIMask, true);
                break;

            case ThresholdProps.ThresholdMethods.Probabilistic:
                cdEngine = new ChangeDetectionEngineProbabilistic(NewDEM, OldDEM, AOIMask, DoDEpoch.NewDEMErrorSurface, DoDEpoch.OldDEMErrorSurface, tProps.Threshold, tProps.SpatialCoherenceProps, true);
                break;
            }

            DoDBase dod = cdEngine.Calculate(dodName, dFolder, true, ProjectManager.Project.Units);

            ProjectManager.Project.DoDs.Add(dod);
        }
        public ChangeDetectionMultiEpoch(List <Epoch> lEpochs, Project.Masks.AOIMask aoi, ThresholdProps tProps)
        {
            Epochs     = lEpochs;
            Thresholds = tProps;
            AOIMask    = aoi;

            DoDEngines = new Dictionary <ThresholdProps.ThresholdMethods, ChangeDetectionEngineBase>();
        }
示例#3
0
 public BatchProps(Surface newSurface, ErrorSurface newError, Surface oldSurface, ErrorSurface oldError, GCDCore.Project.Masks.AOIMask aoiMask, ThresholdProps tProps)
 {
     NewSurface     = newSurface;
     NewError       = newError;
     OldSurface     = oldSurface;
     OldError       = oldError;
     AOIMask        = aoiMask;
     ThresholdProps = tProps;
 }