Miglioramenti e correzioni in MOD3D versione 2.0
La nuova versione di MOD3D contiene molti miglioramenti e nuove
funzionalità, correzione di problemi presenti nella versione
precedente e miglioramenti interni al codice che ne hanno migliorato le
performances e la manutenibilità.
Per vedere benefici derivanti dal nuovo trattamento della calibrazione delle camere e della
distorsione delle lenti bisogna caricare le vecchie sessioni, rieseguire la calibrazione delle
camere e salvare di nuovo la sessione.
Avvertenza
Una avvertenza doverosa riguarda i valori numerici calcolati in questa versione. Sono cambiate
le librerie di calcolo e svariati algoritmi: è quindi da prevedere una variazione dei
valori calcolati, variazione che, si spera, dovrebbe tendere verso valori più precisi.
Nuove funzionalità
- Il salvataggio di una sessione parte con lo stesso nome della eventuale sessione
caricata.
- Aggiunto il supporto alla precalibrazione della camera sia per i parametri intrinseci, sia
per la distorsione delle lenti.
- Aggiunta la correzione della distorsione radiale delle lenti in tutti i punti in cui si
utilizzano punti marcati sulle immagini.
- Aggiunte le coordinate del centro di proiezione nella finestra dei dettagli parametri
camere.
- Le sessioni sono salvate in formato binario con tutte le variabili a precisione piena.
È stata mantenuta la compatibilità in lettura con i file di sessione ASCII della
versione precedente.
- Cambiato colore labels oggetti e punti nelle immagini.
- Eliminato nel calcolo dei parametri della camera il tasto "Rimuovi" e sostituito con una
funzione di undo.
- Cambiato metodo di compressione dei file TIFF generati, ora i files di immagine salvati
sono molto più piccoli.
- Nelle viste 3D ci si può muovere anche utilizzando Shift (Scale), Ctrl (Pan), Alt (Z
transl) assieme al bottone sinistro del mouse. È stata anche aggiornata la pagina di
help riguardante l'uso del mouse nelle viste.
- Vari miglioramenti all'usabilità dell'interfaccia utente (gestione abilitazione
bottoni, messaggi esplicativi).
- Aggiunta funzionalità di import dei punti del terreno da un'altra sessione.
- Aggiunto il calcolo della superficie degli oggetti, sia quella totale che quella sporgente
dal terreno. Cambiato anche l'algoritmo di calcolo del volume e creazione della superficie per
la visualizzazione. È così migliorata la qualità e la velocità
della visualizzazione.
- Fissate le dimensioni iniziali della finestra a 1024 x 768 (comunque modificabile nel file
setup_data.v). Aggiornati i prerequisiti nella guida di installazione.
- Nella visualizzazione della scena completa è possibile ora rendere invisibile
l'oggetto di riferimento.
- Fissate le dimensioni delle finestre 2D affinché non interferiscano con il pannello
sul lato destro. Fissata la dimensione di campi e titoli. Corretti i troncamenti che avvenivano
utilizzando caratteri grandi.
- Eliminata la gestione di più di un oggetto di riferimento. Se presenti nel file di
sessione, solo il primo viene considerato.
- Aggiunta scrollbar alle finestre di dettaglio.
- Cambiata la procedura di lancio della raffinazione globale affinché non blocchi il
funzionamento di tutta l'applicazione. Il calcolo continua anche se si esce da MOD3D. Eliminato
il parametro massimo numero di iterazioni. Aggiunto un toggle per impedire la modifica dei
parametri delle camere se si utilizzano camere corrette (calibrate offline).
- Aggiunto nella sessione l'indicatore di sessione già raffinata.
- Aggiornato l'help. Aggiunta spiegazione del Taubin Smoothing. Aggiornati i credits per
CDDlib, Lapack, MKL, OpenCV.
- Varie modifiche al rendering degli oggetti grafici per migliorare velocità e
qualità. In particolare: corretto texture mapping oggetto di riferimento, ora è
molto più veloce e di migliore qualità; aggiunto cull mode "Front" ad oggetto di
riferimento; cambiato surface conversion mode a "None", tranne che per le superfici degli
oggetti e l'oggetto di riferimento.
- Aggiunta una finestra dopo la raffinazione parametri per verificare i dettagli numerici del
calcolo.
- Istanziati fin da subito alcuni pannelli cercando un compromesso fra tempo di caricamento
dell'applicazione e velocità di lavoro.
- La griglia di riferimento sul suolo è stata resa più visibile. Due nuovi
parametri di controllo sono stati aggiunti a setup_data.v.
Problemi risolti
- Nella pagina Estrazione Contorni ora vengono inattivate correttamente le opzioni di draw
quando è disabilitata la modifica dei contorni.
- Risolto il problema della ImageCache che parte due volte per ogni immagine.
- Corretto errore in VolumeReconstruction. La routine continuava anche se non riusciva ad
allocare la memoria necessaria. Questo provocava un crash nell'abilitazione/disabilitazione di
oggetti per la ricostruzione.
- Corretto bug in cancellazione contorni con punti visibili. Prima non aggiornava i punti.
Aggiunto il pezzo di codice mancante a ContourManager.cxx .
- Corretti i file demo (problemi di assegnazione di contorni ai corrispondenti oggetti).
- Risolto il problema con i nomi dei punti del terreno che iniziano con una cifra.
- Corretto il salvataggio nel file di sessione dei punti del terreno. Prima salvava anche
punti non calcolati.
- Corretto baco nella routine multistart per l'ottimizzazione globale: in alcuni casi non
produceva un nuovo punto di partenza valido.
- Corretti i problemi di partenza dell'esecuzione dei filtri quando viene aperta la finestra
di editing per la prima volta.
- Corretta la forma del terreno nella visualizzazione dei risultati per il singolo oggetto.
Ora è effettivamente il pezzo di terreno calcolato, non una grezza approssimazione come
era prima.
Miglioramenti interni
- Le routine matematiche ora utilizzano MKL 5.1 ed è stata eliminata la libreria
esterna LAPACK. Corrette anche le convenzioni di chiamata alle routine matematiche: ora sono
correttamente utilizzate quelle del C.
- Nei punti in cui viene utilizzata la routine di minimizzazione di Minpack, è stata
eliminata la chiamata a dpmpar() per la lettura della precisione della macchina e sostituita
con la costante DBL_EPSILON.
- Si è passati alla versione più aggiornata della libreria CDDlib, risolvendo
così un problema di corruzione della memoria. Corretto anche un errore nel trattamento
del valore di ritorno.
- Il progetto è stato migrato ad Express 6.1.
- Tolto status update.
- Rimossi i kit di Express non utilizzati.
- Nella routine SVD sono stati implementati i modi che generano solo U e solo V.
- Corretta una incongruenza nell'uso del valore che segnala i valori mancanti nelle liste di
coordinate.
- Eliminato codice non utilizzato in BBoxReconstruction.
- Eliminato errore nella chiamata a ERRerror() e ERRverror().
- Corretta la generazione del file express.mk nella procedura di rigenerazione del
progetto.
- Aggiunte in data_setup.v tutte le variabili interne in modo da poterle modificare senza
dover rigenerare l'applicazione.
- Creata una versione semplificata di vari oggetti V (generazione immagini B&W).
- Il valore della dimensione della cache per gli oggetti ricostruiti è stata resa
settabile.
- Corretto modulo OutputTIFF: tolto del codice inutile.
- Ridotto ad un terzo la memoria necessaria per la visualizzazione di immagini B&W.
- Ottimizzato il codice del modulo ImageCache.
- Verificata la compilazione sotto Linux. Corretti alcuni errori di linguaggio.
- Eliminata la doppia copia di routine SVD e correzione del baco nel caricamento della
scena.
- Aggiunta l'opzione di compilazione /GF (string pooling in readonly memory).
- Varie modifiche al codice per migliorarne la manutenibilità e le prestazioni.
Torna alla pagina iniziale