IssueIssue 38 • 24 July • 2016

TABLE OF CONTENTS RECENT RELEASES

Editor's Note...... 1 PARAVIEW 5.1 ParaView 5.1 brought the process of ray tracing to the open- source application for data analysis and . This Recent Releases...... 1 process utilizes the OSPRay library from Intel. The latest release also brought the capability to render picture-in- Extending ModelBuilder for Post-processing Simulations...... 3 picture visualizations to ParaView.

On top of new rendering capabilities, ParaView gained Developing a Virtual Simulator for Laparoscopic Surgery...... 6 several new filters with the release. A new collection of filters interpolates point clouds to line, plane, and regular Introducing SlicerAstro: A Visualization Tool for Hydrogen volume meshes, including smoothed-particle hydrodynmics in Galaxies...... 10 (SPH) interpolation. Another filter efficiently resamples large unstructured grids to generate regular grids. Ray-traced Rendering Revisited...... 14 In other news, the 5.1 release refactored the zero-copy infrastructure in ParaView to pass data arrays with arbitrary Kitware News...... 17 memory layouts to ParaView Catalyst. As a result, ParaView uses less overhead when it accesses the arrays in filters. The release also refactored three-dimensional (3D) widgets so EDITOR'S NOTE that applications can more efficiently employ them.

Over the past few months, we have welcomed many new With additional improvements, ParaView gained new team members! To make room, we are expanding our functionality. For example, the release made it possible to office space in Carrboro, North Carolina. The new space will simultaneously look at multiple blocks in composite data include comfortable seating that promotes collaboration. It sets. The release also made it possible to rename views. will also have a foosball table, several themed conference rooms, an area to store bicycles, and standing and walking workstations.

To give back to the communities that surround our growing offices, we participated in and hosted multiple drives this summer. In June, we arranged a book drive to benefit Captain Youth and Family Services. Along with books, we donated recyclable bottles and cans to help the organization raise support for its programs. We also opened our doors to the American Red Cross for a blood drive.

