Fusion Engineering and Design 74 (2005) 909–915
The integrated visualisation software for the ITER in vessel viewing system (IVVS) M. Riva a,∗ , C. Neri a , F. Bonaccorso b , F. Massaioli b a
Associazione Euratom-ENEA sulla Fusione, C.R. Frascati, 00044 Frascati, Rome, Italy b Consorzio CASPUR, Rome, Italy Available online 26 July 2005
Abstract The amplitude-modulated in vessel viewing system (IVVS), developed by ENEA for the ITER machine, is a versatile apparatus capable to scan the internal of a vessel and acquire amplitude and range data of a quasi-spherical field of view. By coupling the two images, we obtain a true 3D image of the scene, with a sub-millimetre range precision for each point scanned in the range 2–7 m. In this article, we present the integrated software system we have developed in ENEA Frascati, in collaboration with the CASPUR Consortium. This package allows driving the image acquisition and rendering the acquired image in a 2D and/or 3D framework and comparing portions of image with a sample data to highlight differences. © 2005 Elsevier B.V. All rights reserved. Keywords: Optical radar; 3D scanner; Lua; In vessel visualisation
1. System review Since 1998, ENEA has worked, in the framework of European Fusion Development Agreement (EFDA) activity, on scanning systems for the internal vessel of tokamak fusion machines, taking particular care to the severe constraints due to high vacuum, high magnetic field, high temperature and radiation of the future reactors, where tritium will be used and a large production of neutron and gamma rays are expected. The first ∗
Corresponding author. Tel.: +39 06 94005467; fax: +39 06 94005734. E-mail address:
[email protected] (M. Riva). 0920-3796/$ – see front matter © 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.fusengdes.2005.06.194
working device was developed for JET machine [1–3], using an amplitude-modulated laser with a mechanical system to move the laser beam along a spherical view of a vessel side. The present ITER in vessel viewing system (IVVS) is a compact version of the previous system with a series of improvements in mechanical, electronic and visualisation software.
2. Hardware description The IVVS optical scheme is shown in Fig. 1. A coherent single mode laser is modulated and transmitted to the target via a rotating prism. The prism
910
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
Fig. 1. IVVS optical scheme.
rotates along its barycentre (tilt) and along the device axis (pan), allowing the complete scene scanning. The backscattered light coming from the target along with the same path is detected by a large aperture optical receiver and the RADAR electronic equipment [5] performs the digital signal demodulation, producing two output signals: the amplitude, proportional to the amount of backscattered light, and the phase, related to the phase shift between incoming and the backscattered light. These two signals and other information related
to the tilt and pan positions of the prism are stored on a silicon graphics workstation, where the integrated visualisation software resides. In Fig. 2 we can see a laboratory image with the IVVS.
3. Visualisation software characteristics The visualisation code has now integrated two capabilities, the acquisition control and the data visualisa-
Fig. 2. IVVS image in laboratory.
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
911
Fig. 3. Software decomposition of the integrated software.
tion. Searching a solution to have, as a goal the configurability and extendibility in a simple environment, we have chosen a scripting language as glue for the various functionalities. This simplifies the creation of new
combination of the core functions allowing their execution, when useful. Particular care has been devoted to design graphical interfaces for all the operations, and also in logging the operations for monitoring.
Fig. 4. IVVS graphic interface to set up acquisition parameters and drive motors.
912
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
The scripting language chosen has been “Lua”, a powerful tool developed by Tecgraf in Brazil [6]. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, interpreted from byte codes, and has automatic memory management with garbage collection, making it ideal for configuration, scripting and rapid prototyping. The visualisation core functionalities have been written in C/C++, to reach the better performances in data elaboration and visualisation. Fig. 3 shows the decomposition of the various functionalities. In the outer box we have the Lua side, where the main functionalities are the graphical user interface (GUI) management, the logging capabilities and various statistics on the images. The middle box represents the C/C++ core, where we perform data decoding, data compression, image filtering and 2D/3D views (both planar and spherical). The inner box is formed by the libraries we use in the code. In particular, we
use the OpenGL graphic library, the IVVS driver API (to move motors and acquire data from the hardware, developed in collaboration with the Portuguese Istituto Superior Tecnico (IST) [4]) and the C standard library. To highlight the software characteristics, we describe briefly the main points. 3.1. Data acquisition This version of IVVS visualisation software is capable of controlling the acquisition, which can be several GigaBytes of data, without the need of using other tools. Based on the software library provided by the IST, which has developed the VME control and acquisition system, the software guides the operation through a graphical user interface, excluding the need for remembering hardware related parameters. Fig. 4 shows a picture of one of the various interfaces for driving the acquisition.
Fig. 5. Example of a filtering session with various 2D/3D windows opened.
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
3.2. Preview It is possible to require a preview of the acquisition while it is in progress. This is a low priority task, interruptible in the event of data loss risk and is obtained by downsizing the data and showing amplitude and phase in a graphical window. 3.3. Filters The 2D viewers have the ability to filter the data, to help distinguishing features. There are a number of built-in filters: equalisation, LUT remapping, apply thresholds and convolution with N × N matrix kernels. They are level of detail aware, so they tend to minimise the data they operate on, to speedup the computation. In Fig. 5, we can see a screenshot of a filtering session. We selected an area from a 2D viewer and we displayed the 3D vision of the previous area, mixing the amplitude and phase data. Then, we
913
applied a filter to reduce the range noise. Besides the basic ones, there is the choice of defining new one using the scripting language, the data will be available to Lua as a stream of numbers that can be manipulated using intrinsic functions. 3.4. Exporting data The IVVS visualisation software can export to common graphic format (TGA, PNG), the images displayed on the screen. There is also the choice of exporting in raw binary data, preserving the entire range offered by IVVS, superior to the 8 bits per colour of ordinary graphic formats. 3.5. Comparing data The software can also show how the current reconstructed model compares with a previous one (a refer-
Fig. 6. Graphical interface to set up parameters for realign the CAD with the acquisition.
914
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
ence one from CAD data or from another acquisition); visual clues (red colour in region of major problems) help distinguish zones of potential erosion. The visual analysis can always be completed by numerical information; the user can select a zone to obtain the corresponding values. 4. Performances The combination Lua/C/C++ has allowed writing a portable code across different platform. In particular, the present IVVS visualisation software runs on Silicon Graphics machines equipped with IRIX operating system and on linux machines. The machines are an SGI Octane (2 × 400 MHz R12000 CPU), an SGI O2 (1 × 270 MHz R12000 CPU) and a Pentium 4 running at 2.6 GHz clock laptop. A performance test, to measure the maximum data rate sustainable from each machine has shown the following results:
SGI O2L: 1.75 Mbytes/s SGI Octane: 4.00 Mbytes/s Intel P4: 8.00 Mbytes/s Taking into account the maximum data throughput from the acquisition side, i.e. 2 Mbytes/s at 100 KHz pixel rate, we can easily deduce that with the laptop P4 we largely fit the requirements, especially in view of future expansions in terms of data rate and cost reduction.
5. Comparisons and main results One of the main results of this version of the visualisation software is the possibility to compare a portion of an acquired image with a simple CAD version of the same image portion. To allow this feature, it has been developed a complex realignment code for taking into account the possible different insertion points of the probe. At this stage, a three point solution is used.
Fig. 7. Example of superposition between part of the acquisition and the CAD counterpart.
M. Riva et al. / Fusion Engineering and Design 74 (2005) 909–915
A more precise solution based on least square method is under study. From the user point of view, the software presents a 2D/3D view of the two images (see Fig. 6), where the user must choose three reference points in both the images. The software calculates a matrix, to be applied to the acquired image for realigning the images. The final result, where the two images are superposed is shown in Fig. 7. The coloured points in the image are the points chosen by the user. Under study, there are several different kinds of superposition for better appreciate differences. Another important feature is the capability to produce STereoLitographic (STL) files of the 3D image portion under investigation. Given this file, we can build a solid 3D copy of the image on screen. This can be very useful in case of presentation or meetings to show solid views of different parts of the internal of the vessel.
6. Conclusion and future work We presented the integrated visualisation software for the IVVS system. Now we have a single framework to acquire the images, view the image during the acquisition while the system creates all the internal visualisation structures, filter images with built-in and user code, export in generally readable formats, produce STL files from a 3D image on screen and eventually compare images portions with simple counterpart CAD images.
915
As future work, we aim to speed up the image acquisition and elaboration, working in mechanical improvement, in designing new more powerful RADAR electronic (actually in development in our laboratories) and in redesigning a more compact system. Other important improvements will be importing structures from a standard CAD and realise an immersive vision tool to allow a virtual fly-through of the internal of the vessel.
References [1] L. Bartolini, A. Coletti, M. Ferri de Collibus, G. Fornetti, C. Neri, M. Riva, et al., Amplitude-modulated laser in vessel viewing system (LIVVS) for JET/ITER, in: 20th Symposium on Fusion Technology, vols. 685–688, Marseille, France, September 7–11, 1998. [2] L. Bartolini, A. Coletti, M. Ferri de Collibus, G. Fornetti, C. Neri, M. Riva, et al., Laser vision sensor for in vessel inspection of fusion reactor, in: LASER 99, Monaco, June 14–18, 1999. [3] M. Riva, et al., Laser viewing system for in vessel inspection and control in large fusion machines (JET and ITER), in: International Conference on Accellerator and Large Experimental Physics Control System, Trieste, Italy, 1999, pp. 202–204. [4] R.C. Pereira, C. Correia, N. Cruz, C. Neri, M. Riva, C.A.F. Varandas, The control and data acquisition system of a laser in vessel viewing system, Fusion Eng. Des. 48 (2000) 205–212. [5] C. Neri, L. Bartolini, A. Coletti, M. Ferri de Collibus, G. Fornetti, S. Lupini, et al., Advanced digital processing for amplitude and range determination in optical RADAR systems, IEEE trans. Nucl. Sci. 45 (April (2)) (2002) 417–422. [6] R. Ierusalimschy, L.H. de Figueiredo, W. Celes, The evolution of an extension language: a history of Lua, in: Proceedings of V Brazilian Symposium on Programming Languages, 2001, pp. B-14–B-28.