Download - TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

Transcript
Page 1: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

Issue 24 •

Editor's Note ............................................................................... 1

Recent Releases ......................................................................... 1

Getting Started with MAP-Tk for Aerial Photogrammetry ....... 2

SALOME: An Open-source Simulation Platform Integrating ParaView .................................................................. 6

Kitware News .............................................................................. 9

CMAKE 3.5 RELEASEDThe 3.5 release introduced a new platform file to increase the compatibility of CMake with the Cray Linux Environment (CLE). This file allows CMake to cross-compile code in the CLE to target compute nodes. The release also enabled CMake to build and install combined targets for embedded Apple platforms. Now, users can create applications that run on iOS devices as well as on simulators.

Through additional updates, the suite of tools gained a variable that lets the CPackDMG module specify an AppleScript file that runs to tailor the appearance of the DragNDrop installer folder. With the variable, it is feasible to set the background image of the folder using a Portable Networks Graphics (PNG) file or a multi-resolution Tagged Image File Format (TIFF) file.

The 3.5 release also created a more uniform build process. To realize this feat, the CMake development team converted the precompiled Windows binary file for downloading CMake from an installer executable to a Microsoft Installer (MSI) package. The MSI package makes it easier to reinstall CMake by implementing incremental fixes. The package also optimizes support for system administrators.

Throughout the software industry, projects including Ultrascale Visualization Climate Data Analysis Tools (UV-CDAT) leverage CMake. UV-CDAT generated the following image using the Climate Forecast System Reanalysis model from National Oceanic and Atmospheric Administration.

This image courtesy of Jerry Potter (Department of Energy) and Thomas

Maxwell (NASA) shows atmospheric precipitable water in white.

TABLE OF CONTENTS RECENT RELEASES

Issue 37 • April 2016

Spring is in the air at Kitware, and new opportunities are budding! As we continue to take on projects that shape the future of open-source software, we look to grow our team. We currently have job openings for a variety of positions including business development representative, software developer, and recruiter. We also have internship opportunities in computer vision research and Web-based bioinformatics. By joining our experts to create and deliver cutting-edge products and services, you can take part in work that truly makes a difference on a global scale.

