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>(); }
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; }