Projektunterlagen
Astro Sensor Analyzer
Dokumentation des aktuellen Stands mit Hilfe, Epics, User Stories, funktionalen und nicht funktionalen Anforderungen sowie einem Prompt zur Rekonstruktion der Anwendung mit einem LLM.
A) Hilfe / Bedienkonzept
Zweck: Die Anwendung analysiert astronomische FITS- und Bilddateien lokal im Browser. Sie dient der Untersuchung von Hot-Pixeln, Kanalverteilungen, Headerinformationen und visuellen Artefakten.
Dateiimport: Dateien werden per Drag-and-drop oder Dateidialog geladen. Unterstützt werden FITS-Dateien sowie JPG, PNG und WebP.
Analyseprinzip: Hot-Pixel werden als Werte oberhalb von Median + Sigma × Standardabweichung erkannt. Der Sigma-Wert ist einstellbar.
Farbinterpretation: FITS-Daten können als Mono/Luminanz, Bayer-/OSC-Rohdaten oder RGB-FITS interpretiert werden. Der Standardmodus behandelt FITS-Dateien ohne Farbangabe als RGGB-Bayer, analog zur Python-Logik.
Vorschau: Die Vorschau kann automatisch gestreckt, debayert, farblich geglättet und über Regler angepasst werden. Diese Einstellungen betreffen ausschließlich die Anzeige, nicht die Analysewerte.
Visualisierungen: Heatmap und Histogramm zeigen Ortsverteilung und Helligkeitsverteilung. Das Histogramm kann logarithmisch, linear roh, linear begrenzt oder wurzeltransformiert angezeigt werden.
FITS-Header: Der Header wird tabellarisch angezeigt, ist durchsuchbar und kann als TXT oder CSV exportiert werden.
Datenschutz: Die Verarbeitung findet lokal im Browser statt; Bilddaten werden nicht hochgeladen.
B) Epics
| ID | Epic | Beschreibung |
|---|---|---|
| E1 | Dateiimport und lokale Datenverarbeitung | Bereitstellung eines robusten Imports für FITS- und Rasterbilddateien ohne Serverübertragung. |
| E2 | FITS-Parsing und Header-Verarbeitung | Auslesen, Interpretieren, Anzeigen, Filtern und Exportieren von FITS-Headerinformationen. |
| E3 | Aufnahmetyp- und Kanalinterpretation | Automatische und manuell übersteuerbare Erkennung von Mono, Bayer/OSC und RGB-FITS. |
| E4 | Hot-Pixel-Analyse | Statistische Identifikation auffälliger Pixel auf Basis eines einstellbaren Sigma-Schwellenwerts. |
| E5 | Visualisierung und Vorschau | Darstellung von Heatmap, Histogramm, Originalvorschau, Debayer-Vorschau und modalem Zoomfenster. |
| E6 | RGB-/Bayer-Kanalstatistik | Getrennte Auswertung der Farbkanäle zur besseren Diagnose von Sensor- und Farbrauschverhalten. |
| E7 | Bedienbarkeit und Dokumentation | Hilfetexte, Projektunterlagen und nachvollziehbare Bedienlogik für Anwender und Weiterentwicklung. |
| E8 | Qualität, Datenschutz und Betrieb | Lokale Verarbeitung, browserbasierte Nutzbarkeit, Performance und robuste Fehlerbehandlung. |
B) User Stories
| ID | Epic | User Story | Akzeptanzkriterium |
|---|---|---|---|
| US-01 | E1 | Als Anwender möchte ich FITS- und Bilddateien per Drag-and-drop laden, damit ich Sensordaten ohne Zusatzsoftware untersuchen kann. | Dateien werden per Drop-Zone und Dateidialog akzeptiert; unpassende Dateitypen erzeugen eine verständliche Fehlermeldung. |
| US-02 | E1 | Als Anwender möchte ich nach einer Analyse direkt eine weitere Datei laden können, damit ich mehrere Aufnahmen nacheinander vergleichen kann. | Die Drop-Zone bleibt nach erfolgreicher Analyse sichtbar und aktiv. |
| US-03 | E2 | Als Anwender möchte ich den FITS-Header tabellarisch sehen, damit ich Aufnahmeparameter wie Belichtungszeit, Gain oder Temperatur prüfen kann. | Headerkarten erscheinen mit Keyword, Wert und Kommentar in einer Tabelle. |
| US-04 | E2 | Als Anwender möchte ich den FITS-Header exportieren, damit ich ihn außerhalb der Anwendung dokumentieren kann. | TXT- und CSV-Export sind nach dem Laden einer FITS-Datei aktiv. |
| US-05 | E3 | Als Astrofotograf möchte ich erkennen, ob eine Aufnahme Mono, Bayer/OSC oder RGB ist, damit ich die Analyse richtig einordnen kann. | Die Anwendung zeigt einen Aufnahmetyp mit Sicherheitsstufe und Begründung an. |
| US-06 | E3 | Als fortgeschrittener Nutzer möchte ich die Kanalinterpretation manuell übersteuern, damit auch uneindeutige oder fehlerhafte Header analysierbar bleiben. | Der RGB-Modus ist über ein Auswahlfeld umschaltbar. |
| US-07 | E4 | Als Anwender möchte ich den Sigma-Schwellenwert einstellen, damit ich zwischen empfindlicher und strenger Hot-Pixel-Erkennung wechseln kann. | Änderungen am Sigma-Regler aktualisieren Statistik, Heatmap und Histogramm. |
| US-08 | E4 | Als Anwender möchte ich Anzahl und Anteil der Hot-Pixel sehen, damit ich die Sensorqualität einschätzen kann. | Gesamtzahl und prozentualer Anteil werden im Statistikbereich angezeigt. |
| US-09 | E5 | Als Anwender möchte ich eine Vorschau des Originalbildes sehen, damit ich die Analyse visuell mit dem Bildinhalt vergleichen kann. | Die Vorschau erscheint vor bzw. neben den Vorschau-Reglern und bleibt von Analysewerten getrennt. |
| US-10 | E5 | Als Anwender möchte ich Bayer-Rohdaten debayert und geglättet betrachten, damit rot-grün-blaues Farbrauschen die Vorschau nicht dominiert. | Farbvorschau-Modi Automatisch geglättet, Debayer, Bayer roh/grau und Standard sind auswählbar. |
| US-11 | E5 | Als Anwender möchte ich die Vorschau in einem größeren Fenster zoomen können, damit ich Details besser beurteilen kann. | Ein Klick auf die Vorschau öffnet ein Modal mit Zoom, Mausrad-Zoom und Einpassen. |
| US-12 | E5 | Als Anwender möchte ich die Helligkeitsverteilung unterschiedlich transformieren, damit dominante Hintergrundpeaks die Beurteilung nicht verhindern. | Logarithmisch, linear roh, linear begrenzt und wurzeltransformiert sind auswählbar. |
| US-13 | E6 | Als Anwender möchte ich Hot-Pixel je Farbkanal sehen, damit ich kanalabhängige Sensor- oder Debayer-Artefakte erkennen kann. | Für R, G und B werden separate Kennzahlen und Hot-Pixel-Zahlen angezeigt. |
| US-14 | E7 | Als Nutzer möchte ich einen Hilfetext direkt in der Anwendung lesen, damit ich die wichtigsten Funktionen ohne externe Dokumentation verstehe. | Ein aufklappbarer Hilfebereich erklärt Bedienung, Moduswahl, Vorschau und Histogramm. |
| US-15 | E7 | Als Projektbeteiligter möchte ich Epics, User Stories, Anforderungen und einen LLM-Prompt auf einer eigenen Seite aufrufen, damit der Entwicklungsstand dokumentiert ist. | Ein Button öffnet eine separate Dokumentationsseite. |
| US-16 | E8 | Als datenschutzbewusster Nutzer möchte ich, dass Dateien lokal verarbeitet werden, damit meine Rohdaten nicht übertragen werden. | Die Anwendung funktioniert ohne Upload-Backend und dokumentiert die lokale Verarbeitung. |
C) Funktionale Anforderungen im SOPHIST-Satzschema-Stil
Formuliert als verpflichtende Systemfähigkeiten mit Akteur, Systembezug, Objekt und Prozesswort.
| ID | Anforderung |
|---|---|
| F-01 | Das System muss dem Anwender die Möglichkeit bieten, FITS- und Rasterbilddateien per Drag-and-drop oder Dateiauswahldialog zu laden. |
| F-02 | Das System muss nach erfolgreicher Analyse die Drop-Zone für das Laden weiterer Dateien aktiv halten. |
| F-03 | Das System muss FITS-Dateien mit den BITPIX-Formaten 8, 16, 32, -32 und -64 einlesen können. |
| F-04 | Das System muss FITS-Headerkarten mit Keyword, Wert, Kommentar und Originalkarte extrahieren. |
| F-05 | Das System muss dem Anwender die Möglichkeit bieten, FITS-Header nach Keyword, Wert oder Kommentar zu filtern. |
| F-06 | Das System muss dem Anwender die Möglichkeit bieten, FITS-Header als TXT- und CSV-Datei zu exportieren. |
| F-07 | Das System muss aus FITS-Achsen und Headerinformationen eine Bildgeometrie für Mono, Bayer/OSC oder RGB-FITS ableiten. |
| F-08 | Das System muss dem Anwender die Möglichkeit bieten, die automatische Kanalinterpretation manuell zu übersteuern. |
| F-09 | Das System muss den Aufnahmetyp aus Headerhinweisen ableiten und mit Sicherheitsstufe anzeigen. |
| F-10 | Das System muss Hot-Pixel auf Basis der Regel Median + Sigma × Standardabweichung identifizieren. |
| F-11 | Das System muss dem Anwender die Möglichkeit bieten, den Sigma-Schwellenwert über einen Regler einzustellen. |
| F-12 | Das System muss Gesamtzahl und prozentualen Anteil erkannter Hot-Pixel anzeigen. |
| F-13 | Das System muss Aufnahmeparameter wie Temperatur, Belichtungszeit und Gain aus Headerdaten auslesen und formatiert darstellen. |
| F-14 | Das System muss Hot-Pixel als Ortsverteilung in einer Heatmap visualisieren. |
| F-15 | Das System muss bei RGB- und Bayer-Daten Hot-Pixel getrennt nach Rot, Grün und Blau auswerten. |
| F-16 | Das System muss pro Farbkanal Anzahl, Anteil, Median, Standardabweichung, Schwelle und Hot-Pixel-Anzahl anzeigen. |
| F-17 | Das System muss eine Vorschau des geladenen Bildes anzeigen. |
| F-18 | Das System muss FITS-Vorschaudaten automatisch strecken, ohne die Analysewerte zu verändern. |
| F-19 | Das System muss dem Anwender die Möglichkeit bieten, Kontrast, Helligkeit, Sättigung sowie Rot-, Grün- und Blau-Anteile der Vorschau zu verändern. |
| F-20 | Das System muss für Bayer-/OSC-Daten Vorschau-Modi für automatische Glättung, Debayer-Vorschau, Bayer roh/grau und Standard anbieten. |
| F-21 | Das System muss dem Anwender die Möglichkeit bieten, per Auto-Helligkeit/Kontrast eine robuste Vorschau-Streckung zu berechnen. |
| F-22 | Das System muss beim Klick auf die Vorschau ein modales Fenster mit vergrößerter Darstellung öffnen. |
| F-23 | Das System muss im modalen Fenster Zoom, Mausrad-Zoom, Einpassen und synchronisierte Anzeige-Regler bereitstellen. |
| F-24 | Das System muss ein Histogramm der Helligkeitsverteilung anzeigen. |
| F-25 | Das System muss dem Anwender die Möglichkeit bieten, die Histogrammtransformation zwischen logarithmisch, linear roh, linear begrenzt und wurzeltransformiert umzuschalten. |
| F-26 | Das System muss einen Hilfetext sowie eine verlinkte Dokumentationsseite bereitstellen. |
C) Nicht funktionale Anforderungen im SOPHIST-Satzschema-Stil
| ID | Anforderung |
|---|---|
| NF-01 | Das System muss Bilddateien lokal im Browser verarbeiten, sodass keine Bilddaten an einen Server übertragen werden. |
| NF-02 | Das System muss für typische astronomische Einzelbilder im Browser reaktionsfähig bleiben, indem rechenintensive Statistiken mit Sampling-Verfahren arbeiten. |
| NF-03 | Das System muss Fehlersituationen mit verständlichen deutschsprachigen Meldungen anzeigen. |
| NF-04 | Das System muss die Vorschau-Manipulation strikt von Analysewerten, Hot-Pixel-Schwellen und Headerdaten trennen. |
| NF-05 | Das System muss auf Desktop-Browsern mit modernen JavaScript- und Canvas-Funktionen lauffähig sein. |
| NF-06 | Das System soll responsiv gestaltet sein, sodass wesentliche Funktionen auch auf kleineren Bildschirmen bedienbar bleiben. |
| NF-07 | Das System soll eine konsistente dunkle Benutzeroberfläche mit ausreichenden Kontrasten und klaren Kartenstrukturen bereitstellen. |
| NF-08 | Das System soll bei großen FITS-Dateien Speicherverbrauch und Laufzeit durch Stichproben begrenzen. |
| NF-09 | Das System soll Analyseergebnisse nachvollziehbar darstellen, indem Schwellenwert, Median, Standardabweichung und Modusinformationen sichtbar sind. |
| NF-10 | Das System soll wartbar bleiben, indem Import, FITS-Parsing, Statistik, Vorschau, Visualisierung und Export logisch getrennt implementiert sind. |
| NF-11 | Das System soll ohne Benutzerkonto und ohne Backend nutzbar sein. |
| NF-12 | Das System soll als technische Demonstration klar erkennbar sein und einen Haftungshinweis enthalten. |
D) LLM-Konstruktionsprompt
Dieser Prompt kann verwendet werden, um die Anwendung mit einem LLM neu zu konstruieren.
Erzeuge eine vollständige browserbasierte Web-Anwendung mit dem Titel „Astro Sensor Analyzer“.
Ziel der Anwendung:
Die Anwendung soll astronomische FITS- und Rasterbilddateien lokal im Browser analysieren. Im Mittelpunkt stehen Hot-Pixel-Erkennung, RGB-/Bayer-/Mono-Interpretation, FITS-Header-Auswertung, Vorschau-Darstellung und einfache visuelle Qualitätsdiagnostik.
Technische Rahmenbedingungen:
- Erzeuge eine eigenständige HTML-Datei mit eingebettetem CSS und JavaScript.
- Die Anwendung muss ohne Backend funktionieren.
- Die Bilddaten dürfen nicht auf einen Server hochgeladen werden.
- Verwende HTML5, modernes JavaScript und Canvas.
- Chart.js darf für Histogramme verwendet werden.
- Tailwind CSS darf per CDN für das Layout verwendet werden.
- Verwende robuste Fehlerbehandlung für nicht lesbare oder unpassende Dateien.
- Dateitypen: .fit, .fits, .fts, .jpg, .jpeg, .png, .webp.
- FITS BITPIX 8, 16, 32, -32 und -64 sollen unterstützt werden.
- Achte auf verständliche deutsche UI-Texte.
- Halte Analysewerte und Vorschau-Manipulation strikt getrennt.
Funktionale Anforderungen:
1. Die Anwendung bietet eine Drag-and-drop-Zone und einen Dateiauswahldialog.
2. Nach dem Laden einer Datei bleibt die Drop-Zone für weitere Dateien nutzbar.
3. FITS-Header werden eingelesen, tabellarisch angezeigt, durchsuchbar gemacht und als TXT sowie CSV exportierbar.
4. Die Anwendung erkennt bzw. interpretiert FITS-Geometrien:
- Mono/Luminanz
- Bayer-/OSC-Rohdaten
- RGB-FITS mit drei Farbkanälen
- normale RGB-Rasterbilder
5. Der Standardmodus soll FITS-Dateien ohne Farbangabe wie eine RGGB-Bayer-Matrix behandeln.
6. Der Nutzer kann den RGB-Modus manuell übersteuern:
- Auto + FITS-Fallback RGGB
- Auto nur nach Header/Achsen
- FITS als RGGB-Bayer erzwingen
- RGB-FITS erzwingen
- Mono/Luminanz erzwingen
7. Der Aufnahmetyp soll aus Headerhinweisen wie NAXIS, BAYERPAT, CFAPAT, INSTRUME, CAMERAID, FILTER und FWHEEL abgeleitet und mit einer Sicherheitsstufe angezeigt werden.
8. Die Hot-Pixel-Erkennung verwendet Median + Sigma × Standardabweichung.
9. Der Sigma-Wert muss über einen Regler einstellbar sein.
10. Die Anwendung zeigt:
- Gesamtzahl der Hot-Pixel
- Anteil am Sensor
- Temperatur Ist/Soll, auf zwei Nachkommastellen
- Belichtungszeit und Gain, Gain auf zwei Nachkommastellen
- erkannte Kanäle
- Aufnahmetyp
11. Hot-Pixel werden in einer Heatmap als Ortsverteilung dargestellt.
12. Bei RGB/Bayer-Daten sollen Hot-Pixel nach Farbkanal farbig unterschieden werden.
13. Die Anwendung zeigt eine RGB-Kanalstatistik mit Pixelzahlen, Anteilen, Median, Standardabweichung, Schwelle und Hot-Pixeln pro Kanal.
14. Die Anwendung zeigt ein Histogramm der Helligkeitsverteilung.
15. Das Histogramm muss zwischen logarithmisch, linear roh, linear mit begrenztem Hauptpeak und wurzeltransformiert umschaltbar sein.
16. Die Anwendung zeigt eine Originalbild-/Vorschauansicht.
17. Für FITS-Daten soll die Vorschau automatisch gestreckt werden, ohne die Analysewerte zu verändern.
18. Für Bayer-/OSC-Daten soll es Vorschaumodi geben:
- automatisch geglättet
- Debayer-Vorschau
- Bayer roh / grau
- Standard
19. Die Vorschau soll Regler für Kontrast, Helligkeit, Sättigung, Rot, Grün und Blau besitzen.
20. Es soll einen Button „Auto-Helligkeit/Kontrast“ geben, der robuste Perzentile verwendet.
21. Die Vorschau-Manipulation darf keine Analysewerte, Hot-Pixel-Schwellen oder Headerwerte verändern.
22. Durch Klick auf die Vorschau soll ein modales Fenster geöffnet werden.
23. Das Modal soll vergrößerbar sein und Zoom, Mausrad-Zoom, Einpassen sowie dieselben Anzeige-Regler enthalten.
24. Die Regler im Modal und in der Hauptansicht müssen synchronisiert sein.
25. Die Anwendung enthält einen Hilfetext und einen Link zu einer separaten Dokumentationsseite.
26. Die Anwendung enthält ein Impressum mit dem Hinweis, dass es sich um eine technische Demonstration und ein KI-generiertes Forschungsprojekt handelt und keine Haftung übernommen wird.
Layout:
- Dunkles Astro-Design mit gut lesbaren Karten.
- Im Ergebnisbereich sollen Heatmap und Helligkeitsverteilung in einer Zeile stehen.
- Darunter soll der Bereich Originalbild / Vorschau über die volle definierte Breite laufen.
- Danach folgen RGB-Kanalstatistik, FITS-Header und automatisierte Analyse.
- Die Oberfläche muss responsiv sein.
Qualitätsanforderungen:
- Die Anwendung soll bei großen FITS-Dateien durch Sampling arbeiten, um im Browser reaktionsfähig zu bleiben.
- Fehler sollen dem Nutzer verständlich angezeigt werden.
- JavaScript soll strukturiert, gut kommentiert und wartbar sein.
- Keine Analysefunktion darf externe Dienste benötigen.
- Datenschutz: lokale Verarbeitung im Browser.
Erzeuge den vollständigen HTML-Code.