IMAGING IN BIOLOGIA E MEDICINA
cod. 1005167

Anno accademico 2016/17
2° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Fisiologia (BIO/09)
Field
Discipline del settore biomedico
Tipologia attività formativa
Caratterizzante
47 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in - - -

Obiettivi formativi

Con il corso lo studente diventa competente nella comprensione delle basi
informatiche e matematiche di rappresentazione e trasformazione delle
immagini. Impara inoltre ad usare strumenti generali e non specifici di un
contesto o applicazione per il raggiungimento degli obiettivi già citati.
L'insegnamento ha come scopo quello di migliorare le competenze ed apprendere
tecniche di manipolazione dei dati che potrebbero indurre nuove capacità
di apprendimento

Prerequisiti

- - -

Contenuti dell'insegnamento

Il corso è strutturato in due parti che hanno svolgimento parallelo o
alternato,

Una parte è tenuta in lezioni frontali concentrata su aspetti teorici
riguardanti la formazione dell'immagine e la sua acquisizione digitale,
la rappresentazione binaria di immagini a colori, in scala di grigi o binarie
e le basi dei metodi di analisi e trasformazione di immagini digitali

La seconda parte è costituita da lezioni sia frontali che in laboratorio
informatico dove i metodi già menzionati sono applicati a
casi pratici o esplicativi usando la shell matematica Octave, clone sintattico
della più conosciuta shell Matlab

Programma esteso