We are happy to meet and discuss our job and internship availablilities at one of the many events we attend this season. Our new external blog (https://blog.kitware.com) provides details on these events. We are also enthusiastic to explore different avenues to drive innovation and promote scientific discovery. If you see us at a meeting, conference, symposium, or workshop, reach out to us to learn how we can collaborate to build advanced solutions. We look forward to finding out how we can work together to change the world!

EDITOR'S NOTE

Page 2: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

2

VTK 7.0 RELEASEDKitware released the Visualization Toolkit (VTK) 7.0 and accompanied the release with a live webinar. During the webinar, David DeMarle, a lead developer of VTK at Kitware, discussed the new default OpenGL backend that allows VTK to render larger and more complex visualizations with mil-lions of primitives. The updated backend also increases speed as much as 350 times, reduces the system memory footprint, and provides fluid interaction and instantaneous feedback when drawing complex models, performing molecular and volume rendering, and rendering within immersive environments. A recording of the webinar is available on http://www.vtk.org/webinars.

Development on the new OpenGL backend began in 2014. The VTK team focused on enhancing rendering performance and increasing the compatibility of the toolkit with mobile operating systems such as iOS and Android. In particular, Kitware collaborated with NVIDIA on Embedded-System Graphics Library (EGL) rendering compatibility and with Intel on OpenSWR and OSPRay efforts. The resulting enhanced capability of the new VTK backend has already benefited ParaView, Tomviz, and Computational Model Builder. An upcoming release of 3D Slicer will benefit from the backend as well.

As noted in the webinar, more than 70 community members participated in the 7.0 release. Thanks primarily to the work of longtime contributor David Gobbi, VTK became compat-ible with Python 3. Other work introduced algorithms based on Flying Edges to cut contour extraction times for large meshes from minutes down into the sub-second range.

For more details on VTK and to download the latest release, please visit http://www.vtk.org.

GIRDER 1.5 RELEASEDThe 1.5 release improved the testing infrastructure of Girder to make it easier to develop and test downstream external plug-ins. In addition to the improved infrastructure, the release made several introductions. A new plug-in down-loads files by their checksums, and a new decorator acts on the return value of a Representational State Transfer (REST) endpoint to filter all returned models based on user identity.

For the core Web client, the release launched a timeline widget, which displays chronological events and time spans. Other new widgets offer capabilities for selecting specific dates and date ranges. The release also added support to existing widgets. With enhanced support, the search field widget and backend now search for resources by prefix.

Girder is an open-source, web-based platform for man-aging Big Data. It is part of the Resonant environment. To learn more about Girder and Resonant, please visit http://resonant.kitware.com. To download Girder 1.5, go to https://pypi.python.org/pypi/girder.

GETTING STARTED WITH MAP-TK FOR AERIAL PHOTOGRAMMETRYMatt Leotta (Kitware)

A recent “Kitware Source” article [1] introduced the Kitware Image and Video Exploitation and Retrieval (KWIVER) tookit. KWIVER is a collection of open-source computer vision soft-ware tools for video analytics. This article goes into depth on one of the components of KWIVER: Motion-imagery Aerial Photogrammetry Toolkit (MAP-Tk) [2].

MAP-Tk provides tools that estimate camera parameters and three-dimensional (3D) measurements in video. Specifically, the tools estimate camera poses (e.g., position and orien-tation), camera intrinsic parameters (e.g., focal length and radial distortion), and sparse 3D point clouds of landmarks in scenes. Computer vision literature refers to such estimation as structure from motion (SfM). In addition to SfM, MAP-Tk offers image stabilization for use in other parts of KWIVER such as the moving object tracker.

MAP-Tk has similar goals to other open-source SfM software such as Bundler [3], VisualSfM [4], and OpenMVG [5]. While most other systems concentrate on unordered collections of photographs, MAP-Tk exploits temporal order and continu-ity in video. In particular, MAP-Tk focuses on aerial video and its unique challenges and opportunities.

MAP-Tk provides a C++ application programming interface (API), command-line interface (CLI) tools, and a graphi-cal user interface (GUI) application. Kitware offers all of these components under a permissive Berkeley Software Distribution (BSD) license with commercial support.

The framework of MAP-Tk is highly modular. It uses plug-ins and configuration files to combine and configure different algorithmic components at runtime. The core of MAP-Tk has minimal dependencies, but the plug-ins bring in established algorithms from other open-source toolkits like Ceres Solver [6], OpenCV [7], and VXL [8]. The MAP-Tk development team recently factored out the core framework and moved it into Vital [9], a new repository, for better reuse across KWIVER tools. For more details on the architecture and algorithms of MAP-Tk, please see the paper “Open Source Structure-from-Motion for Aerial Video” [10].

The remainder of this article steps through some examples to demonstrate how to start using MAP-Tk. The software, sample data, and configuration files are all available for download.

Page 3: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

3

Matt Leotta (Kitware)

MAP-TK INSTALLATIONThe MAP-Tk source code is available on GitHub [2]. One option to build the source code on Windows, Mac OS X, or Linux is to use CMake. The easiest way to try out the soft-ware, however, is to grab one of the binary packages for the latest release. Examples in this article use the MAP-Tk 0.8.0 release. Binary packages of this release are available at https://github.com/Kitware/maptk/releases/tag/v0.8.0.

The binary packages prominently feature the GUI application MapGUI and include CLI tools. In the current release, the GUI can visualize results from the CLI tools. For now, the GUI only runs a subset of the computational pipeline; the CLI tools do the rest. The binary package for a Windows installation stores the CLI tools in C:\Program Files\MAP-Tk 0.8.0\bin. The binary package for a Mac OS X installation stores the tools in /Applications/MAP-Tk.app/Contents/bin, and the binary package for a Linux installation stores the tools in /usr/local/bin (assuming default install paths).

The following examples work through an end-to-end pipe-line using two of the tools: maptk_track_features and maptk_bundle_adjust_tracks.

Note: MAP-Tk loads plug-ins and configurations files dynam-ically at run time. Relative to the above bin paths, it installs these files in ../lib/maptk and ../share/maptk/0.8.0/config, respectively. In a standard install, MAP-Tk finds these files automatically. Environment variables KWIVER_PLUGIN_PATH and KWIVER_CONFIG_PATH will extend the search paths, if needed.

TEST DATAThe KWIVER website contains downloadable data for fol-lowing along with the examples discussed in this article on http://www.kwiver.org/TestData. This article covers two data sets. The first, kwiver_fmv_set_1, is the same full-motion video (FMV) sample from the “Kitware Source” article on KWIVER [1]. The second, kwiver_wami_set_1, is a down-sampled excerpt of the Columbus Large Image Format (CLIF) 2007 data set from Air Force Research Laboratory (AFRL) [11].

The examples directory in MAP-Tk contains the configura-tion files that correspond to both data sets. These data sets provide videos as sequences of image files (Joint Photographic Experts Group (JPEG) or Portable Network Graphics (PNG)). MAP-Tk currently requires image sequences, but future releases will handle video files directly. One way to obtain a sequence of images from a video file is to use FFmpeg [12].

FEATURE TRACKINGThe first step in the SfM pipeline is to track image features. A feature is the two-dimensional (2D) image coordinates of a distinguishable scene location that appears repeatedly across images. A feature track is the association of a feature across multiple images. Each feature track has the potential to become a 3D landmark during bundle adjustment, which is the second step in the pipeline.

Running maptk_track_features with a configuration file such as the following computes the feature tracks:

maptk_track_features -c my_track.conf

The configuration file specifies the input and output files, the selection of algorithms from the plug-ins, and the parameters to the algorithms. The main configuration file can include other configuration files. This allows for the utilization of reusable files that contain the default configu-ration for each algorithm. In this case, the configuration files for feature tracking are the same for both data sets. They use Speeded Up Robust Features (SURF) detection and matching from the OpenCV plug-in with homography-guided feature matching and loop closure from Kitware [10].

While the default parameters work reasonably well out of the box, other data sets may need some parameter tuning. One commonly tuned parameter is feature detection sen-sitivity, which controls the number of features a detector tracks. For the OpenCV SURF detector, this parameter is detector:Feature2D.SURF:hessianThreshold.

The value 1000 suffices for these examples, but it may be too high or low for other imagery with different resolutions or contrasts. In general, adjusting the threshold to produce around 500 to 1000 features works well.

The key input/output parameters for the maptk_track_ features tool are image_list_file and output_track_file. The former points to a text file that lists paths to all images that the feature tracker will process. The latter points to a text file that will contain the computed tracks. Optionally, specifying output_homography_file provides a homography sequence for use in video stabilization applica-tions. Figure 1 displays the outcome of feature tracking on kwiver_fmv_set_1.

Page 4: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

4

Figure 1: Feature tracking results for kwiver_fmv_set_1. The

green points show feature tracks on this frame, and the red curves

show feature motion over recent history.

BUNDLE ADJUSTMENTThe second step in the SfM pipeline is bundle adjustment. This step optimizes both camera and 3D landmark parame-ters. The CLI tool maptk_bundle_adjust_tracks takes the feature track output from the previous step and estimates the cameras and 3D landmarks. This tool can optionally take in metadata as additional input (e.g., from the Global Positioning System and Inertial Measurement Unit systems). MAP-Tk currently supports reading and writing metadata in the POS format that the CLIF data [11] provides. Future releases will handle other metadata formats.

Running the maptk_bundle_adjust_tracks tool follows the same pattern:

maptk_bundle_adjust_tracks -c my_bundle_adjust.conf

This time, however, the configuration is a little different between the two data sets. For example, some of the config-uration options provide base camera parameters, which are the initial values for the intrinsic parameters for the camera (e.g., focal length, principal point, etc.). These parameters differ between the data sets. Furthermore, the CLIF example uses metadata for initialization, whereas the FMV example configuration does not use any metadata. Instead, the FMV example bootstraps the camera locations from the imagery incrementally using essential matrix estimation from the VXL plug-in [8]. The FMV data also has a higher frame rate and is more redundant than the CLIF 2007 data. Therefore, the configuration file for this data enables a hierarchical bundle adjustment approach [10].

Configuration files for both sample data sets use the Ceres Solver [6] plug-in to perform the bundle adjustment itself. There are numerous parameters to the Ceres Solver to adjust. Based on the configuration in the examples, the Ceres Solver plug-in estimates a shared focal length across all the frames, ignores radial distortion, uses a Cauchy robust loss function, and utilizes an iterative Schur linear solver with Schur-Jacobi preconditioning. Numerous configurable parameters deter-

mine termination conditions and control which solver to use and which parameters to estimate. Figure 2 presents the output of the bundle adjustment for kwiver_fmv_set_1.

Figure 2: Bundle adjustment results for kwiver_fmv_set_1. The

red curve shows the camera path, the green points depict the 3D

landmarks near a ground plane (the grid), the magenta outlines

the active camera frustum, and the gray shows frustums at all

other frames.

VISUALIZATIONMapGUI provides a graphical tool for visualizing the outputs of MAP-Tk. Qt serves as the foundation for MapGUI, and the Visualization Toolkit (VTK) furnishes the visualization. As shown in Figure 3, MapGUI has a main World View with dockable Camera View and Camera Selection panes.

Figure 3: Results for kwiver_wami_set_1 in MapGUI.

The World View displays the cameras, landmarks, and ground plane in a 3D viewer. It highlights one active camera and projects the corresponding video frame onto the ground plane. The Camera View shows the same active video frame in a 2D viewer. The viewer displays the features, tracks, pro-jected 3D landmarks, and bundle adjustment residuals on top of the video frame. The tools at the top of each view can resize, re-color, or hide rendered components.

The Camera Selection pane selects the active frame with a slider that scrubs through the frames. It also allows for play-back of a video at various speeds.

Page 5: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

5

The easiest way to view MAP-Tk results in the GUI is to use File->Open in the menu, and select the same configura-tion file that the CLI tools received. The MapGUI application will load the input and output files that the configuration file specifies. The maptk_bundle_adjust_tracks con-figuration file refers to all the data that the GUI can display. Another option is to open a configuration file for maptk_track_features, but this will only show the feature tracking results.

In the current release, the MAP-Tk GUI has limited algorith-mic capability. It can run bundle adjustment to optimize the data it loads, but it cannot yet create any new features, tracks, landmarks, or cameras. The release does provide a few other spatial transformations. For example, when using metadata in the bundle adjustment tool, the landmarks may not align with the ground plane. The Compute->Align option transforms the solution to best align with the ground plane and rescales the solution to unit variance. Figure 3 applies this operation and makes the projection of images onto the ground plane more stable. After Compute->Align rescales the data, the Reset View tool adapts the World View to the new scale.

Finally, the View->Match Matrix option (shortcut key “M”) brings up a window that graphically summarizes the number of pairwise feature tracks that persist between each pair of frames. The match matrix helps to assess the quality of the feature tracking results, especially with regard to loop closures. Numerous options are available to adjust this visualization.

Figure 4 shows an example of the match matrix visualization for the CLIF 2007 data. The main diagonal band in the match matrix measures the sequential frame-to-frame tracks, while the off-diagonal bands indicate loop closures, as the sensor revisits the same location on subsequent orbits and re-identifies old tracks.

Figure 4: Match matrix for kwiver_wami_set_1 in the

MAP-Tk GUI.

CONCLUSIONSMAP-Tk is an open-source toolkit and application that provides SfM for aerial video. The software is still in early development, but it already produces useful results on dif-ferent types of video. MAP-Tk provides a flexible software

architecture with dynamic plug-ins. The broader KWIVER collection of tools now shares these plug-ins to make it easy to experiment with new combinations of algorithms.

Kitware encourages community involvement in MAP-Tk. Community members can run MAP-Tk on additional data and discuss experiences on the KWIVER users’ mailing list [13]. Kitware also welcomes members to report issues and make pull requests.

ACKNOWLEDGEMENTSThank you to AFRL/Sensors Directorate for the support of this work via Small Business Innovation Research (SBIR) Contract FA8650-14-C-1820.

REFERENCES[1] Fieldhouse, Keith. “KWIVER: An End-to-End Video Analytics

Toolkit.” Kitware Source, January 20, 2016. https://blog.kitware.com/kwiver-an-end-to-end-video-analytics-toolkit.

[2] GitHub, Inc. “Kitware / maptk.” https://github.com/Kitware/maptk.

[3] Snavely, Noah. “Bundler: Structure from Motion (SfM) for Unordered Image Collections” http://www.cs.cornell.edu/~snavely/bundler.

[4] Wu, Changchang. “VisualSFM : A Visual Structure from Motion System.” http://ccwu.me/vsfm.

[5] Moulon, Pierre. “openMVG: 'open Multiple View Geometry.'” http://imagine.enpc.fr/~moulonp/openMVG.

[6] Google, Inc. “Ceres Solver.” http://ceres-solver.org.[7] Itseez. “OpenCV.” http://opencv.org.[8] GitHub, Inc. “VXL.” GitHub. https://github.com/vxl/vxl.[9] GitHub, Inc. “Kitware / vital.” https://github.com/Kitware/

vital.[10] Leotta, Matthew J., Smith, Eric, Dawkins, Matthew, and

Tunison, Paul. “Open Source Structure-from-Motion for Aerial Video.” Paper presented at WACV 2016: IEEE Winter Conference on Applications of Computer Vision, Lake Placid, New York, March 7-9, 2016.

[11] U.S. Air Force. “Columbus Large Image Format (CLIF) 2007 Dataset Overview.” https://www.sdms.afrl.af.mil/index.php?collection=clif2007.

[12] "FFmpeg." https://www.ffmpeg.org.[13] Kitware, Inc. "Mailing List." http://www.kwiver.org/

mailing-list.

Matt Leotta is a technical leader on the com-puter vision team at Kitware. He is the lead developer of MAP-Tk and serves as a princi-pal investigator on an AFRL SBIR award that funds MAP-Tk. Since joining Kitware in 2009, his research has focused on exploiting aerial

video. His work has emphasized camera calibration, video stabilization, 3D extraction, and super resolution.

Page 6: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

6

SALOME: AN OPEN-SOURCE SIMULATION PLATFORM INTEGRATING PARAVIEWAlejandro Ribés (EDF R&D), Adrien Bruneton (CEA), Anthony Geay (EDF R&D)

Over the last decade, improvements in computer hardware and software have significantly changed the capabilities of simulation technology. New computer power has resulted in the emergence of simulations that are more realistic (treating three-dimensional (3D) geometries instead of two-dimensional (2D) ones), more complex (taking multiphysics and multiscale modeling into account), and more meaning-ful (calculating the propagation of uncertainties). As a result, simulations produce larger data.

In 2001, the French Alternative Energies and Atomic Energy Commission (CEA) and Electricity of France (EDF) began developing an open-source software platform named SALOME that provides tools for building complex and inte-grated applications in the context of numerical simulations. SALOME makes it easy to plug in core numerical code, define and mesh problem geometry, define boundary conditions, run solvers on a supercomputer, visualize results, and analyze data. SALOME offers an integrated and coherent environ-ment for performing these actions.

By combining SALOME modules and services, it is possible to create applications that make scientific code easier to use. SALOME contains computer-aided design (CAD) modules and visualization tools. SALOME also contains tools that generate input/output files or produce meshes from CAD models. The only requirement to benefit from these tools is to write code to plug into the interface of a numerical solver (e.g., a finite element method solver for mechanical stress computations).

SALOME can deal with large numerical simulations like the ones found in multiphysics and/or parametric studies. For example, research and industrial studies performed by the CEA and EDF use SALOME in the fields of nuclear reactor physics, structural mechanics, thermal hydraulics, nuclear fuel physics, materials science, geology and waste manage-ment simulation, electromagnetism, and industrial radiation protection.

The CEA and EDF have built SALOME using a collaborative development approach. The platform is available under Lesser General Public License (LGPL) at http://www.salome-platform.org. SALOME is actively developed with the support of Open CASCADE. Recently, the SALOME development team integrated ParaView with the SALOME platform. The integration enables SALOME to benefit from the capability of ParaView to visualize large models. ParaView is currently the main visualization tool of the platform.

OVERVIEW OF SALOME PLATFORMSALOME uses two languages, Python and C++. The platform has two main parts, a kernel and a set of standard modules. The main functionalities of these parts are accessible by scripting languages and/or the graphical user interface (GUI). Accordingly, those with various levels of expertise can employ SALOME in different situations (e.g., batch mode and interactive mode).

User InterfaceThe platform provides an environment that covers a complete study, from defining the geometry with a CAD component to visualizing the results. SALOME couples different codes through a common data exchange model and a supervision and coupling tool. The platform systematically delivers two different modes for interacting with its components. The first mode contains a graphic interface and 3D graphic interac-tion capabilities based on Qt 5 and the Visualization Toolkit (VTK). The second mode contains a text interface based on the Python language. Both modes present the same set of functionalities, and SALOME offers easy shortcuts to switch from one mode to the other.

Embedded Components and Solver IntegrationAs a platform for numerical simulation, SALOME has a modular architecture. Additional Python or C++ com-mands or modules can extend this architecture. SALOME can also integrate Python, C++, C, or Fortran code ranging from legacy to state-of-the-art. Furthermore, SALOME has component wrapper generators to facilitate the process of integrating code.

Workflow SupervisionThe supervisor of the platform aids in defining and control-ling the execution of complex, interconnected, scientific applications on computer networks and clusters. SALOME can run these applications either interactively or in batch mode. Figure 1 shows an example workflow.

Mesh and Field ManagementSALOME relies on the Modèle d'Exchange de Données (MED), or the Model for Exchanging Data, format [4]. The MED format is an internal data model format, which describes meshes and fields stored as sequences of Hierarchical Data Format 5 (HDF5) structures.

The platform also takes distributed meshes into account, thus facilitating parallel computations. Moreover, the platform handles interpolations in order to manage different meshes, which it adapts to each simulation. This proves especially

Page 7: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

7

helpful when dealing with coupled simulations in which two different codes rely on two different spatial discretizations.

LARGE SIMULATIONS IN SALOME/PARAVIEWThe increasing need for multidisciplinary multi-run simula-tions represents a trend in various research and engineering domains. Fluid-structure interaction and thermal coupling are two examples. The software strategy at the CEA and EDF is to develop numerical solvers for their own domains, and then execute multi-domain simulations by coupling the existing solvers.

The SALOME platform provides a set of services for creating a simulation workflow that connects different units for com-putation and then executes the workflow on a distributed network of computers and/or high-performance comput-ing resources. Numerical simulations like the one shown in Figure 1 produce an increasingly large volume of data for analysis and visualization. Having an integrated environ-ment for managing this workflow offers real added value.

Furthermore, conducting a multi-run study involves repeating a simulation N times with one or several varying parameters and then performing some kind of statistical study. Consequently, the already large amount of data that a single simulation run produces multiplies by N. SALOME provides a complete simulation workbench for parametric studies and analyses based on tools such as OpenTURNS [3].

INTEGRATION OF PARAVIEWThe SALOME application integrates ParaView visualization capabilities in the form of a dedicated module. ParaView handles large data sets and efficiently integrates with a parallel/cluster-type environment. An example is the use of ParaView in a client/server mode, where a server deploys in a visualization cluster.

The integration of ParaView with the SALOME platform consists of the following:

• a reader for the simulation results based on the MED format [4], i.e., the standard exchange format of simula-tion data in the SALOME platform;

• additional ParaView filters to deal with specific visualiza-tions; and

• a modified ParaView architecture, which Kitware com-pleted in 2012 to better fit the integration.

The modified architecture allows ParaView servers to accept multi-client connections. In addition, it enables unique clients to connect to several servers. Ultimately, such developments will allow for more complex uses of the SALOME module (e.g., visualizing the results of a Python script as it runs).

Figure 2 shows an example use of ParaView inside the SALOME platform. In the figure, SALOME realizes a front-tracking computation with the computational fluid dynamics code Trio_U at the CEA (from the doctoral thesis of Benoit Mathieu). As depicted, a drop of fluid in free fall hits the surface of another rotating fluid. The figure exhibits both the streamlines (left) and the pressure isosurfaces (right).

Concerning large models [5], EDF research and develop-ment (R&D) uses visualization servers (parallel pvservers of ParaView) for SALOME on the graphic sub-cluster of its PORTHOS corporate supercomputer. PORTHOS ranked 123rd on the TOP500 list of the world’s most powerful super-computers in November 2014. It ranked 171st on the list in November 2015.

In 2013, Benjamin Lorendeau, Yvan Fournier, and Alejandro Ribés successfully performed a study on the use of in situ visualization techniques. The study integrated ParaView Catalyst with the computational fluid mechanics solver

Figure 1: Illustration of SALOME performing a complex multiphysics simulation.

Boundary temperature Power

Mechanics

Visualization

Thermics

MeshingGeometry

ElectromagnetismFluid mechanics

Interpolation

Interpolation

Solid temperature

Boundary temperature

InterpolationInterpolation

Page 8: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

8

Code_Saturne [6], which couples to the SALOME platform. The use of SALOME to provide generic in situ visualization techniques is an on-going project. This project will allow for the management of even larger amounts of data.

CONCLUSIONThis article briefly presents the visualization capabilities of the SALOME platform for numerical simulations. The visu-alization module of this platform integrates with ParaView. The platform deals with large volumes of data at simulation time. It can also handle such data for complex post-process-ing and/or visualization efforts.

REFERENCES[1] Open CASCADE. "SALOME: The Open Source Integration

Platform for Numerical Simulation." http://www.salome-platform.org.

[2] Ribes, André and Christian Caremoli. "Salome platform component model for numerical simulation." Proceedings COMPSAC 2007 2 (2007): 553-564.

[3] Airbus Group, Électricité de France, Ingénierie Mathématique et Calcul Scientifique, and PHIMECA. “OpenTURNS.” http://www.openturns.org.

[4] Open CASCADE. "Med." http://www.salome-platform.org/user-section/about/med.

[5] Ribes, Alejandro, and Adrien Bruneton. "Visualizing results in the SALOME platform for large numerical simulations: an integration of ParaView." Poster presented at the 4th IEEE Symposium on Large Data Analysis and Visualization, Paris, France, November 9–10, 2014.

[6] Lorendeau, Benjamin, Yvan Fournier, and Alejandro Ribes. "In-Situ visualization in fluid mechanics using Catalyst: a case study for Code Saturne." Paper presented at IEEE Symposium on Large Scale Data Analysis and Visualization (LDAV), Atlanta, Georgia, October 13-14, 2013.

Alejandro Ribés received his doctoral degree in image processing and signal treatment from École Nationale Supérieure des Télécommunications in Paris, France. After completing a postdoctoral position and lec-turing at different universities, he joined

EDF R&D in 2008. There, he works in scientific visualization and focuses on large numerical simulations.

Adrien Bruneton studied applied mathemat-ics and computer science in France. He worked for five years in the banking sector in London and then moved to Germany, where he worked on the design of freeform optics. Three years ago, he joined the CEA,

where he mainly concentrates on the development of the SALOME simulation platform.

Anthony Geay is a designer and developer of MEDCoupling, which is the SALOME tool for mesh/field handling; the engine of the MED reader plug-in, which ParaVis hosts; and YACS, which is the engine of the work-flow supervisor.

Figure 2: Post-processing of a diphasic simulation (two air bubbles in a liquid with a magnetic agitator).

Page 9: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

9

Hoogs co-organized the 2nd Workshop on Automated Analysis of Video Data for Wildlife Surveillance and served as one of the conference general chairs. The well-attended workshop offered insights into estimating wildlife popula-tions through algorithms and tools.

Leotta also shared expertise on video data in his presenta-tion on the paper “Open Source Structure-from-Motion for Aerial Video.” In particular, he detailed how software Kitware developed offers enhanced feature tracking, loop closure, and bundle adjustment capabilities. Leotta is an author of the paper along with Eric Smith, Ph.D.; Matthew Dawkins; and Paul Tunison.

Leotta presents a poster on the paper “Open Source Structure-

from-Motion for Aerial Video" at WACV.

GOOGLE SUMMER OF CODE SELECTS OPEN CHEMISTRY FOR PARTICIPATIONGoogle Summer of Code (GSoC) announced Open Chemistry as one of its 180 participating organizations for 2016. For the program, members of the Open Chemistry development team will guide students through the process of contribut-ing open-source code. Marcus Hanwell, a technical leader on the scientific computing team at Kitware, will serve as a mentor in this year’s program. Hanwell has previous expe-rience in the program not only as a mentor, but also as a student. In past years, he helped facilitate the participation of the Visualization Toolkit (VTK). VTK had a presence in the program in 2011, 2014, and 2015.

KITWARE TURNS 18On March 5, 2016, Kitware turned 18. Throughout its offices in New York, North Carolina, New Mexico, and France, team members took the opportunity to show their Kitware spirit and enjoy some green-and-blue treats.

Kitware team members celebrate with cupcakes

at company headquarters.

Five colleagues—Will Schroeder, Ken Martin, Lisa Avila, Charles Law, and Bill Hoffman—formed Kitware in 1998 around the Visualization Toolkit (VTK) and a commitment to practicing open source. Since this time, Kitware has grown to employ over 120 technical and administrative team members with expertise spanning high-performance computing and visualization, data and analytics, medical computing, com-puter vision, and software process, among other domains.

Kitware looks forward to many more years of providing open-source software solutions and working with collabora-tors to advance the state-of-the-art.

WACV EXPERTS WEIGH IN ON VIDEO ANALYSIS Members of the computer vision team at Kitware traveled to Lake Placid, New York, for the Institute of Electrical and Electronics Engineers (IEEE) Winter Conference on Applications of Computer Vision (WACV). The conference featured plenary speakers from world-class institutions; workshops on applications in surveillance and transporta-tion; and tutorials on deep learning and domain adaptation. Kitware increased its participation in the conference this year by exhibiting at and sponsoring the event.

Anthony Hoogs, Ph.D.; Matt Turek, Ph.D.; Arslan Basharat, Ph.D.; and Matt Leotta, Ph.D., represented Kitware at WACV.

KITWARE NEWS

Page 10: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

10

The Open Chemistry project employs cross-platform tools to advance the fields of computational chemistry and materi-als science. These tools include Avogadro 2 for editing and visualizing molecular data, MoleQueue for increasing access to computing resources from graphical applications, and MongoChem for storing collections of molecules. This year, GSoC project ideas for Open Chemistry aim to add support for biological data, representations, and visualizations in Avogadro 2; integrate cclib with Avogadro 2; and improve the performance of bond perception in Open Babel, which MongoChem utilizes for desktop cheminformatics.

LIST RECOGNIZES KITWARE AMONG TECH SERVICES COMPANIES“Albany Business Review” published its list of technology services companies, and Kitware made the top ten for a second consecutive year. The list organizes companies based on the number of full-time employees they staff locally. With over 75 team members in its Clifton Park, New York, head-quarters, Kitware ranked eighth.

Company-wide so far this year, Kitware has welcomed a Technical Leader, a research and development intern, and three research and development engineers. With plans for continued growth, Kitware is hiring for new technical and support positions, including ones located in the Capital Region of New York. Kitware attracts top talent by offering competitive benefits and many unique perks. One such perk is Wings Day—a monthly tradition at Kitware. For the March celebration, team members filled picnic tables outside of company headquarters to feast on a buffet of hot wings and other fried comfort foods.

Kitware team members enjoy an unseasonably warm day in

Upstate New York with wings, mozzarella sticks, jalapeno poppers,

and fried raviolis.

MICCAI APPOINTS KITWARE SENIOR LEADER TO BOARD OF DIRECTORSThe Medical Image Computing and Computer Assisted Intervention (MICCAI) Society named its new treasurer as

Stephen Aylward, Ph.D., who serves as senior director of medical research and senior director of operations in North Carolina at Kitware. Aylward is a prominent figure in the medical computing community. He has taken part in the annual international MICCAI conference since its inaugural year in 1998. In recent years, he has served on the MICCAI board of directors and on MICCAI program committees. Aylward has also actively participated in the conference by presenting papers, coordinating the Young Scientist Publication Impact Award, and co-organizing workshops. He will continue his involvement in the conference this year.

In addition to his appointment as treasurer of the MICCAI board of directors, Aylward is an associate editor of the Society of Photographic Instrumentation Engineers (SPIE) “Journal of Medical Imaging” and “IEEE Transactions on Medical Imaging.” He is also the treasurer of the Insight Software Consortium, an adjunct associate professor of com-puter science at the University of North Carolina at Chapel Hill, and an accomplished researcher. At Kitware, Aylward’s research efforts center on vascular image analysis, computer-aided diagnosis, and low-cost ultrasound applications. To learn about the current work of Aylward and his team, please read “Kitware: Leading-Edge Ultrasound Research” on the Kitware blog at https://blog.kitware.com/kitware-leading-edge-ultrasound-research.

NEW BLOG UNIFIES CONTENTKitware transitioned its external blog to WordPress on https://blog.kitware.com. The blog now integrates “Kitware Source” articles with company news and events. Along with a fresh look, the blog provides those outside of Kitware with the ability to author posts.

Following the transition of its blog, Kitware redesigned the index pages on the websites for CMake, ParaView, and the Visualization Toolkit (VTK), among others. The redesigned pages prominently feature content from the blog.

In "Adding Parametric Surfaces to ParaView," Andrew Maclean

describes how to access 21 parametric surfaces from the

Visualization Toolkit in ParaView.

Page 11: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

11

PROJECTS AIM TO BROADEN REACH OF OPEN-SOURCE SYSTEM FOR IMAGE ANALYSISKitware kicked off two National Library of Medicine (NLM) projects to increase synergy between Python and SimpleITK. The efforts to add support for Python in SimpleITK will improve performance and make the open-source, cross-platform system for image analysis easier to build, package, distribute, and install.

“Python is fundamental for open, transparent, and repro-ducible science,” Jean-Christophe Fillion-Robin, a research and development engineer at Kitware, said. “By adding support for Python, we aim to increase the use of SimpleITK in the scientific Python community.”

The projects seek to better integrate SimpleITK into the sci-entific Python ecosystem by enhancing SimpleITK packaging and data handling methods, respectively. To enhance pack-aging, Fillion-Robin is leading a team of experts at Kitware in developing an infrastructure that will permit the distribution of SimpleITK as a Python package. To make this distribution possible, the infrastructure will incorporate a new and reus-able Python build tool that will enhance the sustainability of SimpleITK and simplify its installation process.

“Those looking to use SimpleITK for the first time will no longer need advanced knowledge of complex C++ applica-tion development,” Fillion-Robin said. “This means that more members of the scientific Python community can take advantage of SimpleITK and its unique capabilities for pro-cessing large-scale images in two and three dimensions.”

To refine data handling methods in SimpleITK, an inter-disciplinary team from Kitware is working to bridge the system with Python libraries for handling images and arrays. Once completed, the effort will bolster the performance of SimpleITK scripts so that they transfer less data to and from the libraries to save time, decrease memory usage, and diminish the potential for performance bottleneck.

“SimpleITK can quickly develop scripts and full-scale applica-tions that leverage the power of the Insight Segmentation and Registration Toolkit (ITK) to ingest image data and perform segmentation and registration,” Patrick Reynolds, a research and development engineer and the leader of the SimpleITK data handling effort at Kitware, said. “Our work will better facilitate the adoption of these scripts and appli-cations into modern analytic workflows.”

SimpleITK is a simplified layer built on ITK. It provides an extensive suite of software tools for use in rapid prototyp-ing, education, and interpreted languages. To learn how to leverage SimpleITK and Kitware's software development services in fields such as high-performance visualization and medical computing, please contact [email protected].

This material is based upon work funded in whole by two awards from the National Library of Medicine totaling $140,250.

KITWARE RECEIVES TOP WORKPLACES HONORThe Albany "Times Union" included Kitware on its 2016 Top Workplaces list. The list named fifty companies in the Capital Region of New York. Kitware joined 24 other companies in the small employers category.

Kitware adds to its workplace recognitions with a 2016 Top

Workplaces award. Kitware has also made the "Inc." magazine and

Winning Workplaces list of Top Small Company Workplaces.

For consideration on the 2016 Top Workplaces list, Kitware participated in an employee feedback survey that WorkplaceDynamics, LLC, administered. The list of honorees appeared in an insert in the "Times Union" on April 10, 2016. Will Schroeder, president and CEO of Kitware, accepted the honor at a reception in Scotia, New York.

“We are proud to receive a Top Workplaces award and appreciate the opportunity to recognize our one-of-a-kind culture,” Schroeder said in a press release. “Our team members share a passion for a better future, and we nurture this passion inside and outside of our office walls. We par-ticipate in team charity runs, attend community events, and host activities ranging from technical lunches to wellness boot camps. These experiences bring us together to cel-ebrate the challenging yet rewarding work we do to build and support solutions that are used worldwide to further scientific discovery and accelerate technical innovation.”

To learn more about the award-winning culture at Kitware, please visit http://jobs.kitware.com. To read the full press release on the 2016 Top Workplaces list, go to the Kitware external blog.

NEW EMPLOYEESLouis AmoreLouis began an internship in Lyon, France. He attends Université Claude Bernard Lyon 1, where he specializes in computer science, image processing, three-dimensional ani-mation, computer vision, and advanced programming.

Alex BigelowAlex joined the Kitware team in Clifton Park, New York, as a research and development intern. In working toward his doctorate, he studies data management and analysis at the University of Utah, where he received a bachelor’s degree in computer science. He has experience as a research assistant for the Scientific Computing and Imaging (SCI) Institute at the university.

Page 12: TABLE OF CONTENTS RECENT RELEASES - The Kitware … · TABLE OF CONTENTS RECENT RELEASES ... license with commercial support. ... algorithms from other open-source toolkits like Ceres

12

Contributors: Lisa Avila, Adrien Bruneton, Anthony Geay, Matt Leotta, and Alejandro Ribés

Graphic Design: Steve Jordan

Editor: Sandy McKenzie

This work is licensed under an Attribution 4.0 International (CC BY 4.0) License.

Kitware, ParaView, CMake, KiwiViewer, and VolView are registered trademarks of Kitware, Inc. All other trademarks are property of their respective owners.

In addition to providing readers with updates on Kitware product development and news pertinent to the open source community, the "Kitware Source" delivers basic information on recent releases, upcoming changes, and technical articles related to Kitware open-source projects.

For an up-to-date list of Kitware projects and to learn about areas into which the company is expanding, please visit the open source pages on the website at http://www.kitware.com/opensource/provensolutions.html.

A digital version of the Kitware Source is available in a blog format at http://www.kitware.com/source.

Kitware would like to encourage members of its active developer community to contribute to the "Kitware Source." Contributions may include a technical article that describes an enhancement made to a Kitware open-source project or successes/lessons learned via developing a product built on one or more Kitware open-source projects. The "Kitware Source" is published by Kitware, Inc., Clifton Park, New York.

a collaborative work environment that empowers them to pursue new opportunities and challenge the status quo through novel ideas. In addition to providing an excellent workplace, Kitware offers comprehensive benefits including flexible hours; a computer hardware budget; health, vision, dental, and life insurance; short- and long-term disability insurance; immigration and visa processing; a relocation bonus; tuition reimbursement; and a generous compensa-tion plan.

For descriptions of available positions, please take a look at http://jobs.kitware.com/opportunities.html.

KITWARE INTERNSHIPSKitware internships provide college students with the oppor-tunity to gain training and hands-on experience working with leaders in their fields on cutting-edge problems. Interns assist in developing foundational research and technology across five solution areas: high-performance computing and visualization, computer vision, medical computing, data and analytics, and quality software process.

Please submit resumes and cover letters through the online portal on the Kitware employment website.

Lucie MacronLucie started at Kitware as an intern in the Lyon, France, office. She studies engineering at École Supérieure de Chimie Physique Électronique de Lyon. There, she specializes in image processing.

Chet NieterChet became a member of the scientific computing team in Carrboro, North Carolina. Prior to joining Kitware, Chet was a senior software engineer at BAE, Systems Inc. He and his team developed and maintained video tracking software that searches wide-area motion imagery for moving vehicles.

Charles GueunetCharles joined Kitware in Lyon, France, as a research staff member. In pursuit of his doctorate, he studies scientific visualization at Université Pierre et Marie Curie. His research focuses on high-performance computing and contour tree algorithm issues.

EMPLOYMENT OPPORTUNITIESKitware seeks talented, motivated, and creative individuals to fuel innovation, break down boundaries, and participate in meaningful work with impact. Kitware employees enjoy