• Non ci sono risultati.

Corso di Informatica Medica

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Informatica Medica"

Copied!
40
0
0

Testo completo

(1)

Corso di Informatica Medica

Esercitazione 1I

Alessandro A. Nacci

[email protected] - alessandronacci.com

(2)

Conferenza

2

La relazione riguarderà aspetti avanzati di Neuroscienze che studiano l’attività della corteccia cerebrale umana attraverso un modello di rete in miniatura (area ~3 mm2) formato da circa 3000 neuroni iper-connessi con vie nervose funzionanti in modo del tutto analogo alla nostra corteccia umana (area 250.000 mm2). Le moderne tecnologie permettono di osservare on-line e sperimentare per settimane l’azione di farmaci e neurotrasmettitori mappando contemporaneamente l’attività elettrica (frequenza degli impulsi nervosi) di circa 120 neuroni uniformemente distribuiti ogni 200 µm. Verranno illustrate le metodiche di analisi delle sequenze temporali che hanno permesso di caratterizzare completamente le proprietà statistiche dell’attività complessiva con metriche quali auto e cross-correlazioni, fattore di Fano, CV2, etc. Questa attività consiste in un

“equilibrio bilanciato” fra le contrastanti azioni di due classi distinte di neuroni, biologicamente diversi in numero ed eccitabilità, che tendono a eccitare o inibire, rispettivamente la durata dell’attività elettrica. Saranno inoltre spiegate le metodiche usate per classificare l’eterogeneità degli stati della rete anche nei casi di induzione di stati “epilettici” o “febbrili”.

Saranno infine discusse possibili soluzioni che potrebbero permettere una nuova caratterizzazione, questa volta “spazio-temporale”, delle connessioni sinaptiche (trasmissione chimica) fra i neuroni identificati (ogni neurone riceve circa 500 sinapsi dai neuroni più vicini). Ciò per poter affrontare lo studio di fenomeni elementari di memoria che consistono nel rinforzo (o indebolimento) di alcune connessioni, senza trascurare altri fenomeni più complessi quali lo “scaling” (ad es. cambiamento di guadagno) della rete per condizioni di emergenza quando l’attività deve essere silenziata o potenziata, in altre parole di ri-equilibrio delle proprietà di interconnessione. Recentemente sono stati resi disponibili apparati con più di 250 punti di registrazione su 10 mm2 dai quali si possono analizzare simultaneamente più di 500 neuroni con la possibilità ad es. di ricostruire in vitro tutto il canale visivo dei mammiferi, dalla retina al talamo e alla corteccia e ciò apre possibilità di studio molto interessanti.

22 aprile 2013 - ore 10:00

Sala Seminari del Dipartimento di

Elettronica Informazione e Bioingegneria Politecnico di Milano

Prof. Enzo Wanke

Ordinario di Biotecnologie e Bioscienze Università Milano Bicocca

Registrazioni a lungo termine da reti di neuroni corticali con piattaforme avanzate a grande scala ed identificazione delle classi neuronali: proposte per un'implementazione on-line e software-assistita delle loro connessioni spazio-temporali

La relazione riguarderà aspetti avanzati di Neuroscienze che studiano l’attività della corteccia cerebrale umana attraverso un modello di rete in miniatura (area ~3 mm2) formato da circa 3000 neuroni iper-connessi con vie nervose funzionanti in modo del tutto analogo alla nostra corteccia umana (area 250.000 mm2). Le moderne tecnologie permettono di osservare on-line e sperimentare per settimane l’azione di farmaci e neurotrasmettitori mappando contemporaneamente l’attività elettrica (frequenza degli impulsi nervosi) di circa 120 neuroni uniformemente distribuiti ogni 200 µm. Verranno illustrate le metodiche di analisi delle sequenze temporali che hanno permesso di caratterizzare completamente le proprietà statistiche dell’attività complessiva con metriche quali auto e cross-correlazioni, fattore di Fano, CV2, etc. Questa attività consiste in un

