Analisi di Immagini e Dati Biologici

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO DI PROGRAMMAZIONE C
Advertisements

Dipartimento di Matematica
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Rappresentazione di Numeri Reali
Introduzione al linguaggio C
Massimo Sartori, MSc (PhD Student)
Stringhe di caratteri In linguaggio C.
Rappresentazioni dei numeri non interi A. Ferrari.
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Dipartimento di Matematica
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Luglio 2002Complementi di algebra binaria1 Complememti di algebra binaria Luglio 2002.
Esercitazioni su rappresentazione dei numeri e aritmetica
FUNZIONI DI BIBLIOTECA
Process synchronization
Sistemi di Numerazione
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 7 (5 novembre 2008) Programmazione in Java: lessico, variabili, tipi primitivi, assegnamento a variabile.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Rappresentazione dei numeri reali
Lezione 1: Fondamenti Numeri Binari.
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
Dichiarazioni e tipi predefiniti nel linguaggio C
Il sistema binario.
Il Linguaggio C.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Analisi di Immagini e Dati Biologici
Java base I: Sintassi e tipi di dati
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ARITMETICA BINARIA.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Tipi di dati semplici in C (1/3)
1 Numeri interi e numeri in virgola mobile F. Bombi 2 6 novembre 2003.
Rappresentazione delle durate Lezione 7 Programmazione per la Musica | Prof. Luca A. Ludovico.
Rappresentazione digitale delle informazioni. introduzione.
Process synchronization
Analisi di Immagini e Dati Biologici Introduzione al linguaggio di MATLAB/OCTAVE Parte 2 16 L5.
Rappresentazione dell’informazione nel calcolatore.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Analisi di Immagini e Dati Biologici
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Rappresentazione della Informazione
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Appunti su formati numerici. Tipi numerici Il C dispone di due tipi numerici: tipi interi e tipi reali; I tipi reali sono anche detti floating, ovvero.
Transcript della presentazione:

Analisi di Immagini e Dati Biologici Introduzione ad Octave/Matlab Parte 3 L2-2 14

Rappresentazione di un Immagine NxM Immagini 'grayscale' di intensità rappresentate come matrici NxM composte da Numeri interi senza segno: 0....255 Numeri virgola mobile [0...1] Immagini RGB rappresentate da matrici NxMx3 dove Matrice (i,j,1) rappresenta il canale del Rosso Matrice (i,j,2) rappresenta il canale del Verde Matrice (i,j,3) rappresenta il canale del Blu Immagini Indexed composte da una coppia di matrici Una matrice NxM contente numeri interi rappresentati gli indici alla tavolozza (palette) Una matrice Tx3 dove T è il numero di colori della tavolozza

Rappresentazione di un Immagine NxM Immagini RGB con alpha channel Se nel formato dell'immagine è stato salvato anche l'alpha channel (.PNG) questo va a costituire un quarto layer dopo quello dei colori Immagini binarie vengono rappresentate internamente ad Octave come matrici formate da numeri di tipo logical, cioè variabili booleane

Rappresentazione Interna dei Dati Numeri interi con o senza segno uint8 intero di 8-bit senza segno (0-255) uint16 intero di 16-bit senza segno (0-65535) uint32 intero di 32-bit senza segno (0-~4295000000) uint64 …. int8 intero di 8-bit con segno (-128...+127) int16 intero di 16-bit con segno (-32768...+32767) int32 int64 Esercizio: usate le funzioni intmax e intmin per determinare gli estremi rappresentabili Eg: intmax(“uint8”)

Numeri Interi Possono essere con o senza segno Usano la rappresentazione complemento a 2 dove MSB viene usato per segnalare la condizione di numero negativo

Numeri in Virgola Mobile Internamente rappresentati base 2 Molti processori rispettano lo standard IEEE- 754 IEEE-754 fissa oltre ad altri aspetti tecnici Il numero dei bit da riservare per significante ed esponente ad ogni precisione La rappresentazione di +Inf, -Inf (più infinito, meno infinito) NaN (not a number) Rappresentazione di default per Octave: virgola mobile a doppia precisione (double:64-bit complessivi)

Numeri in Virgola Mobile Usati per immagini di intensità, soprattutto ad alta precisione Rappresentazione di default per Octave e Matlab Rappresentazione analoga alla notazione scientifica: (-1)segno x (parte significante) x 2esponente-1023

Caveats Occorre prestare attenzione agli effetti della rappresentazione In algoritmi complessi bisogna tenere conto degli errori che possono propagarsi a causa dell'arrotondamento causato da condizioni di underflow E così anche per le condizioni di overflow. Con numeri in virgola mobile bisogna prestare attenzione a non confrontare tra loro o manipolare numeri troppo diversi in scala Arrotondamenti sono frequenti, anche operazioni semplici ripetute portano a risultati approssimati Si deve prestare attenzione al formato dei dati ed eventualmente usare le funzioni di convesione

Caveats Esempio octave:1> uint = uint16(100) uint = 100 octave:2> class(uint) ans = uint16 octave:3> whos Variables in the current scope: Attr Name Size Bytes Class ==== ==== ==== ===== ===== ans 1x6 6 char uint 1x1 2 uint16 Total is 7 elements using 8 bytes octave:4> uint/2 ans = 50 octave:5> uint = uint + 1 uint = 101 octave:6> uint/2 ans = 51 octave:7> double(uint)/2 ans = 50.500

Caveats Effetti di un numero negativo su uint octave:10> uint octave:12> class(uint) ans = double octave:13> uint16(uint) ans = 0 octave:14> uint=uint16(uint) uint = 0 octave:15> class(uint) ans = uint16

Tabella Riassuntiva Tipi di Dati Fondamentali

Altri Tipi di Dati: stringhe Altri formati di dati Stringhe: sequenze di caratteri. I singoli caratteri possono essere isolati come elementi di un array Le stringhe devono essere delimitate dal carattere “ Esistono funzioni per concatenare, confrontare e generare stringhe speciali Funzioni per creare matrici da stringhe e viceversa Le stringhe sono indispensabili in alcune funzioni come printf Con argomenti tipo stringa si può controllare l'output della funzione plot

Altri Tipi di Dati: strutture Raccolgono dati anche disomogeni tra loro che descrivono però la stessa entità Utili per creare 'oggetti' Esempio: descrizione di un cerchio in un diagramma cartesiano octave:1> cerchio.x = 1.5; octave:2> cerchio.y = -0.5; octave:3> cerchio.raggio = 2; octave:4> cerchio cerchio = scalar structure containing the fields: x = 1 y = 1.5000 raggio = 1

Altri Tipi di Dati: Cell Arrays Cell Arrays sono come vettori che contengono dati anche disomogeni tra loro (scalari, matrici, stringhe) che vengono indicizzati con un numero come per gli array