In keeping with tradition, we enjoyed outdoor festivities with family and friends at our company picnics, which took place earlier this month. For our annual T-shirt design, however, we tried something new. We set aside our tie- dyeing skills and drew inspiration from coloring books. We truly had a blast, as we expressed our creativity with fabric markers. For pictures from our summer activities, please visit ParaView visualizes streamlines around an engine. (Altair our blog at https://blog.kitware.com. Engineering and FluiDyna GmbH) ParaView visualizes a planetary gearbox. (Altair Engineering and FluiDyna GmbH)

Further changes to ParaView established a welcome screen In other introductions, the release launched the GIT_ that contains links to resources. These resources include SHALLOW 1 option for the ExternalProject module. the two-page “ParaView Getting Started Guide” and With this option, the module can make a shallow clone example visualizations. For more information on using of a Git repository. The module also gained the abilities ParaView and downloading version 5.1, please refer to to recursively initialize Git sub-modules and to initialize http://www.paraview.org. new sub-modules when CMake updates. Another module, InstallRequiredSystemLibraries, gained the ability CMAKE 3.6 to enable the app-local deployment of Windows Universal C Earlier this summer, CMake 3.6 became available to the Runtime (CRT) libraries with Visual Studio 2015. To learn more community. With the 3.6 release, the about the InstallRequiredSystemLibraries module and to try it out in the latest version of CMake, please visit Visual Studio 14 2015 generator obtained experimental https://www.cmake.org/download. support for the Clang/C2 toolset. In addition, the list() command received a FILTER sub-command, which filters list elements by regular expression. ITK 4.10 On behalf of the Insight Segmentation and Registration The release also added a variable that informs the try_ Toolkit (ITK) community, Kitware released ITK 4.10. The command to build a static library instead of an compile() release added a remote module that allows ITK to align two executable. The variable, CMAKE_TRY_COMPILE_TARGET_ projection images of a patient. The release also presented a , applies to cross-compiling toolchains that cannot link TYPE major update to the internal Vision Numerics Library (VNL) binaries without custom flags or scripts. in ITK. In addition to this update, version 4.10 made the interface of wrapper classes more Pythonic, and it allowed In addition, the release introduced the _CLANG_TIDY Windows builds to process images over four gigabytes by target property and the CMAKE__CLANG_TIDY vari- default. able. Together, the property and variable tell the Makefile and generators to run as well as the Ninja clang-tidy To download ITK 4.10.0, please go to https://www.itk.org. compilers for C and CXX languages.

2 EXTENDING MODELBUILDER FOR POST-PROCESSING SIMULATIONS

Bob O'Bara, Yuman Yuan, John Tourtellott, Chris Harris (Kitware)

Advanced simulation workflows often require the applica- simulation workflow cycle. This version of ModelBuilder tion of several tools to aid in constructing geometric domains, exposes some of the underlying post-processing capabilities in generating meshes, in modeling simulation information that the ParaView architecture provides. such as boundary conditions and material properties, in employing numerical solvers, and in post-processing results. To test the new capabilities, the team modeled two elec- Such application forces engineers and scientists to generate tromagnetic workflows that have roots in the Omega3P appropriate input files, understand different command-line module in the Advanced Computational Electromagnetics tools, and develop code. In addition, many engineers and 3D Parallel (ACE3P) system at the SLAC National Accelerator scientists need to access to high-performance computational Laboratory. For the tests, ModelBuilder generated a pillbox resources. As the July 2015 issue of the “Kitware Source” model and a crab cavity model. This article presents the [3] describes, a team of developers at Kitware created the results from the tests. Computational Model Builder (CMB) framework [1] and the ADDING MULTIPLE RENDER VIEWS ModelBuilder application [2] to remove many of the obsta- The latest major release of ModelBuilder is version 4.0. This cles that engineers and scientists face when they employ version provides a single three-dimensional (3D) view that advanced simulation workflows. displays geometric domains and meshes. In order to support ModelBuilder can create or load geometric domains, interface additional post-processing functionality, ModelBuilder with various meshing technologies, model the information needed a second 3D view. The development team created that simulations require, and generate—and in some cases, this second view for ModelBuilder to use not only to post- submit—the necessary files to run the simulations. However, process results but to enable side-by-side comparison of to post-process results, ModelBuilder needs to access func- geometric domains and their respective analysis meshes. tionality from an additional tool such as ParaView. As part of a Phase I Department of Energy Small Business Innovation Since only one view can be active at any time, the Info, Research project to support multiphysics workflows for par- Properties, and ColorMap components in the prototype user ticle accelerator simulations, the team created a prototype interface (UI) update to reflect the active source in the active of a custom version of ModelBuilder that completes the view. The eyeball icons in the pipeline tree view also update

The prototype UI in ModelBuilder shows a scalar field color map of an electric field.

3 to show the visibility status of the sources and filters in the The team also looks to extend the Properties component to active view. support additional filters. The development team also added a camera link between TESTING NEW CAPABILITIES the two render views. This link allows ModelBuilder to To test the capabilities of the prototype with distinct and exhibit the same camera setup in both views when changes relevant examples of particle accelerator simulations, the occur in one view or the other. development team selected two models. ACCESSING POST-PROCESSING CAPABILITIES The first model is the Gaussian pillbox. The Gaussian pillbox ParaView is an open-source platform for analyzing and is a simple model that scientists use to perform electromag- visualizing data [4]. It serves as the underlying founda- netic accelerator simulations. The model contains a central tion of CMB. To expose the functionality of ParaView cylinder, which makes up its geometry and represents the in ModelBuilder, the development team added a Post accelerator cavity. The model also contains two cylindrical Processing panel to the prototype UI. These capabilities beam pipes. During simulation, the central cylinder becomes allow ModelBuilder to display mesh readers and filters in a excited. A charged particle beam enters the cylinder from manner that is identical to the pipeline browser in ParaView. the end of the upstream beam pipe. The particle beam accelerates along the cylinder, and exits at the end of the The Post Processing panel in the ModelBuilder prototype downstream beam pipe. contains Properties, Display, and View components. The Properties component exposes parameters for the readers The second model is a crab cavity model for the high- and filters, the Display component controls properties for luminosity Large Hadron Collider (LHC) [5]. This model offers the mesh representations, and the View component cus- a more complex and realistic example. In particle colliders tomizes the visualizations. For example, the View section such as the high-luminosity LHC, two particle beams with changes the background color. opposing charges travel in different directions. They gener- ally come toward each other at an angle, which reduces the chance that they will collide. The introduction of a crabbing scheme increases luminosity and rotates the beams so that they meet head-on.

The crab cavity model consists of a square tank and two rigid deflecting poles. During simulation, the model attaches to a fundamental power coupler. A radio-frequency power source drives power into the cavity, and dampers remove unwanted higher-order modes.

As part of the tests, ModelBuilder defined the pillbox model and the crab cavity model on both Linux and Mac OS desktops. ModelBuilder then submitted the simulations to run on Edison and Cori at the National Energy Research Scientific Computing Center (NERSC). Once ModelBuilder received the results, it visualized them in its 3D views.

The ModelBuilder prototype exposes the Properties component in the Post Processing panel.

In future efforts, the team aims to further extend ModelBuilder to support more views to analyze post- processed results. These views are available in ParaView and ModelBuilder prepares the crab cavity example by editing include Chart view, Histogram view, and Spreadsheet view. simulation attributes.

4 an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recom- mendation, or favoring by the United States Government ModelBuilder executes a slice operation through the crab cavity model and visualizes the magnitude of the or any agency thereof. The views and opinions of authors electric field. expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

REFERENCES [1] Kitware, Inc. "ModelBuilder." http://www.computational modelbuilder.org/modelbuilder. [2] Kitware, Inc. “Introducing the Computational Model Builder.” http://www.computationalmodelbuilder.org. [3] Thompson, David, Bob O’Bara, and Yumin Yuan. “Representing Geometric Models with SMTK.” Kitware Source, October 14, 2015. https://blog.kitware.com/ representing-geometric-models-with-smtk. [4] Kitware, Inc. “Welcome to ParaView.” ModelBuilder performs glyphing on the pillbox model. http://www.paraview.org. [5] Li, Zenghai, J. R. Delayen, S. U. De Silva, HyeKyoung Park, and R. G. Olave, “FPC and Hi‐Pass Filter HOM Coupler With the capabilities that the development team added, Design for the RF Dipole Crab Cavity for the LHC HiLumi Upgrade.” Paper presented at the sixth International ModelBuilder took less time to define the simulations and Particle Accelerator Conference, Richmond, Virginia, May offered more visual feedback. For example, ModelBuilder 3‐8, 2015. displayed the model geometries as the application assigned material and boundary condition information. The capa- Bob O'Bara is an assistant director of scien- bilities also streamlined the process of submitting simulation tific computing at Kitware. His main areas of jobs to the NERSC supercomputers. interest are geometric modeling, mesh gen- eration, model and mesh visualization, and CUSTOMIZING MODELBUILDER general scientific visualization. Beyond high-energy particle accelerator workflows, the team has developed workflows in CMB for hydrology and nuclear energy. The team has also developed workflows for Yumin Yuan is a staff research and develop- casting and modeling muliscale materials. To further tailor ment engineer on the scientific computing ModelBuilder to specific workflows, Kitware offers consult- team at Kitware. He is the main software ing and support services. Kitware also provides training architect of the suite of CMB applications courses on CMB and ModelBuilder. For more information, that model, mesh, analyze, and visualize please e-mail [email protected]. geometries. John Tourtellot is a senior research and ACKNOWLEDGEMENT development engineer at Kitware. His areas Tests on the ModelBuilder prototype implemented of focus in scientific computing include ACE3P and Omega3P from the SLAC National Accelerator digital map visualization and user-interface Laboratory. Kitware would like to thank the SLAC design. National Accelerator Laboratory for its support throughout the development of the ModelBuilder Chris Harris is a staff research and develop- application. ment engineer who joined Kitware in 2011. This material is based upon work supported by the U.S. Throughout his career, his efforts have per- Department of Energy, Office of Science, Office of Acquisition tained to high-performance, mission-critical and Assistance, under Award Number DE-SC0013884. This systems. report was prepared as an account of work sponsored by

5 DEVELOPING A VIRTUAL SIMULATOR FOR LAPAROSCOPIC SURGERY

Andinet Enquobahrie, Sreekanth Arikatla (Kitware)

This article reports on a project to develop a virtual simulator to train residents and evaluate their skills, as they perform virtual procedures in laparoscopic surgery. Kitware leads this project in partnership with top research universi- ties and a small business.

Minimally invasive surgery, such as laparoscopic surgery, has revolutionized surgical treatment. Performing laparo- scopic surgery, however, comes with a steep learning curve and calls for extensive training. To teach and evaluate the cognitive and psychomotor aspects that are unique to lapa- roscopic surgery, a joint committee of Society of American Gastrointestinal and Endoscopic Surgeons (SAGES) members and American College of Surgeons (ACS) members created the Fundamentals of Laparoscopic Surgery (FLS) program. The FLS program has a high-stakes cognitive-and-skill- assessment component. For this component, trainees utilize a mechanical training toolbox to perform five tasks. These tasks require trainees to transfer objects onto pegs, cut precise patterns, complete loop ligation, suture with an extracorporeal knot, and suture with an intracorporeal knot, respectively.

While the mechanical training toolbox can help evaluate skills in laparoscopic surgery, SAGES personnel must hand- The mechanical training toolbox exhibits the peg-transfer score the test materials to determine how well residents task. (RPI) perform tasks. This requirement lengthens the time it takes to provide feedback to trainees, which adds large costs to WORKING TO REPLACE THE MECHANICAL the certification program and subjectivity to the overall scores. In addition to hand-scoring the tests, SAGES person- TRAINING TOOLBOX Professor Suvranu De guided the creation of VBLaST at RPI nel must replace the materials after every use. under a Research Project Grant from the NIH (R01 EB010037) To overcome the drawbacks of the mechanical training [3]. As the following images depict, VBLaST virtualizes all five toolbox, Rensselaer Polytechnic Institute (RPI) developed a tasks of the mechanical training toolbox through the use of simulator, which it named Virtual Basic Laparoscopic Skill advanced interactive, multimodal simulation technology. Trainer (VBLaST) [1]. In 2015, Kitware received funding from the National Institute of Biomedical Imaging and Bioengineering (NIBIB) of the National Institutes of Health (NIH) to work in close collaboration with RPI, Buffalo General Medical Center at the University of Buffalo, and SimQuest to extend and improve VBLaST. Andinet Enquobahrie, Ph.D, MBA, assistant director of medical computing at Kitware, leads the project.

This article provides background information on VBLaST [2] and describes accomplishments from the first year of the project. The article also discusses plans for efforts to develop and test VBLaST. These efforts will optimize the effective- ness of the simulator and allow SAGES personnel to better educate and evaluate trainees. VBLaST simulates a task that involves sutures. (RPI)

6 The VBLaST prototype facilitates the development of a train- ing and certification platform, and it serves to validate the virtual FLS concept. For the NIH project, Kitware and collabo- rators are working to extend and improve this prototype so that they can deploy it in teaching hospitals and testing centers in clinical settings. The goals of the project are to incorporate two new tasks into VBLaST (camera navigation and cannulation), to build a robust haptic interface, and to improve the overall quality of the VBLaST software. EMPLOYING A SIMULATOR FOR CAMERA NAVIGATION VBLaST simulates loop ligation. (RPI) The team has already worked to develop a camera- navigation simulator in VBLaST. The camera-navigation simulator trains residents to master the use of laparoscopic cameras in operating rooms to improve their spatial aware- ness and positional accuracy. As the below image illustrates, the simulator arranges targets in a circle and overlays a marker pattern on the camera lens. Trainees must match the pattern with each target. Trainees can manipulate the position and orientation of the camera through movement, rotation, and articulation.

VBLaST simulates bimanual peg transfer. (RPI)

The camera navigation simulator in VBLaST presents trainees with six targets.

VBLaST simulates the pattern-cutting task. (RPI)

VBLaST replaces the test materials of the mechanical toolbox with virtually simulated objects. Trainees perform the FLS program tasks with actual laparoscopic instruments, which connect to haptic devices. The hardware interface of VBLaST tracks the motions of the instruments, and physics-based algorithms accurately simulate the interaction between the virtual instruments and the objects in the scene in real time. As this interaction occurs, VBLaST displays realistic visuals and provides appropriate haptic feedback. VBLaST also logs real-time performance data such as instrument motion, path For the camera-navigation task, a trainee aligns a marker length, and total time. with the red target.

7 BUILDING A HIGH-QUALITY SOFTWARE INFRASTRUCTURE Graduate students at RPI helped to develop the original VBLaST software. To prepare the software for commercial use at clinical facilities, the Kitware team improved the software process, streamlined the build process, adopted resource management tools, and incorporated best practices into VBLaST software development. As part of the effort, the team rolled out revision control systems and adopted a high- quality software development workflow. This workflow includes a stringent testing suite; a continuous integration system that employs CMake, CTest, and CDash; a Web-based VBLaST incorporates camera scopes with angles of either code review system; and a protocol to accept patches into zero, 30, or 45 degrees. The camera scope in this image has the main code repository. The team established this software an angle of 30 degrees. infrastructure to facilitate remote collaboration between members. The development team chose the Visualization Toolkit (VTK) ENHANCING VBLAST as the rendering engine for the simulator. The team also The project is off to a great start, and the team has several developed an automated scoring mechanism. The mecha- tasks planned for the second year. The following offers a nism bases scores on the accuracy of the positional and high-level summary of upcoming tasks. angular alignment of the marker. Continuing to Develop Virtual Simulation Environments DESIGNING A NEW HARDWARE INTERFACE The team will obtain feedback from clinical collaborators on The team also designed a new interface with haptic devices the camera-navigation simulator. The team will then finalize to improve the experimental hardware in VBLaST. SimQuest the development of the simulator and prepare it for statisti- led the design of this hardware interface. To create the new cal validation. During the first half of the second year, the interface, SimQuest added linkages and attachments to team will also develop capabilities for a cannulation task. commercially available Novint Falcon haptic devices, which have update rates of up to 2,500 hertz. The additions helped Creating an Automated Scoring System to improve the workspace of VBLaST and facilitate the use The team will develop a novel automated system to score of laparoscopic tool handles. The additions also helped trainees based on the simulation data that VBLaST records. to extend the force capability of VBLaST to a range of 3.4 Such data includes various metrics that are common to the newtons to 12 newtons. FLS tasks like path length, jerk analysis, and total time. For The new-and-improved interface allows for seven degrees the knot-tying tasks, the team will develop algorithms to of freedom: three in movement, three in rotation, and one precisely measure the tightness and placement of the knots. in the open-close movement of the laparoscopic tools. The The algorithms will use force measurements to determine team has integrated this interface with the peg-transfer task the circumferences of the knots and compare the knots with and will test it at the University of Buffalo. pre-defined thresholds. The team will develop additional metrics for camera naviga- tion that measure hand steadiness and spatial awareness. The VBLaST software will use the recorded metrics to arrive at the final scores, and it will not require any manual intervention. Improving the Haptics Hardware Design Currently, the haptics hardware can render forces in addi- tion to torques about three Cartesian axes. The team will test this hardware to see if it can meet the needs of VBLaST in terms of haptic fidelity. The team will also ensure that the hardware is production-ready with regard to ease of use, robustness, manufacturability, and cost. Conducting Extensive Validation Studies The new haptic device for VBLaST provides trainees with a The team has already started to collect feedback and to more realistic environment. evaluate the face, content, and construct validity of VBLaST.

8 To further evaluate VBLaST, members of the department of ACKNOWLEDGEMENT surgery at the University of Buffalo will conduct a study under The authors would like to acknowledge the following the supervision of Dr. Steven Schwaitzberg. Dr. Schwaitzberg members of the project: Suvranu De, Woojin Ahn, Trudi is a professor in and the chairman of the department. Qi, and Karthik Panneerselvam from RPI; Ryan Beasley and The study will measure the effectiveness of VBLaST to Tim Kelliher from SimQuest; and Steven Schwaitzberg, Lora train and assess surgical residents, as they perform virtual Cavuoto, and Nargis Hossian from the University of Buffalo. laparoscopic surgery. Research reported in this publication was supported by the National Institute Of Biomedical Imaging And Bioengineering of the National Institutes of Health under Award Number R44EB019802. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health. REFERENCES [1] Arikatla, Venkata Sreekanth, Ganesh Sankaranarayanan, Woojin Ahn, Amine Chellali, Caroline G. L. Cao, and Suvranu De. “Development and Validation of VBLaST-PT© : A Virtual Peg Transfer Simulator.” Studies in Health Technology and Informatics 184 (2013): 24-30. [2] Lee, Jason, Woojin Ahn, and Suvranu De. “Development of Extracorporeal Suturing Simulation in Virtual Basic Laparoscopic Skill Trainer (VBLaST),” Studies in Health Technology and Informatics 196 (2014) 245-247. [3] Chellali, Amine, Woojin Ahn, Ganesh Sankaranarayanan, Jeff Flinn, Steven D. Schwaitzberg, Daniel B. Jones, Suvranu Dr. Schwaitzberg evaluates the simulator at De, and Caroline G. L. Cao. “Preliminary Evaluation of the Buffalo General Medical Center. Pattern Cutting and the Ligating Loop Virtual Laparoscopic Trainers.” Surgical Endoscopy 29 (2015) 815-821.

Andinet Enquobahrie is an assistant director of medical computing at Kitware. As a subject matter expert, he is responsible for the technical contribution and management of projects that involve image-guided inter- vention and surgical simulation.

Sreekanth Arikatla is a senior research and development engineer at Kitware. His inter- ests include numerical methods, computational mechanics, computer graph- ics, and virtual surgery.

A member of Buffalo General Medical Center tests VBLaST. SUMMARY Correction: SALOME: An Open-source Simulation Platform The project focuses on the development of a virtual FLS Integrating ParaView platform to accelerate laparoscopic surgical education and In an April 2016 article on SALOME, the "Kitware Source" evaluation. The work offers just one example of how Kitware named Yannick Fournier as an author of "In-Situ visualiza- partners with top research universities and technology com- tion in fluid mechanics using Catalyst: a case study for Code panies to build powerful platforms for surgical training and Saturne” and a member of a team that performed a study certification through the use of open-source solutions. on the use of in situ visualization techniques. The correct To learn more about medical computing expertise at Kitware, name is Yvan Fournier, not Yannick Fournier. please go to http://www.kitware.com/solutions/medical imaging/medicalimaging.html. To find out how Kitware can tailor its solutions to meet research and educational needs, please contact [email protected].

9 RAY-TRACED RENDERING REVISITED

David DeMarle, Ken Martin (Kitware), Carson Brownlee, Jefferson Amstutz (Intel)

For years, applications that employ the Visualization Toolkit tage of Threading Building Blocks (TBB) from Intel®. TBB is (VTK) have used OpenGL almost exclusively to draw scenes. a highly optimized library that implements a sophisticated OpenGL rasterizes polygons onto pixels. Rasterization serves task-stealing system to balance rendering workloads across as the most commonly used rendering algorithm today. all available cores. Together, ISPC and TBB allow OSPRay Alternatives to rasterization exist, and these alternatives to use all of the available compute power found in Intel® have their own merits. Such alternatives include ray tracing. CPU hardware. This compute power optimizes rendering Ray tracing offers built-in effects, such as translucency and performance. reflectance, as well as performance that scales logarithmi- cally with geometric complexity. Intel® and Kitware have recently completed a project that tightly integrates ray tracing with VTK. The result, which will first appear in VTK 7.1 and already appears in ParaView 5.1, adds the Intel® OSPRay ray-tracing engine to VTK. BACKGROUND One reason why rasterization is prevalent in the field of scientific visualization is that, until recently, ray tracing per- formed too slowly to interactively explore data that changes frequently. To render data, ray tracers first spatially sort it through an O(n) operation. OSPRay, which has highly opti- mized the sort, can process over a hundred million polygons per second. Once ray tracers sort the data, they employ a An image of a synthetic data set demonstrates ambient occlusion. faster O(log N) search operation in which the frame rate OSPRay rendered the data set and scaled the implicit cylinders is largely independent of the scene size. This search opera- within ParaView. tion optimizes interactive rendering performance on central processing units (CPUs) and scales up to the limits of system Recently, the Texas Advanced Computing Center (TACC) memory. connected VTK to OSPRay within the pvOSPRay ParaView plug-in. Like the ParaView plug-in, the core of For the ray-tracing engine in VTK, the development team pvManta consists of a set of concrete VTK rendering sub- chose the OSPRay ray tracer. OSPRay is an open-source, pvOSPRay classes. These subclasses use a new underlying rendering scalable, and portable ray-tracing engine that produces application programming interface (API). high-performance, high-fidelity visualizations on Intel® CPUs. OSPRay provides a powerful, fast, and easy-to-use The pvOSPRay plug-in is somewhat similar to the OpenGL 2 rendering library. The library runs well on everything from backend, with which users can compile VTK to get a new a set laptops, to workstations, to distributed compute nodes in of updated OpenGL interface classes. Unlike in OpenGL 2, in high-performance computing (HPC) systems. In addition, pvOSPRay, the class names are distinct from their OpenGL 1 OSPRay enables applications that combine interactive counterparts. As a result, applications can simultaneously use surface- and volume-based visualizations. OpenGL classes and ray-tracing classes. Nevertheless, to use , the application code must be changed. In addition, OSPRay takes advantage of the inherent parallelism found pvOSPRay does not permit two sets of rendering subclasses in ray tracing. It maps data onto single instruction, multiple pvOSPRay to share a rendering state. data (SIMD) vector units through the process of vectoriza- tion and onto multiple compute cores through the process To address these issues and to better realize the capabilities of multithreading. To vectorize shading operations, OSPRay of OSPRay within ParaView and other VTK-enabled appli- employs the Intel® Single program, multiple data Program cations, Intel® and Kitware more tightly integrated the Compiler (ISPC). ISPC abstracts away specific vector sizes core of the pvOSPRay plug-in with VTK. To make it easier from various instruction sets such as Streaming SIMD for application writers to use OSPRay, VTK delivers the new Extensions (SSE), Advanced Vector Extensions (AVX), and code in an optional module instead of in an external reposi- AVX-512. To perform multithreading, OSPRay takes advan- tory. Regression tests evaluate the module with the rest of the toolkit.

10 VTK renders with OpenGL (left) and OSPRay (right).

Now, instead of having a set of subclasses, VTK auto- the new OpenGL 2 backend. VTK can quickly swap between matically instantiates the right helper classes. The rasterizing and rendering images. VTK takes less than two- vtkRenderPass class is responsible for the instantiations. hundredths of a second to draw the dragon model from This encapsulation makes it trivial to use OSPRay in appli- Stanford University on a laptop, and it takes less than four- cations, and it allows applications to swap back and forth hundredths of a second to draw the Lucy model from between ray-tracing and rasterizing images at runtime. Stanford University on a laptop. GUIDE TO OSPRAY IN VTK For complex scenes with hundreds of millions of primitives, it The Rendering/OSPRay sub-directory or "Module" of the may take a few seconds for OSPRay to create its acceleration master branch of VTK houses the source code for the new structures on the first swap. Subsequent swaps, however, OSPRay interface. The first step to make use of the interface take very little time, as osprayPass maintains an internal scene-graph representation in-between swaps. In addition, is to activate the vtkRenderingOSPRay module in CMake. Note that VTK requires OSPRay version 0.10.0 or newer. on every render, VTK reuses the unchanged parts of the rep- This requirement implies the utilization of C++11 settings resentation from the previous frame. to compile the toolkit. Once VTK compiles, OSPRay-related By default, the appearance of the scene with OSPRay looks regression tests can run in the toolkit. Rendering/OSPRay/ very similar to the appearance of the scene with OpenGL. As Testing houses the source code for these tests. The following TestOSPRayRenderMesh demonstrates, the new backend code demonstrates how VTK implements ray tracing: preserves standard VTK rendering options as much as pos- sible. These options include surface, wire-frame, and points #include "vtkOSPRayPass.h" representations; colors; color mapping; and lighting, texture, ... and geometric transformations. Nevertheless, ray-traced vtkOSPRayPass* osprayPass = vtkOSPRayPass::New(); images will be distinct from rasterized images. ... As with the pvManta plug-in, OSPRay draws lines and if (useOSPRay) points as cylinders and spheres. The use of a world-space { sizing heuristic that is one-thousandth of the diagonal of renderer->SetPass(osprayPass); an object produces images that are close to what the use } of vtkProperty::LineWidth and PixelSize default else settings for OpenGL produce. The selection of different { rendering options can further adjust the sizes. OSPRay can renderer->SetPass(NULL); scale all points and lines to constant sizes. OSPRay can also } now scale spheres and cylinders according to point-aligned scalar quantities. A transfer function can optionally map The interface in VTK remains the same regardless of whether scalar values. The following code applies a ray-tracing point- the toolkit uses the legacy OpenGL rendering backend or scaling function:

11 renderer GL2 OSPRay GL2 OSPRay GL2 OSPRay mapperInfo = mapper->GetInformation(); Image SIze 1280x720 1920x1080 mapperInfo->Set( # polygons 35 70 35 vtkOSPRayActorNode::ENABLE_SCALING(), 1); (millions) mapperInfo->Set( GeForce 4 core GeForce 4 core GeForce 4 core hardware vtkOSPRayActorNode::SCALE_ARRAY_NAME(), GE 650M 2.7Ghz i7 GE 650M 2.7Ghz i7 GE 650M 2.7Ghz i7

"name of a scalar array"); Frame 0 (sec) 1.28 13.1 3.70 37.8 1.90 13.9 vtkPiecewiseFunction *scaleFunction = Frame n+1 (fps) 15.2 17.4 7.81 15.1 14.6 8.80 vtkPiecewiseFunction::New(); # polygons 100 200 100 scaleFunction->AddPoint(0.0, 0.0); (millions) scaleFunction->AddPoint(0.1, 2.0); Quadro 12 Core Quadro 12 Core Quadro 12 Core hardware ... K5200 2.4Ghz i7 K5200 2.4Ghz i7 K5200 2.4Ghz i7 mapperInfo->Set( Frame 0 (sec) 3.52 32.7 18.1 147 4.09 53.5

vtkOSPRayActorNode::SCALE_FUNCTION(), Frame n+1 (fps) 34.2 18.8 17.4 21.0 34.16 13.3 scaleFunction); Results from the manyspheres.py benchmark in ParaView on two machines compare frame times for OpenGL and Interaction is particularly fast with a single sample and OSPRay, as screen resolution and data resolution double. without advanced rendering effects. The use of advanced settings improve the image quality but slow render times. Aesthetics are important too, especially for showcase-type Advanced settings include the number of anti-aliasing images and movies. OSPRay can support ambient occlusion samples per pixel, the number of ambient-occlusion shading lighting queries to effectively convey the meso-scale struc- samples, and the number of alpha-blending render stages. ture of complex objects. With ambient occlusion, features The below code provides an example: like internal cavities stand out much more clearly. These features appear darker than outward-facing regions, which acquire more light. rendererInfo = renderer->GetInformation(); The VTK development team is working to bring photo- if (realTimeRender) realistic rendering capabilities to VTK. To accomplish this, { the team is exposing the path-tracing option in OSPRay and rendererInfo->Set( adding controls to define the shape, color, and placement of vtkOSPRayRendererNode::SAMPLES_PER_PIXEL(), 1); advanced light sources. rendererInfo->Set( vtkOSPRayRendererNode::AMBIENT_SAMPLES(), 0); IMPLEMENTATION rendererInfo->Set( Overall, VTK now offers a more complete separation of vtkOSPRayRendererNode::MAX_FRAMES(), 1); rendering state and rendering implementation than of } Rendering/Core classes and Rendering/OpenGL* classes. else The separation makes it possible to swap in different render- { ing backends at runtime at minimal cost. rendererInfo->Set( A new vtkRenderPass class manages the process of vtkOSPRayRendererNode::SAMPLES_PER_PIXEL(), 4); swapping backends. During the process, render passes rendererInfo->Set( take over responsibility for or augment the standard vtkOSPRayRendererNode::AMBIENT_SAMPLES(), 4); rendering pipeline of VTK. The standard pipeline asks rendererInfo->Set( rendering classes in the Rendering/SceneGraph vtkOSPRayRendererNode::MAX_FRAMES(), 2); module (e.g., vtkRenderer, vtkCamera, vtkLight, } vtkActor, vtkVolume, and vtkMapper) to traverse the connected hierarchy, while they make OpenGL calls that cor- In OSPRay, the use of space-sorting acceleration structures respond to the internal rendering state. The Rendering/ eliminates unnecessary intersection tests. Above a certain SceneGraph module provides a new standard for examining ratio of scene primitives to image resolution, the frame rate the rendering state in VTK and executing arbitrary opera- for camera motion will exceed the frame rate for OpenGL tions on it. At the moment, the module contains operations rasterization. That is to say, the frame rate of the ray tracer that construct the scene graph, update the scene graph to depends on the number of pixels in a scene. The frame rate reflect the core rendering state, and make calls to draw the of the rasterizer, however, depends on the number of primi- scene graph, respectively. The module hands off the details tives in the scene. Therefore, above a certain number of of the operations to subclasses such as the Rendering/ polygons, the ray tracer will render images faster. OSPRay subclasses. 12 A prototype of a new version of ParaView generates a path-traced OSPRay rendering of a data set, which pertains to magnetic reconnection.

