← Back to team overview

a4-dev team mailing list archive

Re: Regions of Interest

 

On Mon, 2010-05-31 at 14:53 +0200, Andrea Gualano wrote:
> Vorrei elaborare un po' sul concetto di regione di interesse (Region Of 
> Interest, o Point Of View, o qualunque altro nome vi piaccia).
> Questo concetto rappresenta la parte di immagine che si vuole visualizzare.
> 
> Nel branch che ho pushato è rappresentato da quattro numeri:
> >         self.render(context, 50, 50, 250, 150)
> quindi identifica un rettangolo.
> In realtà dovrebbe includere anche il dato sulla rotazione, che è 
> semplicemente un angolo (ma bisogna decidere rispetto a che punto si ruota).

In fisica e in geometria per descrivere le rotazioni si usa in genere la
regola "della mano destra". Detto in poche parole, l'orizzonte
corrisponde all'angolo 0 e l'angolo cresce positivamente in senso
antiorario.

> Direi che un rettangolo ruotato dovrebbe essere sufficientemente 
> generale (almeno finché i monitor sono rettangolari).
> 
> È necessario introdurre questo concetto (in forma di classe 
> probabilmente) perché una regione di interesse non corrisponde 
> univocamente ad una matrice di trasformazione. Per ricavare la 
> trasformazione necessaria a visualizzare una ROI è necessario conoscere 
> la dimensione e l'aspect ratio della finestra, infatti la regione 
> desiderata verrà zoomata fino alla dimensione della finestra e centrata 
> nella stessa.
> 
> Una ROI potrà essere creata in (almeno) due modi:
> - ricavandola da un oggetto dell'SVG
> - interpolando tra due ROI (durante le animazioni)

Sono pienamente d'accordo in tutto. Nel caso però delle animazioni,
parlerei di sequenze di ROI, ma credo che anche tu la intendessi in
questo modo.

> Il ciclo di vita potrebbe essere questo:
> - il parser SVG ricava le ROI dagli ID degli "oggetti interessanti"
> - l'animatore ricava le ROI intermedie da usare nelle transizioni
> - il controllore decide istante per istante quale ROI visualizzare
> - il renderer mette a schermo la porzione di immagine corrispondente.

Anche qui mi trovo pienamente d'accordo con te. Passando al pratico,
ecco quali informazioni userei per gli oggetti ROI.

Per quanto riguarda la posizione (x, y), non darei ad ogni ROI dei
valori assoluti, ma piuttosto dei numeri relativi al "frame" associato.
Quando sono coinvolti più frame (ossia durante una transizione), userei
valori relativi al vettore che li congiunge. Farei la stessa cosa anche
per l'angolo.

Se l'idea vi piace, o se non mi sono espresso bene, posso dare maggiori
dettagli.

Thanks,
Andrea

PS: il nome 'view' mi sembra più intuitivo di 'ROI' ;-)

Attachment: signature.asc
Description: This is a digitally signed message part


References