Introduzione
Introduzione al corso
Basi della formazione dell'immagine
Sistemi elettronici di rilevamento delle immagini
Rappresentazione di un immagine e dei colori
Rappresentazione digitale e storaggio delle immagini
Rappresentazione digitale dell'immagine
Digitalizzazione di un immagine
Rappresentazione binaria
Matrice di Pixel
Modelli di rappresentazione di immagini
Grayscale
RGB
Indexed
Formati per lo Memorizzazione e la Trasmissione di Immagini
Problematiche legate all'immagazzinamento o alla trasmissione di
immagini
Formati Comuni
TIFF
GIF
PNG
JPEG : principi di organizzazione e problematiche legate ad esso
Introduzione al linguaggio di Matlab/Octave
La shell di Octave: espressioni aritmetiche
Variabili: creazione e assegnazioni
Matrici, Array e Scalari
Operazione tra scalari, tra matrici e operazioni tra scalari e matrici
Sintassi per la composizione di matrici
Applicazioni di funzioni a Vettori e Matrici: il caso di sum , min e max
Le funzioni ones e zeros
Plotting con Matlab/Octave
Grafico della funzione radice quadrata sqrt tra 0 e 100
La funzione linspace per generare sequenze uniformi di valori
intervallo dato
Plot di funzioni multiple all'interno dello stesso diagramma.
Esempio: tracciare e confrontare 6 funzioni trigonometriche
Plotting 3-dimensionale
La funzione meshgrid per creare matrici di coordinate nel piano
Plot della superficie della funzione exp(-(x2 +y2 ))
Plot della funzione exp(-(x2 +y2 )/d)*cos(2*pi*omega*(x2+y2)))
Matrici ed Immagini in Matlab/Octave
Rappresentazione interna di immagini grayscale , RGB o indexed
Classi di rappresentazione dei dati (funzione class di Octave) e
range di valori convenzionali ad esse associati
Numeri interi
Numeri in virgola mobile
Alcuni aspetti critici legati alla rappresentazione binaria
Stringhe di caratteri
Scripting in Octave
Esecuzione di script salvati in m-files
Ragioni per costruire m-files con script Octave
Le funzioni di Octave: definizione e struttura di una funzione
Strutture fondamentali di controllo dell'esecuzione di uno script
Struttura condizionale
Struttura if...else...endif
Struttura switch ... case ...endswitch
Esempio: funzione di clamping del valore di un singolo pixel
Cicli
Ciclo for...endfor
Ciclo while...endwhile
Ciclo do...until
Esempio di uso per do...until : studio della funzione tanh
Definizione di una funzione in function...endfunction
Lista degli argomenti di Input/Output di una funzione
Linee per la generazione automatica della pagina di "help" di una
funzione
Esempio: matshuffle.m , una funzione che riordina in modo casuale gli
elementi di una matrice
Image Package
Alcune delle funzioni di base del package image
Rappresentazioni interne di base
Immagini binarie
Immagini grayscale
Immagini RGB
Immagini Indexed
Funzione iminfo
imread : lettura di un file grafico
imwrite : lettura
imshow : display di una immagine
Esempio: Costruzione di un immagine grayscale 8x8
Esempio : costruzione di un immagine a colori RGB 8x8
Intensity Transformation
Funzioni di manipolazione di base di una matrice contenente un'immagine
rgb2gray : conversione di un immagine in formato RGB (NxMx3)
in un immagine grayscale . Formula di conversione del valore di
un pixel in formato RGB in un valore equivalente di luminosità
mat2gray : ricalcolo della matrice di un immagine e creazione di
una matrice equivalente con valori nell'intervallo [0...1]
rgb2ind : conversione di un'immagine RGB in un'immagine 'indexed'
Istogramma di un immagine e caratterizzazione generale
calcolo di un istogramma
relazione immagine-istogramma
istogrammi di immmagini sovraesposte/sottoesposte
contrasto
dinamica
calcolo e display dell'istogramma con la funzione imhist
Point operation
inversione della luminosità
alterazione del contrasto
alterazione della luminosità
Esempio di codice Octave per la manipolazione della luminosità
di un'immagine
Trasformazione logaritmica
Trasformazione esponenziale
Thresholding: scopo principale
Modifica automatica del contrasto
Modifica automatica con algoritmo modificato (saturazione code)
Equalizzazione dell'istogramma
Trasformazione dell'istogramma secondo un istogramma dato
Filtri
Filtri lineari
Smoothing filters
Calcolo della trasformazione dovuta ad un filtro lineare
Filtro di media a primi vicini (3x3)
Effetto di smoothing su una immagine corrotta da rumore
Filtri di differenza
Formulazione Convolutiva
Filtro "indentità" (δ)
Determinazione della PSF di un sistema ottico
Filtri non lineari
Filtro di massimo e minimo
Filtro di mediana
Esempi di applicazione di filtri non lineari ad immagini corrotte
da rumore
Edge Enhancement
Individuazione e rafforzamento dei bordi
Definizione e caratteristiche di un bordo
Interpretazione del significato di derivata locale come indicatore
di un bordo
Gradiente di luminosità e suo significato
Forza di un bordo
Orientamento di un bordo
Filtri di derivazione e loro effetto su un'immagine di prova
Matrici di Prewitt e Sobel
Matrici di Roberts
Funzione edge
Metodo di Canny
Edge Sharpening
Strategia generale del rafforzamento dei bordi
Effetto dell'operatore di Laplace sull'immagine di prova
Tecnica di sharpening basata sull'operatore di Laplace
Tecnica di Unsharp Masking
Traformazioni Morfologiche
Elementi Strutturanti
Erosione
Dilatazione
Applicazione combinata dei due processi
Opening
Closing
Generazione ad immagini a scala di grigi
Applicazione ad un immagine per rilevare i contorni di oggetti

Bibliografia

W. Burger - Mark J. Burge
Digital Image Processing
Editore: Springer

Chris Solomon - Toby Breckon
Fundamentals of Digital Image Processing
Editore: Wiley-Blackwell

M.Petrou - C.Petrou
Image Processing: the Fundamentals
Editore: Wiley

inoltre lo studente ha a disposizione le presentazioni ppt delle lezioni
al sito http://imaging.biol.unipr.it, dove ci sono anche varie
esercitazioni

Metodi didattici

Circa metà del corso è fatto da lezioni frontali di apprendimento delle basi
e l'altra metà da esercitazioni pratiche eseguite in laboratorio didattico.

Modalità verifica apprendimento

Esame orale

Altre informazioni

Al corso è associato un sito web http://imaging.biol.unipr.it/