CONCLUSION David DeMarle is a staff research and devel- The new OSPRay-VTK interface streamlines the steps it takes opment engineer at Kitware, where he to obtain ray-traced imagery from VTK. Especially for point contributes to both ParaView and VTK. He sprite visualizations, OSPRay brings a new level of visual teaches professional development and train- fidelity to VTK. The new fast, scalable, software-based ing courses for these product applications. rendering engine in VTK is important for many HPC-class machines as well. Ken Martin is chairman and chief financial officer of Kitware. He is a developer of VTK The development team is actively working to bring the and a coauthor of the textbook "The volume-rendering capability of OSPRay to the new Visualization Toolkit: An Object Oriented module. As mentioned above, Rendering/SceneGraph Approach to Computer Graphics." the team is also working to expose the high-fidelity path- tracing option in OSPRay within the new VTK framework. Carson Brownlee is a member of the research OSPRay has opened up many doors. It allows VTK to implic- and engineering group that develops the itly draw spheres and cylinders. In the future, it will also OSPRay ray-tracing framework at Intel®. He enable VTK to directly render isosurfaces and constructive focuses on large-scale interactive ray tracing. solid geometry data, which will reduce the need for inter- He has worked on various ray-tracing mediary mesh representations. Finally, the ability to make implementations in major scientific visual- very fast ray queries within VTK has great potential to aid ization packages. data-processing filters that do not have close relations to rendering. Jefferson Amstutz is a part of the Software Defined Visualization team at Intel®. He ACKNOWLEDGEMENT mainly contributes to the OSPRay project. This work is part of the Intel® Software Defined Visualization His research interests focus on multi-hit ray- initiative. Learn more at http://www.sdvis.org. traversal algorithms and applications. He also enjoys the lifelong journey of learning to express code that is suitable for human consumption.

