Navigation

Abschlussaufgabe SS 2013

Auf der Grundlage Ihrer Lösung der Abschlussaufgabe werden wir Ihre Noten festlegen. 

Wer keine Abschlussaufgabe abgibt, kann 

  • von mir entweder einen unbenoteten Teilnahmenachweis bekommen, der aber nicht als Studienleistung angerechnet werden kann
  • oder wahlweise (bei erfolgreicher Teilnahme an den Übungen) eine Benotung mit "Ausreichend" bekommen.


SPIELREGELN: 

  • Die Abschlussaufgabe wird in Einzelarbeit gelöst!!!
  • Hilfsmittel (z.B. Matlab-Hilfe, Wikipedia...) sind erlaubt (solange es sich nicht um andere Kursteilnehmer, den großen Bruder oder eine fertige aus dem Netz gezogene Lösung handelt).
  •  Bei Fragen stehen Lena Köpcke (lena.koepcke@uol.de, Raum W4-0-058, Tel 798 3608) und ich (jutta.kretzberg@uol.de, Raum W4-0-078, Tel 798 3314) zur Verfügung. Bitte per email Termine absprechen!  Bitte an beide Adressen mailen, eine von uns wird dann antworten. 
  •  Ich akzeptiere auch Teillösungen und nicht in Programmcode umgesetzte Lösungsideen. Allerdings hätte ich bei nicht lauffähigen Programmen gerne eine ausführliche Dokumentation, was nicht läuft.
  •  Lösungen müssen bis zum 13.10.2013 per email bei mir eingehen: jutta.kretzberg@uol.de Ich bestätige den Eingang der Lösung per email.
  •  Ich melde mich per email, wenn ich die Aufgaben nachgesehen habe und vergebe dann bei Bedarf Termine, an denen wir uns noch einmal kurz darüber unterhalten. (Das kann durchaus einige Wochen dauern, bis wir alle durchgesehen und verglichen haben. Falls Sie Ihre Note sehr dringend brauchen, sagen Sie bitte Bescheid.)



Kriterien für die Benotung sind: 

  • Wie vollständig ist die Aufgabe gelöst? (Für eine 1.0 sollte die Grundaufgaben und mehrere Erweiterungen richtig gelöst und zumindest eine Lösungsidee für die Bearbeitung echter jpg-Bilder angegeben sein.) 
  • Wie „elegant“ ist die Lösung? (Z.B. Schleifen versus Matrix-Lösung, Organisation der Daten, Algorithmus-Ideen...)
  • Wie gut ist die Lösung der Gesamtaufgabe strukturiert?
  • Wie allgemein gehalten ist sie?
  • Ist das Programm gut kommentiert und dokumentiert?
  • Wie benutzerfreundlich ist das Programm? (Kann man es auch ohne Programmierkenntnisse bedienen etc)
  • Wie viel ist an Zusatzideen und Detailarbeit in die Programme eingeflossen? (Hier sind beliebige Erweiterungen  möglich, aber man kann auch mit einer schlichten Lösung ein „sehr gut“ bekommen.)

BILDVERARBEITUNG: AUTOMATISCHES ZÄHLEN VON BAKTERIEN IN EINER PETRISCHALE 

Stellen Sie sich vor, sie haben die Aufgabe, sehr viele Bakterienkulturen anzulegen und in jeder Petrischale zu zählen, wie viele Bakterien nach einer bestimmten Zeit vorhanden sind. Dafür machen Sie jeweils ein jpg-Bild, das sie im Nachhinein auswerten wollen.
Ein solches Bild könnte z.B. so aussehen:

Bild

Natürlich können Sie sich hinsetzen und für jedes Bild einzeln per Hand zählen, wieviele Bakterien vorhanden sind. Allerdings haben Sie als frische Absolventinnen und Absolventen des Matlabkurses vielleicht auch bessere Ideen, wie Sie sich die Arbeit erleichtern können...

Zunächst fangen wir aber mit etwas einfacheren "Bakterienkulturen" an, von denen Sie einige Beispiele hier auf der Seite finden (weitere Beispiele s.u.)

Schreiben Sie ein Programm, das für ein beliebiges der angegebenen Grauwertbilder die Anzahl der Bakterien auf dem Bild bestimmt.

Hinweis: Die Grauwertdarstellung erzeuge ich für die gegebenen Matrizen mit der Befehlsfolge

figure

colormap('gray')

h=image(bild);

axis square

axis off

  • Standardversion: die "Bakterien" sind dunkle Bereiche in einer Grauwertmatrix vor einem hellen Hintergrund. Die Bakterien in diesen Kulturen sind extrem brav: sie sind alle gleich gross, liegen klar von einander getrennt in der Petrischale und sind entweder horizontal oder vertikal ausgerichtet. Die Petrischale sieht dann z.B. so aus: 
  • [download: standard_wenige.mat und standard_viele.mat ]:

standard_wenigestandard_viele


richtungen_wenigerichtungen_viele


Erweiterung B: Die Bakterien sind nicht alle gleich groß, sondern ihre Länge und Breite streut um die Werte der Bakterien in den vorherigen Kulturen. Z.B.:

[download: groesse_wenige.matund groesse_viele.mat]:

groesse_wenigegroesse_viele


Erweiterung C: Die Bakterien können sich berühren und auch übereinander in der Petrischale liegen. Z.B.:

[download: ueberlapp_wenige.matund ueberlapp_viele.mat]:

ueberlapp_wenigeueberlapp_viele


Erweiterung D: Das Bild besteht nicht mehr nur aus zwei Grauwerten, sondern es ist verrauscht, z.B.:

[download: rauschen_wenige.matund rauschen_viele.mat ]:

rauschen_wenigerauschen_viele



Setzen Sie so viele der Erweiterungen in Ihrem Programm um wie möglich. Testen Sie auch
Kombinationen der verschiedenen Eigenschaften. Hier zwei Beispiele für Grauwertbilder mit allen Erweiterungen:
[download: alles_wenige.mat und alles_viele.mat ]: alles_wenigealles_viele


  • Erweiterung E: Versuchen Sie im letzten Schritt, Ihr Programm so zu erweitern, dass es auch auf einem echten jpg-Bild wie dem oben gezeigten arbeiten kann.


We/exrzbmasterwxg: Jug7tta Kretzbenjc5rg7unq (jutta.cdzxlkretzbn6i4verg@uolbp4yf.de) (Stand: 07.11.2019)