1 / 12

Kapitel 2: Image J

Kapitel 2: Image J. Software für digitale Bilder Eigenschaften von Image J Weitere Informationen zu ImageJ und Java. 1. Software für digitale Bilder. Früher: Software für Bildverarbeitung Zugang zu teuren Werkzeugen oder Eigenbau für einfache Anwendungen

Download Presentation

Kapitel 2: Image J

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kapitel 2: Image J • Software für digitale Bilder • Eigenschaften von Image J • Weitere Informationen zu ImageJ und Java BV: Kap 2 Image J

  2. 1. Software für digitale Bilder • Früher: Software für Bildverarbeitung • Zugang zu teuren Werkzeugen oder • Eigenbau für einfache Anwendungen • Problem: firmenspezifische Dateiformate • Heute: • Wenige Standards für Bildformate • Basisunterstützung durch Programmbibliotheken mit Standard-APIs • Software zur Bildbearbeitung • Beispiele: Adobe Photoshop, Corel Paint, .. • Manipulation von Bildern • Eigene Komponenten programmieren: umständlich • Software zur Bildverarbeitung • Beispiele: MatLab, ImageMagick, IDL, … • Algorithmen programmieren • Unterstützung durch Bibliotheken BV: Kap 2 Image J

  3. 2. Eigenschaften von ImageJ • Mischung beider Welten • Fertige Werkzeuge zur Manipulation • Erweiterung durch eigene Softwarekomponenten • Implementiert in Java: Plattformunabhängig • Eigene Komponenten über Plugins: on-the-fly übersetzen und ausführen • Frei verfügbar ohne Lizenzkosten • Entwickler: Wayne Rasband am U.S. National Institute of Health (NIH) • http://rsb.info.nih.gov/ij BV: Kap 2 Image J

  4. 2.1 Features • ImageJ optional mit Java-Runtime • Eigenständige Anwendung oder Applet • Satz von fertigen Werkzeugen: • Erzeugen, Visualisieren, Editieren, Verarbeiten, Analysieren von Bildern • In mehreren Dateiformaten • Bildfolgen (Stacks) • Plugin- Mechanismus • Erweiterung der Funktionalität • Plugins im Plugin-Verzeichnis • Zusätzlich: Makro-Sprache • Ohne Java-Kenntnisse • Im Folgenden nicht betrachtet BV: Kap 2 Image J

  5. 2.2 Fertige Werkzeuge BV: Kap 2 Image J

  6. Details • Unterstützte Formate: TIFF (nur unkomprimiert), JPEG, GIF, PNG, BMP, sonstige Spezialformate • Öffnen einer Bilddatei erzeugt zusätzlichen Frame • Vielzahl von Beispielbildern • Operationen werden auf dem aktuell selektierten Bild ausgeführt • Undo-Mechanismus für einen Bearbeitungsschritt, auch für eigene Plugins • Beschreibung der Funktionen: http://rsb.info.nih.gov/ij/docs BV: Kap 2 Image J

  7. 2.3 ImageJ-Plugins • In Java geschriebene Softwaremodule, die in ImageJ eingebunden werden • Plugin erweitert Funktionalität von ImageJ • Verwaltung über Plugin-Menü • Zwei Arten von Plugins • PlugIn: keine Argumente, d.h. kein Bild • PlugInFilter: beim Start wird aktuelles Bild übergeben • von uns verwendet • int setup(String arg, ImagePlus img): Initial ausgeführt • void run(ImageProcessor ip): • Tatsächliche Arbeit • ip: das zu verarbeitende Bild BV: Kap 2 Image J

  8. Softwarestruktur BV: Kap 2 Image J

  9. Beispiel: „inverter“-Plugin • 8-Bit-Grauwertbild invertieren • Typische Punktoperation (Kapitel 5) • Unser Bild (z.B. Dot_Blot.jpg) • Grauwerte: 0 .. 255 • Pixel: M (Breite) x N (Höhe) • I‘(u,v) = 255 – I(u,v) für • u = 0..M-1 • v = 0..N-1 • Hinweise: • Konvention: Klassennamen enden mit _ • DOES_8G: 8-Bit-Grauwertbilder werden bearbeitet BV: Kap 2 Image J

  10. Quellcode BV: Kap 2 Image J

  11. Erläuterung • getWidth(), getHeight(): Breite, Höhe • int getPixel(int x, int y): Wert an Position (x,y) • putPixel(int x, int y, int value): Pixelwert setzen • Quellcode-Datei: MyInverter_.java • Verzeichnis: <ij>/plugins/ oder Unterordner • Erstellen und übersetzen mit eingebautem Editor und JDK • Besser: eclipse • Originalbild wird potentiell verändert • Edit -> Undo zum Rückfall • Plugin-Tutorial: http://mtd.fh-hagenberg.at/depot/imaging/imagej/ BV: Kap 2 Image J

  12. Literatur • Homepage zum Buch: http://www.imagingbook.com • Homepage zu ImageJ: http://rsb.info.nih.gov/ij/ • Beispielbilder: http://rsb.info.nih.gov/ij/images/ • Kurzreferenz: http://www.imagingbook.com/fileadmin/de/material2/IJ-Kurzreferenz.pdf • Plugin-Tutorial: http://mtd.fh-hagenberg.at/depot/imaging/imagej/ BV: Kap 2 Image J

More Related