13 INTRODUCING SLICERASTRO: A VISUALIZATION TOOL FOR HYDROGEN IN GALAXIES Davide Punzo, Thijs van der Hulst (Kapteyn Astronomical Institute), Jos B.T.M. Roerdink (Johann Bernoulli Institute of Mathematics and Computer Science), Jean-Christophe Fillion-Robin (Kitware)

Upcoming neutral hydrogen (HI) surveys will deliver large data sets, in which daily data- flow will reach one terabyte. One of these surveys, Apertif [1], will provide informa- tion about HI in and around hundreds of thousands of galaxies. To find and charac- terize HI objects, automated processing methods must Well-resolved optical and HI emissions come from a face-on galaxy. use all of the three-dimensional (3D) information (two positional dimensions and one spectral dimension) that the An exhaustive review of open-source 3D visualization surveys make available. Three-dimensional visualization is packages [2] led to the choice of as the preferred essential to the qualitative and quantitative human inspec- platform for the development of SlicerAstro. The factors tion of results from automated source-finding and analysis behind this choice include the following: pipelines [2]. • 3D Slicer is an open-source platform with a Berkeley SlicerAstro [3,4] is an extension of 3D Slicer [5] that aims to Software Distribution (BSD) license, which allows for free provide astronomers with a powerful and interactive visual- utilization of the software. ization environment. In this environment, astronomers can • The software has a flexible environment for code analyze complex sources that automated pipelines such as development and collaboration. SoFiA [6] find. These sources include interacting galaxies, • 3D Slicer has adequate documentation for both tidal tails, HI filaments, and stripped galaxies. developers and users. • The 3D Slicer software has a number of active developers. • The 3D Slicer interface already implements numerous quantitative features. In addition, the medical visualization tools that 3D Slicer implements suit the needs of astronomical applications. For example, 3D Slicer optimizes the display layout and the process of navigating through data for parallel two-dimen- sional visualizations (e.g., movies of channel maps).

