예제 #1
0
        public static PatchHierarchyInfo FromXmlFile(PatchHierarchyXML ph)
        {
            var patchHierarchyInfo = new PatchHierarchyInfo();

            patchHierarchyInfo.AvgGeometrySizes = ph.AverageGeometrySizes;

            patchHierarchyInfo.AcquisitionDate = ph.AcquisitionDate;
            patchHierarchyInfo.TagList         = ph.TagList;
            patchHierarchyInfo.RootPatch       = ph.RootPatchName;

            patchHierarchyInfo.AvgPixelSizes = (new ImagePyramidXML(ph.OpcPaths)).AveragePixelSizes;

            patchHierarchyInfo.PatchTree = ph.PatchTree;

            return(patchHierarchyInfo);
        }
예제 #2
0
        /// <summary>
        /// Loads PatchHierarchyInfo from cache file or xml, if cache doesn't exist.
        /// </summary>
        public static PatchHierarchyInfo BuildOrLoadCache(OpcPaths paths)
        {
            PatchHierarchyInfo patchHierarchyInfo = null;

            if (StorageConfig.FileExists(paths.CachedPatchHierarchyPath))
            {
                patchHierarchyInfo = FromCacheFile(paths.CachedPatchHierarchyPath);
            }

            if (patchHierarchyInfo == null)
            {
                Report.BeginTimed("PatchHierarchyInfo: Loading XML for " + paths.ShortName);
                patchHierarchyInfo = FromXmlFile(paths);
                Report.End();
            }

            if (patchHierarchyInfo == null)
            {
                Report.Error("PatchHierarchyInfo: Loading cache and XML failed for OPC " + paths.ShortName);
                return(null);
            }

            return(patchHierarchyInfo);
        }