“equilibrio bilanciato” fra le contrastanti azioni di due classi distinte di neuroni, biologicamente diversi in numero ed eccitabilità, che tendono a eccitare o inibire, rispettivamente la durata dell’attività elettrica. Saranno inoltre spiegate le metodiche usate per classificare l’eterogeneità degli stati della rete anche nei casi di induzione di stati “epilettici” o “febbrili”.

Saranno infine discusse possibili soluzioni che potrebbero permettere una nuova caratterizzazione, questa volta “spazio-temporale”, delle connessioni sinaptiche (trasmissione chimica) fra i neuroni identificati (ogni neurone riceve circa 500 sinapsi dai neuroni più vicini). Ciò per poter affrontare lo studio di fenomeni elementari di memoria che consistono nel rinforzo (o indebolimento) di alcune connessioni, senza trascurare altri fenomeni più complessi quali lo “scaling” (ad es. cambiamento di guadagno) della rete per condizioni di emergenza quando l’attività deve essere silenziata o potenziata, in altre parole di ri-equilibrio delle proprietà di interconnessione. Recentemente sono stati resi disponibili apparati con più di 250 punti di registrazione su 10 mm2 dai quali si possono analizzare simultaneamente più di 500 neuroni con la possibilità ad es. di ricostruire in vitro tutto il canale visivo dei mammiferi, dalla retina al talamo e alla corteccia e ciò apre possibilità di studio molto interessanti.

22 aprile 2013 - ore 10:00

Sala Seminari del Dipartimento di

Elettronica Informazione e Bioingegneria Politecnico di Milano

Via Ponzio 34/5 - 20133 Milano

Prof. Enzo Wanke

Ordinario di Biotecnologie e Bioscienze Università Milano Bicocca

Registrazioni a lungo termine da reti di neuroni corticali con piattaforme avanzate a grande scala ed identificazione delle classi neuronali: proposte per un'implementazione on-line e

software-assistita delle loro connessioni spazio-temporali

LUNEDI’  PROS SIMO!

giovedì 18 aprile 13

(3)
(4)

QUANTO FATTO OGGI VERRA’ UTILIZZATO

NELLE PROSSIME LEZIONI!

(5)

Il piano cartesiano

Scrivere in C un programma che rappresenti un piano cartesiano

Il programma deve poter

rappresentare e visualizzare a schermo PUNTI, LINEE e

QUADRATI

Deve essere inoltre possibile manipolare le forme create

(spostarle, cancellarle, ingrandirle, etc..)

Il programma deve poter

rappresentare la curva di una funzione di secondo grado:

x

y

0

(6)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y

0

(7)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y

0

(8)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y

0

(9)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y 0

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(10)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(11)

La rappresentazione

Per visualizzare a schermo abbiamo a disposizione il solo terminale:

Formato da RIGHE e

COLONNE di caratteri ASCII

Ci arrangiamo con quello che abbiamo

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

ATTENZIONE!

NON POTREMO RAPPRESENTARE I BORDI DELLE FIGURE!

CI LIMITEREMO A RAPPRESENTARE IL CONTENUTO DELLE FIGURE

CON DEI CARATTERI

(12)

Cosa ci serve?

(13)

Cosa ci serve?

• Come sempre, prima di scrivere un

programma, dobbiamo:

(14)

Cosa ci serve?

• Come sempre, prima di scrivere un programma, dobbiamo:

1. definire i tipi di dato

(15)

Cosa ci serve?

• Come sempre, prima di scrivere un programma, dobbiamo:

1. definire i tipi di dato

2. dichiarare le variabili

(16)

Cosa ci serve?

• Come sempre, prima di scrivere un programma, dobbiamo:

1. definire i tipi di dato 2. dichiarare le variabili

1. Ricorda di usare le #DEFINE

(17)

Cosa ci serve?

• Come sempre, prima di scrivere un programma, dobbiamo:

1. definire i tipi di dato 2. dichiarare le variabili

1. Ricorda di usare le #DEFINE

3. scegliere quali funzioni implementare

(18)

Cosa ci serve?

• Come sempre, prima di scrivere un programma, dobbiamo:

1. definire i tipi di dato 2. dichiarare le variabili

