Restructured components section

This commit is contained in:
Simon
2024-01-08 19:07:33 +01:00
parent 6c95ba39a0
commit 013e11ac29
4 changed files with 44 additions and 13 deletions
+2
View File
@@ -48,3 +48,5 @@ EvaluationProcessor
ReportGenerator
ReportGenerator-Frameworks
ReportGenerators
Lookup
EntityFramework-Bibliothek
+34 -5
View File
@@ -13,13 +13,13 @@ Die textuellen Inhalte aller ausgewählten Bilder wurden anschließend manuell e
% TODO Screenshot und resultierende textdaten.
\subsection{Programmkomponenten}
\subsection{Verwendete Bibliotheken}
\label{components}
\subsubsection{Bibliotheken}
\label{components_libraries}
\subsubsection{Fremdbibliotheken}
\label{components_external}
In der prototypischen Implementierung, geschrieben in der Programmiersprache \csharp, wurden in Referenz an die in \autoref{technologien} vorgestellten Technologien und Werkzeuge folgende NuGet-Bibliotheken verwendet:
In der prototypischen Implementierung, geschrieben in der Programmiersprache \csharp, wurden in Referenz an die in \autoref{technologien} vorgestellten Technologien und Werkzeuge folgende NuGet-Bibliotheken als Basis für die Implementierung verwendet:
\begin{itemize}
\item \textbf{Magick.NET}\\Version: 13.1.0\\Lizenz: Apache-2.0\\\url{https://www.nuget.org/packages/Magick.NET.Core}
@@ -156,6 +156,36 @@ Wurde der übergebene Screenshot vom Texterkennungssystem verarbeitet, müssen n
\label{program:program_postprocessor_definition}
\captionof{program}{Auszug aus Datei "EvaluationProcessor.cs": Definition der Postprocessing-Kette}
\subsubsection{Lookup}
Die "Lookup" Bibliothek abstrahiert das Speichern von Schlüssel-Wert-Paaren. Dabei kann flexibel zwischen verschiedenen Speicherimplementierungen gewechselt werden. So ist es beispielsweise möglich, die Werte in einer Listenstruktur im Arbeitsspeicher, in einer Datei oder -- mittels der EntityFramework-Bibliothek, welche von der .NET Foundation entwickelt wird -- in einer Datenbank persistent abzulegen.
Unabhängig von der Ablagestruktur im Hintergrund können Lookups mittels einer gemeinsamen Schnittstelle manipuliert werden:
\begin{CsCode}[numbers=none]
public interface ILookup<TKey, TValue>
: ILookup,
IDictionary<TKey, ICollection<TValue>>,
IDisposable
{
ICollection<TValue> Add(TKey key);
public void Add(TKey key, TValue value);
public void AddRange(TKey key, IEnumerable<TValue> values);
public bool Remove(TKey key, TValue value);
public ICollection<TValue> GetOrAdd(TKey key);
}
\end{CsCode}
\label{program:program_lookup_interface}
\captionof{program}{Auszug aus Datei "ILookup.cs": Definition der gemeinsamen Schnittstelle für Lookups}
\subsubsection{OCR}
Die "OCR" Bibliothek enthält elementare Komponenten für die Texterkennung mittels der oben genannten Komponenten. Sie enthält Funktionen zur Bearbeitung von Bildern mittels Magick.NET inklusive anschließender Verarbeitung mittels Tesseract. Kernkomponenten wie das Texterkennungssystem werden automatisch auf Basis der Eingabeparameter konfiguriert und die Verwendung der Ergebnisdaten in externen Programmteilen wird durch die Zurverfügungstellung von Datenmodellen für die Ergebnisdaten vereinfacht. Außerdem enthält die Bibliothek eine Reihe von vordefinierten Verarbeitungsketten \bzw Prozessoren für die Bild- und Textverarbeitung.
\subsubsection{Automatische Berichterstellung}
\label{components_reportgenerator}
@@ -180,7 +210,6 @@ public interface IDocumentGenerator : IStreamWriter
\label{program:program_reportgenerator_interface}
\captionof{program}{Auszug aus Datei "IDocumentGenerator.cs": Hauptschnittstelle für den ReportGenerator}
\subsection{Programmablauf}
Die prototypische Implementierung besteht neben den oben genannten Komponenten aus einem ausführbaren Kommandozeilenprogramm zur Texterkennung und einem Programm zum Vergleich der Ergebnisse mit den manuell verschlagworteten Soll-Daten.
+8 -8
View File
@@ -11,7 +11,7 @@
- ~~Grundlagen~~
- ~~Stand der Technik~~
- ~~Verwendete Technologien~~
- Konzept
- ~~Konzept~~
- ~~Annahmen~~
- ~~Eigenschaften Screenshots~~
- ~~Erwartungen an Ergebnisdaten~~
@@ -23,14 +23,14 @@
- ~~Preprocessing~~
- ~~Postprocessing~~
- Durchführung
- Implementierung
- Programmkomponenten
- ~~Implementierung~~
- ~~Programmkomponenten~~
- ~~Bibliotheken~~
- ~~Processing-Framework~~
- ~~Pipeline-Aufbau (Src-Code Exzerpt!)~~
- Programmablauf
- Bulk-Scan
- Vergleich mit Soll-Daten
- Report-Erstellung
- ~~Pipeline-Aufbau (Src-Code Exzerpt!)~~
- ~~Report-Erstellung~~
- ~~Programmablauf~~
- ~~Bulk-Scan~~
- ~~Vergleich mit Soll-Daten~~
- Analyse
- Darstellung + Ausarbeitung des Reports
BIN
View File
Binary file not shown.