THREE-DIMENSIONAL INSPECTION OF HI IN GALAXIES The following example uses an observation of the WEIN069 galaxy in the Perseus-Pisces supercluster filament. The example shows in detail the character of a radio emission of HI in and around the galaxy. The example also illustrates the benefits of 3D data visualization.

In the following image, a 3D view displays the HI distribu- tion and the kinematics of WEIN069. The view provides an immediate summary of the structures in the data that pertain to space and velocity. The view confirms that the structures are coherent in all three dimensions. Two spatial dimensions (right ascension, α, and declination, δ) measure the projection of HI onto the sky. The radial velocity dimen- SlicerAstro displays a module that introduces the software. sion measures the velocity of HI along the line of sight.

14

A schematic image shows a rotating galaxy. In the bottom-left corner, the image displays the profile of a schematic line along the line of sight.

CURRENT STATUS OF SLICERASTRO SlicerAstro is an open-source project that is currently avail- able in the extensions manager of 3D Slicer. Although SlicerAstro is still under development, it already offers SlicerAstro generates a volume rendering of a galaxy in the several stable features for the qualitative visualization and Perseus-Pisces supercluster filament. The different colors highlight inspection of HI in galaxies. For example, SlicerAstro can various intensity levels in the data. Grey, green, blue, and red import and save astronomical data in the Flexible Image correspond to three, eight, 15, and 20 times the root mean square Transport System (FITS) format [7]. SlicerAstro loads such noise, respectively. A video of the volume rendering is available at data as AstroVolume data structures. These structures store https://youtu.be/yLjW9nbdO8g. 3D astronomical images, FITS headers, and information from the astronomical world coordinate system (WCS) [8,9]. In this case, two main components are visible. The first com- ponent is a central body. This body illustrates the regularly rotating disk of the galaxy. Three-dimensional warping results from the projected rotation of the disk. The second component is a tail of unsettled gas that results from tidal SlicerAstro loads a FITS file. interaction with another galaxy. The tail relates to the rotat- ing disk in terms of space and velocity. SlicerAstro also displays quantitative information such as The 3D structure of the HI data is difficult to interpret for coordinate values and axes for two-dimensional views using several reasons. The third axis of the data cube measures the WCS. frequency. It is possible to convert frequency into velocity with the Doppler formula. The following image shows a galaxy with velocity components 1, 2, and 3 along the line of sight. The projection of the velocities along the line of sight and the corresponding Doppler shifts account for the observation of these components at different frequencies. For a given projection on the sky of a galaxy, geometric properties determine the precise projection of the velocity components, which dictate the kinematic information of the observation. Such properties include the inclination and the position angle of the semi-major axis as well as the distri- bution of gas along the line of sight. The projection of the velocity components of a rotating system then determines the 3D shape that SlicerAstro visualizes.