1. Ricorda di usare le #DEFINE

3. scegliere quali funzioni implementare

4. implementare

(19)

Definizione dei tipi di dato

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(20)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(21)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

• Punto dello schermo

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(22)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

• Punto dello schermo

• Una generica forma

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(23)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

• Punto dello schermo

• Una generica forma

• Quali forme sono disponibili

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(24)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

• Punto dello schermo

• Una generica forma

• Quali forme sono disponibili

Direzioni

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(25)

Definizione dei tipi di dato

• I tipi di dato che possono essere utili sono:

• Punto dello schermo

• Una generica forma

• Quali forme sono disponibili

Direzioni

IMPLEMENTIA MO   ALLA  LAVAGNA!

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(26)

Definizione delle variabili

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(27)

Definizione delle variabili

• Le variabili che

possono essere utili sono:

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(28)

Definizione delle variabili

• Le variabili che

possono essere utili sono:

Lo schermo

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(29)

Definizione delle variabili

• Le variabili che

possono essere utili sono:

Lo schermo

• Le varie forme

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(30)

Definizione delle variabili

• Le variabili che

possono essere utili sono:

Lo schermo

• Le varie forme

IMPLEMENTIA MO   ALLA  LAVAGNA!

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(31)

Le funzioni

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(32)

Le funzioni

Le funzioni che possono essere utili sono:

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(33)

Le funzioni

Le funzioni che possono essere utili sono:

Funzioni per la

visualizzazione a video

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(34)

Le funzioni

Le funzioni che possono essere utili sono:

Funzioni per la

visualizzazione a video

Modifica delle matriche che rappresenta lo schemo

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(35)

Le funzioni

Le funzioni che possono essere utili sono:

Funzioni per la

visualizzazione a video

Modifica delle matriche che rappresenta lo schemo

Generazione delle forme

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(36)

Le funzioni

Le funzioni che possono essere utili sono:

Funzioni per la

visualizzazione a video

Modifica delle matriche che rappresenta lo schemo

Generazione delle forme

IMPLEMENTIA MO   ALLA  LAVAGNA!

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(37)

Iniziamo ad implmentare il codice!

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(38)

Iniziamo ad implmentare il codice!

• Occupiamoci del main()

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(39)

Iniziamo ad implmentare il codice!

• Occupiamoci del main()

• Lasciamo le altre funzioni per dopo (prossime lezioni)

x

y 0

% % %

% % %

% % %

% % % %

%

Un  quadrato  di  lato  L  riempie   LxL  caratteri  del  terminale

Una  linea  di  lunghezza  L  riempe   Lx1  caratteri  del  terminale

Un  punto  riempie   un  carattere  del  

terminale

(40)

Tutte il materiale sarà disponibile sul mio sito internet:

alessandronacci.com

Potete lasciare il vostro giudizio qui:

http://tinyurl.com/IEIMExe2013

Riferimenti

Documenti correlati

Nel nostro caso, una automobile è descritta da un nome, un costo, un colore, da un insieme di componenti e da un libretto di circolazione.. • Un componente ha un nome, un costo ed

La relazione riguarderà aspetti avanzati di Neuroscienze che studiano l’attività della corteccia cerebrale umana attraverso un modello di rete in miniatura (area

• Deve essere inoltre possibile manipolare le forme create. (spostarle, cancellarle, ingrandirle,

• Se l’elemento A[i] considerato è uguale al carattere occorrenza ed è uguale all’elemento A[i-1], incremento un contatore occorrenze (occorrenze++). • Se l’elemento A[i] non

• Quindi, usando la funzione appena creata ora possiamo controllare le vincite

• Il programma deve poter permettere la creazione di auto e la stampa a schermo di tutti i dati relativi ad un’auto.. • Deve poter permettere inoltre di modificare il

• lo stato delle parola (quali lettere sono state indovinate?)... Dichiarazione ed

Marco e' padre di LUCA e di PIPPO Stefania e' madre di LUCA e di PIPPO Arianna e' figlia di Marco e Lucia. Stefano e' figlio di Arianna