private void AddPdfModel( string path, ClassifiedPdfModel newModel ) { doneClassifications[ path ] = newModel; }
void DoWorkClassifyAll( object sender, DoWorkEventArgs e ) { BackgroundWorker worker = sender as BackgroundWorker; string directory = e.Argument as string; var dirInfo = new DirectoryInfo( directory ); FileInfo[] infos = dirInfo.GetFiles( "*.pdf" ); var numPDFs = infos.Length; int progress = 0; foreach ( var fileInfo in infos ) { string fullPath = classifiedDocuments.MakePath( directory, fileInfo.Name ); string extension = System.IO.Path.GetExtension( fullPath ); if ( extension == ".pdf" ) { org.pdfclown.files.File file = new org.pdfclown.files.File( fullPath ); document = file.Document; if ( document == null ) continue; try { string abstractFileName = fullPath.Replace(".pdf", ".abstract"); string abstractFileContent = System.IO.File.ReadAllText(abstractFileName); abstractContent = abstractFileContent; } catch (Exception exception) { abstractContent = null; Utility.Log("file " + fullPath + " loaded without an abstract..."); } Utility.Log("Classifing " + fullPath); var classificationResult = classifier.Classify( document, abstractContent ); if (classificationResult.DocumentClassificationRestult != null) { ClassifiedPdfModel newModel = new ClassifiedPdfModel(); foreach ( var documentClassResult in classificationResult.DocumentClassificationRestult ) { ClassifiedItem newItem = new ClassifiedItem(); newItem.Category = documentClassResult.First as string; newItem.Compatibility = documentClassResult.Second.ToString(); // abstract classification result if (classificationResult.AbstractClassificationRestult != null) { Double abstractCompatibilty; if (classificationResult.AbstractClassificationRestult.TryGetValue(documentClassResult.First, out abstractCompatibilty)) { newItem.CompatibilityAbstract = abstractCompatibilty.ToString(); } } newModel.AddClassificationData( newItem ); } classifiedDocuments.AddPdfModel( directory, fileInfo.Name, newModel ); } worker.ReportProgress( (int)( 100 * progress++ / (double)numPDFs ) ); } } }
public void AddPdfModel( string directory, string fileName, ClassifiedPdfModel newModel ) { doneClassifications [ MakePath( directory, fileName ) ] = newModel; }
public void onClassificationFinish(object classificationRes, string name) { Classifier.ClassificationResult classificationResult = classificationRes as Classifier.ClassificationResult; SetViewEnabled(true); //LabelWait.Content = ""; if (classificationResult.DocumentClassificationRestult != null) { LabelClassifiedAs.Content = "classified as:"; ClassifiedPdfModel newModel = new ClassifiedPdfModel(); foreach (var documentClassResult in classificationResult.DocumentClassificationRestult) { ClassifiedItem newItem = new ClassifiedItem(); newItem.Category = documentClassResult.First as string; newItem.Compatibility = documentClassResult.Second.ToString(); // abstract classification result if (classificationResult.AbstractClassificationRestult != null) { Double abstractCompatibilty; if (classificationResult.AbstractClassificationRestult.TryGetValue(documentClassResult.First, out abstractCompatibilty)) { newItem.CompatibilityAbstract = abstractCompatibilty.ToString(); } } newModel.AddClassificationData( newItem ); //ListBoxClassificationResult.Items.Add(i + ". " + classResult.First + "\t\t\t\t" + classResult.Second); } classifiedDocuments.AddPdfModel( pdfsDirectoryTextBox.Text, name, newModel ); ListBoxClassificationResult.DataContext = newModel; } else { LabelClassifiedAs.Content = "classification failed"; } }