IGDT: Image Processing Advanced Uebung 1
|
|
- Leon Müller
- vor 7 Jahren
- Abrufe
Transkript
1 Uebung 1 Rainer Schubert Institut für Biomedizinische Bildanalyse Arbeitsumgebung ImageJ v1.3? Dokumentation: PlugIn-Tutorial (download: ImageJ-API (download: Java-API (online:
2 Testen der Java-Umgebung Starten von ImageJ Erstellen eines neuen Plugins mit Plugins->New ImageJ erzeugt einen Quelltext für ein simples Hello world - Plugin und zeigt ihn im Editor an. Diesen mit Compile and Run aus dem ImageJ->Plugins Menü oder aus dem File Menü des Editors in Ihren Ordner Aufgaben übersetzen und starten. Beim nächsten Programmaufruf erscheint Ihr neues Plugin dann im Menü Programmierung von PlugIns Ein PlugIn ist eine Erweiterung der ImageJ-Funktionen. Hierzu muss ein PlugIn entsprechende Interfaces implementieren, die ImageJ das Erkennen und Ausführen ermöglichen Es stehen zwei Interfaces zur Verfügung: PlugIn für alle PlugIns, die keine Bilder bearbeiten (z.b. das Hello world -Beispiel) PlugInFilter für alle PlugIns, die Bilder lesen, manipulieren und schreiben
3 Unser Beispiel: Das PlugIn-Interface Importierte ImageJ-Klassen Implementation des PlugIn-Interfaces mit der Methode run() Anzeigen von Text mit Methode aus ij.* Das PlugInFilter-Interface Ein Beispiel: Öffnen Sie mit dem Editor das Demo- Plugin Inverter Dieses Beispiel implementiert das PlugInFilter-Interface mit zwei Methoden: setup() und run() Zunächst zur Methode setup(): Sie wird einmal beim Starten des PlugIns von ImageJ aufgerufen. public class Inverter_ implements PlugInFilter { Wird von ImageJ übergeben public int setup(string arg, ImagePlus imp) { return DOES_8G+DOES_STACKS+SUPPORTS_MASKING; Legt fest, auf welchen Bildern das PlugIn arbeitet
4 Das PlugInFilter-Interface Die Methode run() implementiert die eigentliche Funktion des PlugIns im Beispiel also die Invertierung des aktuellen Bildes: Der ImageProcessor des aktuellen Bildes wird von ImageJ übergeben public void run(imageprocessor ip) { byte[] pixels = (byte[])ip.getpixels(); int width = ip.getwidth(); Rectangle r = ip.getroi(); int offset, i; for (int y=r.y; y<(r.y+r.height); y++) { offset = y*width; for (int x=r.x; x<(r.x+r.width); x++) { i = offset + x; pixels[i] = (byte)(255-pixels[i]); Zusammenfassung Das PlugInFilter-Interface wird mit zwei Methoden implementiert: Die Methode setup() legt fest, für welche Typen von Bildern das PlugIn geeignet ist. Wird es mit einem nicht geeigneten Bild aufgerufen, erzeugt ImageJ eine Fehlermeldung! ImageJ ruft diese Methode einmal beim Starten des PlugIn auf und übergibt dabei die Attribute des aktuellen Bildes in einem ImagePlus Objekt. Die Methode run() wird von ImageJ nach dem setup() aufgerufen und bekommt den ImageProcessor des aktuellen Bildes übergeben. In der Methode kann dann die eigentliche Funktionalität implementiert werden. Diese wird üblicherweise innerhalb einer zweifachen Schleife realisiert: Die sogenannte Bildschleife
5 Die Bildschleife ImageJ liest Bilder sequentiell in den Speicher. Zuerst werden die Pixel der ersten Bildzeile abgelegt, gleich darauf die der zweiten usw. Das Bild ist also ein eindimensionales Array. Für den Zugriff auf ein Pixel mit den Bildkoordinaten x,y müssen diese daher im Programm auf den Index im eindimensionalen Array umgerechnet werden. Dies erfolgt üblicherweise mit einer zweifachen Schleife: for (int y=0; y<height; y++) { offset = y*width; for (int x=0; x<width; x++) { i = offset + x; pixels[i] =?; Die Bildschleife mit ROI Soll die Funktion nur auf einen bestimmten rechteckigen Ausschnitt (Region of Interest, ROI) des Bildes angewendet werden, so wird die Standardschleife etwas komplexer: for (int y=r.y; y<(r.y+r.height); y++) { offset = y*width; for (int x=r.x; x<(r.x+r.width); x++) { i = offset + x; pixels[i] =?;
6 Wiederholung: Punktoperatoren Eine Punktoperation P ordnet jedem Grauwert r aus {0,...,n eines Bildes einen neuen Wert s=p(r) zu. Betrachtet man ein Bild als Funktion f mit f(x,y) = r wobei r ein Grauwert aus {0,...,n ist, so ergibt sich durch die Anwendung einer Punktoperation P das neue Bild P(f) mit P(f)(x,y) = P(f(x,y)) für alle Pixel (x,y). Da der Definitionsbereich {0,...,n von P diskret und endlich ist, kann man die Abbildung als einfache Liste realisieren: {(0,s 1 ),...(n,s n ). Eine solche Liste nennt man auch Lookup Table (LUT). Helligkeit Die Grauwerte werden erhöht oder verdert :?
7 Helligkeit 1:1 linear Output Input Heller, linear, Clipping Dunkler, linear, Clipping Kontrast Der Grauwertbereich wird aufgespreizt bzw. gestaucht
8 Kontrast 1:1 linear Output Input Kontrast verdert Kontrast erhöht Level und Window Auswählen eines (verschiebbaren) Intervalls und Spreizung auf den Gesamtbereich: Window bestimmt Umfang des Grauwertbereiches (Kontrast) Level bestimmt die Lage des Grauwertbereiches (Helligkeit)
9 Realisierung Den beschriebenen Punktoperationen ist gemeinsam, dass die Grauwerte eines Bereiches des Ausgangbildes auf neue Grauwerte transformiert werden: 0 0 g g g g für 0 g g g = T ( g) für g < g < g g für g g < G g G G Lineare Transformation Für eine lineare Transformation: 0 g g G 0 g g g g = Round g g g g g (g - g ) + g für 0 g g für g für g G < g < g g < G
10 Für g =0, g =G -1: Lineare Transformation g g g g = Round g g g (G -1) für 0 g g für g für g < g < g g < G Hausarbeit 1: Ein Level und Window Interface Ziel: Schreiben Sie mit Hilfe der Vorlage ein Programm, das eine interaktive Einstellung von Level und Window für 8bit Grauwertbilder ermöglicht. (Demo) Arbeiten Sie dazu auch das PlugIn-Tutorial durch! Teilziele: JAVA-Swing GUI Algorithmen zur Manipulation des Bildes Koppeln von GUI und Bildmanipulation Lernziele: Vertraut werden mit der ImagJ-PlugIn-Umgebung Vertraut werden mit JAVA-Swing Vertraut werden mit der Koppelung von JAVA-Swing und ImageJ Vertiefung und Anwendung der Punktoperationen
11 Hilfestellung Für diese erste Aufgabe wird der Rahmen des Demo- Programms gestellt (siehe WWW-Page zu dieser Veranstaltung). Sie sollten es bis zur nächsten Einheit vollständig verstehen und die fehlende Funktionalität hinzufügen die künftigen Aufgaben bauen darauf auf! Die Klasse MeinPluginName Struktur Public class MeinPluginName static int level_value, window_value static ImageProcessor original_image_proc static Jslider level_slider, window_slider implements PlugInFilter: setup(imageplus imp) run(image Processor ip) changewindwoandlevel() Implements ChangeListener: statechanged(changeevent e)
12 Funktion Benutzer interagiert mit ImageJ instantiiert instantiiert GUI Level-Slider Window-Slider MeinPluginName setup() run() statechanged() changelevelandwindow() Manipuliert Meldet Änderungen Bild Im Detail import ij.*; import ij.process.*; import ij.gui.*; import java.awt.*; import javax.swing.*; import javax.swing.event.*; import ij.plugin.filter.pluginfilter; public class MeinPluginMustermann_ implements PlugInFilter, ChangeListener { public int setup(string arg, ImagePlus imp) { return DOES_8G;
13 /* Im ganzen Programm fehlt jetzt noch der Window-Slider...!!! */ /* Globale Variablen, nicht schön aber hilfreich... */ static int level_value = 0; static ImageProcessor original_image_proc = null; JSlider level_slider, window_slider = null; public void run (ImageProcessor ip) { /* Parameter für die Slider */ int level_ = 0; int level_ = 255; int level_init = 128; /* Prüfen, ob ein Bild geöffnet ist und den richtigen Typ hat*/ if (ij.windowmanager.getwindowcount() <1) { IJ.showMessage("No image opened! "); return; else { ImagePlus currentimage = ij.windowmanager.getcurrentimage(); int image_type = currentimage.gettype(); if (image_type!= currentimage.gray8) { IJ.showMessage("MeinPlugin only supports 8bit graylevel images!"); return; /* Erzeugen einer Kopie des Bildes für das Reset */ original_image_proc = currentimage.getprocessor().duplicate();
14 /* Erzeugen eines Dialog-Fensters */ JDialog jd = new JDialog(IJ.getInstance(),"Mein PlugIn"); /* Einstellen des Layouts; GridLayout erzeugt ein Raster, hier mit 2 Zeilen und einer Spalte, in das dann die Komponenten der Reihe nach angeordnet werden */ jd.setsize(400,200); jd.getcontentpane().setlayout(new GridLayout(2,1)); /* Erzeugen von Beschriftungsfeldern */ JLabel level_label = new JLabel("Level:"); /* Erzeugen der beiden (bisher nur einer...) Slider */ level_slider = new JSlider(JSlider.HORIZONTAL, level_, level_, level_init); level_slider.setmajortickspacing(255); level_slider.setminortickspacing(10); level_slider.setpaintticks(true); level_slider.setpaintlabels(true); /* Listener einhängen */ level_slider.addchangelistener(this); /* Einstellen der Komponenten in das Dialog-Fenster */ jd.getcontentpane().add(level_label); jd.getcontentpane().add(level_slider); /* Initialisieren der globalen Variablen für Slider-Positionen */ level_value = level_slider.getvalue(); /* Anzeigen des Dialog-Fensters */ jd.show();
15 /* Abfangen und behandeln von Interaktionen mit Slidern und Knöpfen */ public void statechanged(changeevent e) { JSlider source = (JSlider)e.getSource(); /* Prüfen, welcher der Schieber geändert wurde (momentan nur einer...) */ if (source.equals(level_slider)) { if (!source.getvalueisadjusting()) { /* Neuen Wert holen und in globale Variable schreiben */ level_value = (int)source.getvalue(); /* Anwenden des neuen Wertes */ changewindowandlevel(); public void changewindowandlevel() { ImagePlus current_image = null; ImageProcessor image_proc = null; int height, width = 0; /* Prüfen, ob ein Image geöffnet ist */ if (ij.windowmanager.getwindowcount() <1) { IJ.showMessage("No image opened! "); return; else { current_image = ij.windowmanager.getcurrentimage();
16 image_proc = current_image.getprocessor(); height = image_proc.getheight(); width = image_proc.getwidth(); for (int y=0; y < height; y++) { for (int x=0; x<width; x++){ /* Holen des Pixelwertes aus dem Originalbild */ float pix = (float)original_image_proc.getpixel(x,y); /* Hier muss jetzt die Berechnung der neuen Wertes für das Pixel hin */ /* Schreiben des neuen Wertes in das aktuelle Bild */ image_proc.putpixel(x,y,(int)pix); /* Nur damit das Programm in diesem Zustand überhaupt eine Ausgabe macht */ IJ.showMessage("level_value = " + level_value); /* verändertes Bild anzeigen */ current_image.updateanddraw();
Bildverarbeitung mit ImageJ
U berblick Bildverarbeitung mit Dr. Birgit Mo ller Institut fu r Informatik Martin-Luther-Universita t Halle-Wittenberg Einfu hrung in die Bildverarbeitung, SS 2008 1 U berblick U berblick 1 Die Entwicklungsumgebung
MehrEAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ
EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,
MehrFunktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
MehrProseminar: Image Processing Toolbox mit ImageJ
Proseminar: Image Processing Toolbox mit ImageJ Prof. Olaf Ronneberger Benjamin Drayer Lehrstuhl für Mustererkennung und Bildverarbeitung Institut für Informatik 17. April 2013 O. Ronneberger (LMB) Proseminar:
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
MehrEinführung in die VIGRAPLT Bibliothek
Einführung in die VIGRAPLT Bibliothek Version 0.5.0 Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Inhalt Konzepte Grundlegende Funktionen Beispiele Basis für eigene Algorithmen Inhalt Konzepte
MehrAufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {
Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse
MehrProgrammiertechnik GUI Programmierung mit Java Swing
Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz
MehrKlausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
Mehr8.6 Visualisierung der Sortieralgorithmen
8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
MehrGrafische Benutzeroberflächen
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll
MehrÜbung 09: Vererbung und Dynamische Bindung
Übung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) G4 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrInstitut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September
MehrGrafische Benutzeroberflächen
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrGrafische Benutzeroberflächen
Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm
MehrVersuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.
Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung
MehrFakultät IV Elektrotechnik/Informatik
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
MehrBildverarbeitung und Algorithmen. Einführung in ImageJ
Prof. Dr. Wolfgang Konen Einführung in ImageJ SS06 3b.1 Konen SS06 3b.2 Konen Tools in der Bildverarbeitung Früher: fast so viele BV-Tools wie BV-Formate Lösungen nur schwer auf andere Systeme übertragbar
Mehr4. Aufgabe: Medizinische Bilder
4. Aufgabe: Medizinische Bilder 1 Einleitung In der modernen Medizin gibt es zahlreiche bildgebende Verfahren, die eine zuverlässige Diagnose unterstützen. Eine große Rolle spielen dabei das klassische
Mehr/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();
Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrEinführung in die Programmierung für NF. Grafische Benutzeroberflächen
Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.
MehrMusterübung 09: Vererbung und Dynamische Bindung
Musterübung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Hofer) G4 (Angerer) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrEin erstes "Hello world!" Programm
OOP Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Die Benutzer Oberfläche von HOOPLU...2 2.1 Projekte öffnen und speichern...2 2.2 Die Klasse Program
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
MehrProgrammieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
MehrEinfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
MehrZentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) Übungsorganisation Bringen Sie Ihren Labtop in die Übungen mit! 09.10.2017 CuP - VO 2 Programmieren 1. Definition der Aufgabe, die das Programm lösen soll. 2.
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrObjektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik
Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Organisatorisches Im Web unter http://www.uni-ulm.de/psh Vorwissen Du kannst bereits Klassen als Typen mit statischen
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrKonstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
MehrSommersemester Implementierung III: GUI und Verhalten (Teil 2)
Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des
MehrII.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
MehrÜbung Informatik I - Programmierung - Blatt 6
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrÜbung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301
Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Aufgabe 8: Implementierung eines Ereignis-Automaten a) Modellieren Sie einen Ereignis-Automaten für den in der Abbildung dargestellten und in Calculator.java
MehrPROCESSING BILDER UND SOUND. Created by Michael Kirsch & Beat Rossmy
PROCESSING BILDER UND SOUND Created by Michael Kirsch & Beat Rossmy INHALT 1. Rückblick 1. Processing Basics 3. Anwendung 1. Image 2. 2. Vererbung 3. Interfaces 4. Vererbung & Interfaces Theorie 1. Bilder
MehrInformatik II Übung, Woche 10
Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II
MehrFachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4
Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment
MehrJTable. W. Lang HWR Berlin, SS
JTable W. Lang HWR Berlin, SS 2014 1 JTable Die Swing-Komponente JTable dient der Darstellung einer zweidimensionalen Tabelle Verwendung häufig im Zusammenhang mit Datenbankanwendungen Im Gegensatz zu
MehrUniversität Hamburg, Fachbereich Informatik Übungsblatt 11 zum Praktikum. E. Betke, N. Hübbe, M. Kuhn, J. Lüttgau, J. Squar im WiSe 2018/2019
Universität Hamburg, Fachbereich Informatik Übungsblatt 11 zum Praktikum Arbeitsbereich Wissenschaftliches Rechnen C-Programmierung E. Betke, N. Hübbe, M. Kuhn, J. Lüttgau, J. Squar im WiSe 2018/2019 Einleitung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung und Nutzereingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung Klassen, Objekte, Attribute und Methoden
MehrPraktikum 1. Bildverarbeitungs - Software ImageJ LUT Manipulationen Bild - Quantisierung
Prof. W. Hillen, Medizinische Informatik FH - AC (Jülich)...\image\img_pk_01 ImageJ.doc Praktikum 1 Digitale Bildverarbeitung Bildverarbeitungs - Software ImageJ LUT Manipulationen Bild - Quantisierung
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
MehrDr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrProbeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
MehrÜbungen zum Bioinformatik-Tutorium. Blatt 3
Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World
MehrProgrammierung für Mathematik HS10
Department of Informatics software evolution & architecture lab Programmierung für Mathematik HS10 Übung 5 1 Aufgabe: Eclipse IDE 11 Lernziele 1 Die Entwicklungsumgebung Eclipse kennen lernen 12 Aufgabenstellung
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrNTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
MehrGobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0)
AntMe Sebastian Loers lb-sys.info Projekt: AntMe - Globales Gedächtnis (Version 1.0) Dokument Version: 1.0 Erstellt am: 15.04.2007 Geändert am: 30.04.2007 Copyright 2007 lb-sys.info. Alle Rechte vorbehalten.
Mehr7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:
7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrÜbungsstunde 3. Einführung in die Programmierung
Übungsstunde 3 Einführung in die Programmierung Nachbesprechung Übung 3 Aufgabe 1: Folgen und Reihen import java.util.scanner; public class Reihe { public static void main(string[] args) { Scanner scanner
MehrInstitut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrObjektorientierte Programmierung und Modellierung
Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung
MehrVersuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung.
Hochschule Harz Programmierung1 Tutorial 11: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Sortieren und generische Klassen Versuchsziele Kenntnisse
MehrEinführung in die Praktische Informatik. Übungsblatt 10. Dr. U. Köthe Heidelberg, 11. Januar 2017
Einführung in die Praktische Informatik Dr. U. Köthe Heidelberg, 11. Januar 2017 Übungsblatt 10 Aufgabe 10.1 Arithmetik für die Punktklasse [12 Punkte] In der Vorlesung haben wir behandelt, wie man arithmetische
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Variablenzugriff und Eingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Zugriff auf Instanzvariablen Praktisches Beispiel: Student
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrPrüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr
MehrProbeklausur Java Einführung in die Informatik. Wintersemester 2017/2018
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrADT: Verkettete Listen
ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch{ int zaehler, nenner; public Bruch(int zaehler, int nenner) { this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren
MehrInformatik II Übung 5
Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrEinführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
Mehr