While SlicerAstro facilitates the analysis of typical HI data sets, astronomers still require training to interpret the 3D struc- SlicerAstro illustrates the astronomical WCS. ture of the data and to get acquainted with the SlicerAstro tool itself. During this training process, interactivity is a key In addition, SlicerAstro optimizes interactive smoothing for factor because it allows flexible viewing of the data. HI data [10] that runs on multi-core CPUs, OpenMPs, graphi- cal processing units, and OpenGL.

15 CONCLUSION Although the development of SlicerAstro mainly focuses on 3D HI data, it is a useful tool for any other type of 3D astro- nomical data such as optical data. Please contact the authors or submit an idea to the issue tracker to provide feedback on how to improve AstroSlicer [3]. ACKNOWLEDGMENT Support for SlicerAstro came from the European Research Council under the Seventh Framework Programme of the European Union (FP/2007-2013)/ERC Grant Agreement nr. 291-531. Support also came from Steve Pieper (Isomics, Inc.) SlicerAstro implements a module for smoothing data. and Andras Lasso (Laboratory of Percutaneous Surgery at Queen's University) in the form of feedback and assistance. NEXT STEP: MODELING AND COMPARATIVE REFERENCES VISUALIZATION OF HI IN GALAXIES [1] Oosterloo, Tom, Marc Verheijen, and Wim van Cappellen. "The Interactively visualizing kinematic models (e.g., tilted-ring latest on Apertif." Proceedings of Science (2010): 43–53. models that describe the rotation and geometry of HI) and [2] Punzo, Davide, Thijs van der Hulst, Jos B.T.M. Roerdink, Tom data can help highlight asymmetries, extra-planar gas, tidal Oosterloo, Mpati Ramatsoku, and Marc Verheijen. "The role of 3-D interactive visualization in blind surveys of HI in tails, and other special features. Changing model param- galaxies." Astronomy and Computing 12 (2015): 86–99. eters and display parameters, for instance, can provide more [3] Github, Inc. "Punzo / SlicerAstro." https://github.com/Punzo/ effective comparisons of models and data. SlicerAstro. [4] European Research Council and Kapteyn Astronomical It is possible to use the output model of automated model- Institute. "Documentation/Nightly/Extensions/SlicerAstro." fitting algorithms to visually highlight different components https://www.slicer.org/slicerWiki/index.php/Documentation/ Nightly/Extensions/SlicerAstro. in a data cube. For example, the below image displays data [5] Fedorov Andrey, Reinhard Beichel, Jayashree Kalpathy- from the NGC2403 galaxy. The image clearly shows the pres- Cramer, Julien Finet, Jean-Christophe Fillion-Robin, Sonia ence of an extra gas component. This component consists of Pujol, Christian Bauer, Dominique Jennings, Fiona Fennessy, extraplanar gas close to the disk of the galaxy that rotates Milan Sonka, John Buatti, Stephen Aylward, James V. Miller, Steve Pieper, and Ron Kikinis. "3D Slicer as an at a lower velocity than the disk. Thus, the 3D visualization Image Computing Platform for the Quantitative Imaging gives an immediate overview of different coherent struc- Network." Magnetic Resonance Imaging 30 (2012):1323– tures in the galaxy. 1341. pmid: 22770690.

SlicerAstro displays NGC2403 HI data from the Things survey. The blue segmentation represents a tilted-ring model of the regularly rotating disk, which 3D Barolo automatically fit to the data [11]. The green segmentation highlights the part of the data that the most-suitable model does not represent.

16 [6] Serra, Paolo, Tobias Westmeier, Nadine Giese, Russell Jurek, Lars Flöer, Attila Popping, Benjamin Winkel, Thijs van der Hulst, Martin Meyer, Bärbel S. Koribalski, Lister Staveley- KITWARE NEWS Smith, and Hélène Courtois. "SOFIA: a flexible source finder for 3D spectral line data."Monthly Notices of the Royal Astronomical Society 448 (2015): 1922–1929. [7] Pence, William D., Lucio Chiappetti, Clive G. Page, Richard Allen Shaw, and Elizabeth Stobie. "Definition of the Flexible Image Transport System (FITS), version 3.0." Astronomy and Astrophysics 524 (2010): A42. [8] Calabretta, Mark Raymond, and E. W. Greisen. CONFERENCE SEEKS PROPOSALS "Representations of celestial coordinates in FITS." In a post on the Kitware blog, Stephen Aylward, the senior Astronomy and Astrophysics 395 (2002): 1077–1122. director of operations – North Carolina at Kitware and an [9] Greisen, E.W., Mark Raymond Calabretta, Francisco Gabriel International Symposium on Biomedical Imaging (ISBI) grand Valdes, and Stephen L. Allen. "Representations of spectral coordinates in FITS." Astronomy and Astrophysics challenges chair, advocated for teams to submit proposals 446 (2006): 747–771. for grand challenges for ISBI. The grand challenges aim to [10] Punzo, Davide, Thijs van der Hulst, and Jos B. T. M. advance the field of medical image analysis. Kitware has Roerdink."Finding faint HI structure in and around helped to coordinate the solicitation and the execution of galaxies: scraping the barrel." Paper submitted to Astronomy and Computing, 2016. proposals for several years. Aylward noted that the chairs [11] Di Teodoro, Enrico, and Filippo Fraternali. "3D BAROLO: will accept proposal submissions until September 15, 2016. a new 3D algorithm to derive rotation curves of Among other areas of interest, proposals can address galaxies." Monthly Notices of the Royal Astronomical Society 451 (2015): 3021–3033. the pursuit of new ideas for challenges, the repetition of previous challenges, or the contribution of data. For more Davide Punzo is a doctoral student at the information on the proposal-submission process, please read Kapteyn Astronomical Institute of the “ISBI 2017: Call for Challenge Proposals” at https://blog. University of Groningen. His research inter- kitware.com/isbi-2017-call-for-challenge-proposals. ests not only include the domains of KITWARE RUNNERS FINISH IN TOP 10 technology, computational sciences, and On May 19, 2016, members of Kitware participated in the visualization, but they include the applica- CDPHP® Workforce Team Challenge. The challenge con- tions of these domains in astronomy. sisted of a 3.5-mile course. Over 8,000 people gathered in the Governor Nelson A. Rockefeller Empire State Plaza in Thijs van der Hulst is a professor in radio Albany, New York, for the event. astronomy at the Kapteyn Astronomical Institute of the University of Groningen. His For the challenge, Jake Stookey, Matt Turek, Bill Hoffman, expertise is in the structure and evolution of and Jacob Becker once again represented Kitware in the galaxies, with special focus on the relation "Male Team" category. With a time of 1:28:55, they improved of the interstellar gas component to star their placement from last year and came in 10th. Over 550 formation and the buildup of stellar mass in galaxies. teams registered in the category.

Jos B.T.M. Roerdink received a Doctor of Philosophy in Theoretical Physics from Utrecht University in 1983. He currently is a professor and the director at the Johann Bernoulli Institute for Mathematics and Computer Science of the University of Groningen. There, he holds a chair in scientific visualization and computer graphics.

Jean-Christophe Fillion-Robin is a technical expert and the lead developer of 3D Slicer at Kitware. He is also the lead developer of 3D Slicer for the National Alliance for Medical Image Computing (NA-MIC) community. As such, he developed the infrastructure for 3D Slicer extensions and worked on the port of 3D Slicer to Qt. He also co-created the open-source Common Toolkit (CTK). Members of Kitware congregate by the Erastus Corning Tower as they wait for the start of the challenge.

17 PROJECT AIMS TO MAKE BIG STRIDES IN DATA “With GoBig, analysts no longer need to stick to just one MANAGEMENT type of data across their respective workflows,” Baumes Kitware announced plans to kick off development on a Phase said. “They are free to harness the power of multiple systems II Department of Energy (DOE) Small Business Innovation regardless of whether or not these systems share a common Research project to simplify Big Data management. For the technology stack.” project, Kitware looks to extend GoBig, its open-source soft- During Phase I, the development team at Kitware created ware system that provides Big Data analysts with access to a the GoBig code repository, which is available on GitHub. The range of computing resources through a unified interface. team also tested the GoBig system on use cases in climate “The computational power of the current technological analysis and business intelligence. These tests demonstrated landscape is unprecedented, and Big Data is more complex the successful execution of GoBig as an end-to-end system. than ever,” Jeff Baumes, an assistant director of scien- For Phase II, the team will equip GoBig to deploy on the Web. tific computing at Kitware, said. “GoBig offers analysts in The team will also integrate new technologies with GoBig academic, governmental, and commercial settings with a such as ParaViewWeb, which can run parallel visualization flexible and extensible solution for managing Big Data.” jobs. This integration will widen the scope of GoBig to fields GoBig enables analysts to employ today’s most advanced such as simulation and modeling. tools and libraries, yet it does not require that analysts learn “The performance of GoBig is encouraging,” Baumes said. several programming languages. The modular design of the “We found that a major advantage of the system is that it system streamlines installation and significantly reduces the uses both HPC and HTC resources, as some scenarios may costs that come with maintaining multiple computing envi- favor one type of resource over the other.” ronments. In developing GoBig through open practices, Kitware is “GoBig is a self-contained system, so it is easy to set up and furthering its commitment to promote collaboration and configure,” Baumes said. “In addition, as GoBig is open scientific discovery. Since 1998, Kitware has created and source, it does not impose licensing fees.” supported open-source solutions including CMake, the GoBig leverages high-performance computing (HPC) and Visualization Toolkit (VTK), ParaView, and the Insight high-throughput computing (HTC) resources, and it builds Segmentation and Registration Toolkit (ITK). on components of the Resonant environment. These compo- This material is based upon work supported by the U.S. nents include Girder, which provides GoBig with accesses to Department of Energy, Office of Science, Office of Acquisition data from multiple storage systems, and Romanesco, which & Assistance, under Award Number DE-SC0013252. This allows GoBig to manage workflows with different program- report was prepared as an account of work sponsored by ming languages and computing engines. an agency of the United States Government. Neither the

threshold Scala word count

column Bar plot image

label

The workflow interface in GoBig combines tasks for different computing architectures. In this case, GoBig writes a word-count frequency in Scala with Spark, and it writes a bar plot in R.

18 United States Government nor any agency thereof, nor any committee. On the Kitware blog, he addressed plans for the of their employees, makes any warranty, express or implied, event as well as deadlines for registering and submitting or assumes any legal liability or responsibility for the papers. accuracy, completeness, or usefulness of any information, Appalachian State University in Boone, North Carolina, will apparatus, product, or process disclosed, or represents that host the conference, which will begin on June 25, 2017. its use would not infringe privately owned rights. Reference Topics of discussion will include research in data visualiza- herein to any specific commercial product, process, or service tion, image-guided surgery, and computational physiology. by trade name, trademark, manufacturer, or otherwise does Following the conclusion of the conference, "Information not necessarily constitute or imply its endorsement, recom- Processing in Medical Imaging" will feature work from mendation, or favoring by the United States Government paper and poster presentations. or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of The last day to register papers is December 10, 2016. For more the United States Government or any agency thereof. paper-related dates, please read "Information Processing in Medical Imaging 2017: Call for Papers" at https://blog. COLLABORATOR PRESENTS JOINT WORK ON kitware.com/information-processing-in-medical-imaging- IN SITU METHODS 2017-call-for-papers. E. Wes Bethel from Lawrence Berkeley National Laboratory presented a paper at EuroVis 2016 that Andrew Bauer, Berk KITWARE WELCOMES NEW TEAM MEMBERS Geveci, and Patrick O’Leary from Kitware co-wrote. The This year, Kitware has expanded its teams in Clifton Park, paper details how in situ methods can aid in extreme-scale New York; Carrboro, North Carolina; and Lyon, France. high-performance computing. Kitware continues to seek talented, motivated, and creative individuals to join in its mission to develop and deliver Bethel discussed the paper in the session on distributed cutting-edge software products and services using advanced visualization on June 8, 2016. To familiarize EuroVis attend- software quality methods and technologies. ees with the paper, Kitware published the abstract to the work at https://blog.kitware.com/paper-on-in-situ-methods- Kitware employees enjoy an award-winning work envi- accepted-for-publication. ronment that empowers them to pursue their passions. In addition to an excellent workplace, Kitware offers com- This work was supported by the Director, Office of Science, prehensive benefits including flexible hours; a computer Office of Advanced Scientific Computing Research, of the U.S. hardware budget; health, vision, dental, and life insurance; Department of Energy under Contract No. DE-SC0012387, short- and long-term disability insurance; immigration- through the grant “Scalable Analysis Methods and In Situ and visa-processing services; a relocation bonus; tuition Infrastructure for Extreme Scale Knowledge Discovery,” reimbursement; and a generous compensation plan. For program manager Dr. Lucy Nowell. descriptions of available positions, please see http://jobs. KITWARE RANKS ON INTERNSHIPS LIST kitware.com/opportunities.html. The “Albany Business Review” published “The List: Internships,” which includes Kitware. The list organizes companies by the number of interns they welcomed in 2015. Kitware tied for 17th on the 2016 list with Daily Gazette Co. Inc. With plans to continue to recruit throughout 2016, Kitware looks to add more interns to work alongside experts and gain hands-on experience. Interns help perform founda- tional research and develop technology across five solution areas: high-performance computing and visualization, com- puter vision, medical computing, data and analytics, and quality software process.

To apply to intern at Kitware, please submit a resume and a cover letter through the online portal on the Kitware employment website at http://jobs.kitware.com. MEDICAL IMAGING CONFERENCE COMMITTEE REVEALS PLANS FOR 2017 The planning committee for the 25th Information Processing in Medical Imaging (IPMI) conference recently released details on the event. Stephen Aylward, the senior director Libby Rose and Matt Burnham, who Kitware welcomed in of operations – North Carolina at Kitware, is a chair on the May, join in camaraderie at Kitware headquarters.

19 The following team members joined Kitware in May, June, Doruk Öztürk and July. Doruk brought expertise in hydrology and geographic information systems to the Clifton Park office. He has prior Aron Helser experience building applications that utilize remote-sensing Aron became a member of the scientific computing team in techniques and historical weather data. Carrboro. Among his past efforts, Aron worked to develop and commercialize nanoManipulator at the University of Matt Burnham North Carolina at Chapel Hill. Matt started as a part-time annotation specialist for the computer vision team. Before he joined Kitware, Matt Libby Rose served as a solo practitioner hearing representative at the Libby came to Kitware as a business development repre- Department of Labor. sentative. Libby’s background includes technical writing, business analysis, and quality assurance. Haocheng Liu Haocheng became a member of the scientific computing Florian Chevassu team in Clifton Park. In May, he received his Master of Science Florian joined the Lyon office in June. He has expertise in in Mechanical Engineering from Carnegie Mellon University. C++ and experience in the development of libraries that apply to thermodynamics and financial risk. Mayeul Chassgnard Mayeul began an internship in Carrboro. Mayeul focuses on Michael Fogleman computer science, mathematics, electronics, and signal pro- Michael arrived at Kitware in June as part of the scientific cessing at CPE Lyon. computing team. His research interests include computer graphics, data analysis, and visualization. Nicolas Vuaille Nicolas joined the Kitware team in Lyon. He previously worked Maëliss Jallais for Laboratoire Bordelais de Recherche en Informatique, Maëliss embarked on a one-year internship in Carrboro. As a where his efforts focused on software development for student at École Supérieure de Chimie Physique Électronique http://www.i-score.org. de Lyon (CPE Lyon), Maëliss studies digital sciences.

In addition to providing readers with updates on Kitware Contributors: Jefferson Amstutz, Sreekanth Arikatla, Lisa product development and news pertinent to the open Avila, Carson Brownlee, David DeMarle, Jean-Christophe source community, the "Kitware Source" delivers basic Fillion-Robin, Andinet Enquobahrie, Chris Harris, Ken information on recent releases, upcoming changes, and Martin, Bob O'Bara, Davide Punzo, Jos B.T.M. Roerdink, John technical articles related to Kitware open-source projects. Tourtellot, Thijs van der Hulst, and Yumin Yuan

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

A digital version of the "Kitware Source" is available in a This work is licensed under an Attribution 4.0 blog format at http://www.kitware.com/source. International (CC BY 4.0) License.

Kitware would like to encourage members of its active Kitware, ParaView, CMake, KiwiViewer, and VolView are developer community to contribute to the "Kitware Source." registered trademarks of Kitware, Inc. All other trademarks Contributions may include a technical article that describes are property of their respective owners. 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.

20