Ai42's Voxmaps Coregistration System
Ai42's Voxmaps Coregistration System è una libreria C++ che effettua la coregistrazione di immagini volumetriche 3D (voxmap) seguendo l'approccio della massimizzazione della mutua informazione. Tale massimizzazione viene ottenuta attraverso gli algoritmi genetici.
Tecnicamente la coregistrazione è il calcolo della migliore trasformazione geometrica che sovrappone due voxmap. Una voxmap è una matrice 3D dove ogni elemento, chiamato voxel, è l'intensità del materiale in quel sotto-volume. Un caso particolare di voxmap sono le normali immagini 2D (una matrice 3D di dimensione n×m×1, ossia una pixmap) dove un voxel è dunque un pixel.
La mutua informazione misura dunque la somiglianza e la dipendenza statistica fra le intensità dei voxels corrispondenti nelle due immagini da integrare.
Dal punto di vista dell'utente il sistema è suddiviso in due livelli: gestione delle voxmap e coregistrazione.
Classi base
Diamo ora una lista ed una breve descrizione delle classi più utili che compongono la nostra libreria.
t_point3- Gestisce i punti nella spazio 3D.
t_matrix3- Fornisce un'interfaccia per gestire le trasformazioni geometriche nel 3D: traslazioni, rotazioni e scaling.
Gestione voxmap
i_voxmap- Interfaccia base per la gestione delle voxmap.
i_voxel_space_cursor-
Interfaccia base per l'accesso ai voxel contenuti in oggetti di tipo
i_voxmap. t_voxel_space_forward_iterator- Permette di accedere al contenuto di una voxmap scorrendo tutti i suoi voxel in un ordine prefissato.
t_stl_voxel_space_iterator- Adatta un oggetto
i_voxel_space_cursoralle interfacce degli iteratori standard C++/STL. t_stl_trilinear_transformed_iterator- Iteratore standard C++/STL per navigare all'interno di una voxmap applicando una trasformazione 3D affine.
Coregistrazione
t_voxmaps_coregistration- Effettua la coregistrazione di due voxmap. La coregistrazione è basata sulla massimizzazione della mutua informazione tra due voxmap per mezzo di strategie evolutive. Il risultato dell'ottimizzazione è una matrice di trasformazione affine che registra una voxmap con quella di riferimento.
tt_progressive_voxmaps_coregistration- Effettua la coregistrazione utilizzando un approccio progressivo: esegue un programma composto da una serie di configurazioni che utilizzano la classe precedente. Il risultato di ogni singola ottimizzazione viene utilizzato per inizializzare lo step successivo di ottimizzazione.
t_voxmaps_mutual_information- Calcola la mutua informazione tra due voxmap.
tt_voxel_filter_discrete- Un Adaptable Unary Function standard C++/STL che discretizza, scalandoli, i valori dei singoli voxel che compongono una voxmap.
t_voxel_filter_round- Un Adaptable Unary Function standard C++/STL che arrotonda il valore dei voxel ad un multiplo di una quantità prefissata (bin).
t_voxel_filter_identity- Un Adaptable Unary Function standard C++/STL che mappa il valore del voxel su se stesso.

