IngestImages() public method

public IngestImages ( string LangName, string FontName, string BaseName, string XMLFile, string PathToImages, bool UseSubList ) : void
LangName string
FontName string
BaseName string
XMLFile string
PathToImages string
UseSubList bool
return void
示例#1
0
        private void DoTiffXMLIngestion(ref BackgroundWorker Slave, string LangName, string FontID, string TiffXMLFolder, bool UseSubList)
        {
            double Increment = 1;

            if (FontID != "" && FontID != "" && TiffXMLFolder != "")
            {
                App_Code.Font myFont = new App_Code.Font(FontID, true, true);

                string FullInputDir  = TiffXMLFolder + "\\";
                string FullOutputDir = db.DataDirectory + "\\GlyphExtraction\\Output\\" + myFont.ID;

                string[] InputFiles = System.IO.Directory.GetFiles(FullInputDir, "*.xml", SearchOption.TopDirectoryOnly);

                if (InputFiles.Count() > 0)
                {
                    Increment = 50 / InputFiles.Count();
                }
                int CurrentProgress = 0;

                foreach (string F in InputFiles)
                {
                    if (Slave.CancellationPending)
                    {
                        break;
                    }
                    else
                    {
                        string inputFileName = F.Replace(FullInputDir, "");

                        if (inputFileName.EndsWith(".xml") && File.Exists(F.Replace(".xml", ".tif")))
                        {
                            if (!System.IO.Directory.Exists(FullOutputDir + "\\" + inputFileName.Replace(".xml", "")))
                            {
                                System.IO.Directory.CreateDirectory(FullOutputDir + "\\" + inputFileName.Replace(".xml", ""));
                            }

                            ProcessStatus = "Extracting " + inputFileName + "...";
                            Slave.ReportProgress(((int)(CurrentProgress * Increment)));

                            string inputImageFilePath = FullInputDir + inputFileName.Replace(".xml", ".tif");
                            string inputXmlFilePath   = FullInputDir + inputFileName;
                            string outputFolderPath   = FullOutputDir + "\\" + inputFileName.Replace(".xml", "");

                            PageXml pageXml = PageXmlFactory.GetPageXml(F);

                            string   extractor     = pageXml.ImageExtratorRelPath;
                            string   command       = string.Format(@"{0}\GlyphExtraction\{1}", db.DataDirectory, extractor);
                            FileInfo extractorExec = new FileInfo(command);
                            string   options       = pageXml.CreateImageExtractorCommandLine(inputImageFilePath, inputXmlFilePath, outputFolderPath);

                            ExecuteCommand(command, options, extractorExec.DirectoryName);
                            CurrentProgress++;
                            ProcessStatus = "Processing extracted images...";
                            Slave.ReportProgress(((int)(CurrentProgress * Increment)));

                            myFont.IngestImages(LangName, myFont.Name, inputFileName.Replace(".xml", ""), FullInputDir + "\\" + inputFileName, FullOutputDir + "\\" + inputFileName.Replace(".xml", ""), UseSubList);
                        }
                    }

                    CurrentProgress++;
                    ProcessStatus = "Moving to next TIF/XML pair...";
                    Slave.ReportProgress(((int)(CurrentProgress * Increment)));
                }
            }
        }
示例#2
0
        private void DoTiffXMLIngestion(ref BackgroundWorker Slave, string LangName, string FontID, string TiffXMLFolder, bool UseSubList)
        {
            double Increment = 1;

            if (FontID != "" && FontID != "" && TiffXMLFolder != "")
            {
                App_Code.Font myFont = new App_Code.Font(FontID, true, true);

                string FullInputDir = TiffXMLFolder + "\\";
                string FullOutputDir = db.DataDirectory + "\\GlyphExtraction\\Output\\" + myFont.ID;

                string[] InputFiles = System.IO.Directory.GetFiles(FullInputDir, "*.xml", SearchOption.TopDirectoryOnly);

                if (InputFiles.Count() > 0)
                {
                    Increment = 50 / InputFiles.Count();
                }
                int CurrentProgress = 0;

                foreach (string F in InputFiles)
                {
                    if (Slave.CancellationPending)
                    {
                        break;
                    }
                    else
                    {
                        string inputFileName = F.Replace(FullInputDir, "");

                        if (inputFileName.EndsWith(".xml") && File.Exists(F.Replace(".xml", ".tif")))
                        {
                            if (!System.IO.Directory.Exists(FullOutputDir + "\\" + inputFileName.Replace(".xml", "")))
                            {
                                System.IO.Directory.CreateDirectory(FullOutputDir + "\\" + inputFileName.Replace(".xml", ""));
                            }

                            ProcessStatus = "Extracting " + inputFileName + "...";
                            Slave.ReportProgress(((int)(CurrentProgress * Increment)));

                            string inputImageFilePath = FullInputDir + inputFileName.Replace(".xml", ".tif");
                            string inputXmlFilePath = FullInputDir + inputFileName;
                            string outputFolderPath = FullOutputDir + "\\" + inputFileName.Replace(".xml", "");

                            PageXml pageXml = PageXmlFactory.GetPageXml(F);

                            string extractor = pageXml.ImageExtratorRelPath;
                            string command = string.Format(@"{0}\GlyphExtraction\{1}", db.DataDirectory, extractor);
                            FileInfo extractorExec = new FileInfo(command);
                            string options = pageXml.CreateImageExtractorCommandLine(inputImageFilePath, inputXmlFilePath, outputFolderPath);

                            ExecuteCommand(command, options, extractorExec.DirectoryName);
                            CurrentProgress++;
                            ProcessStatus = "Processing extracted images...";
                            Slave.ReportProgress(((int)(CurrentProgress * Increment)));

                            myFont.IngestImages(LangName, myFont.Name, inputFileName.Replace(".xml", ""), FullInputDir + "\\" + inputFileName, FullOutputDir + "\\" + inputFileName.Replace(".xml", ""), UseSubList);
                        }
                    }

                    CurrentProgress++;
                    ProcessStatus = "Moving to next TIF/XML pair...";
                    Slave.ReportProgress(((int)(CurrentProgress * Increment)));
                }
            }
        }