KiwiViewer v2.0 available now in the App Store

KiwiViewer Logo

On behalf of the mobile development team at Kitware, I’m happy to announce the release of KiwiViewer v2.0 for iOS, now available for download in the App Store. The app runs on devices with iOS 6 and is optimized for retina displays.  Along with the App Store release, we’ve also uploaded software binary packages for developers.

New features in KiwiViewer 2.0:

-Supports iOS 6 and retina display
-Dropbox integration
-Midas integration
-ParaView integration
-iTunes file sharing
-Textured meshes
-Support for time series data and animations
-A new 2D/3D image viewer with window/level
-Point Cloud Library PCD file support
-New sample datasets bundled with the app
-New geometry modes: surface, surface with edges, wireframe, points
-Scene settings: background color, model color, opacity, color by array selection
-A new JSON scene file format, including support for custom color maps and background image
-zip, gzip, bz2, and tar archives
-Supports >65k vertices
-Load multiple datasets at once
-Multisampling/antialiased rendering

 

Webinar

I’ll be hosting a webinar next week to present the new features in KiwiViewer. Join me Thursday, March 14th at 4pm EST. You can register for the free webinar at GoToWebinar.

 

 Here’s a video that highlights some of the new features in KiwiViewer:

There will be a feature article about KiwiViewer in the upcoming issue of the Kitware Source. The Source is a quarterly newsletter; if you’re not subscribed then click the link and sign up! So I’ll use this blog to highlight some things, but make sure to check out the next issue of the Source to read more.

Midas and Dropbox

KiwiViewer has lots of new methods for accessing data. You can grab your data from Midas, Dropbox, iTunes file sharing, email attachments, or paste a url right into KiwiViewer to download from http or ftp. KiwiViewer can link directly to your Dropbox account so that you can browse your files from inside the KiwiViewer app.

 

Midas Logo

KiwiViewer’s new integration with Midas offers convenient ways to organize and share your data with multiple people from desktop and mobile devices. Midas is a powerful data storage system; if you’ve never heard of it, head over to midas3.kitware.com to see it in action. With Midas, you can store data in personal folders, or create communities to organize shared data. Folders and communities can be public or private; you have fine grained control of all access privileges. KiwiViewer can browse data stored on Midas and download the files directly.

In KiwiViewer, you can change the default Midas server URL. Midas is a free, open-source server, so you could install a Midas server at your institution to provide fast and secure access to data over your network.

Scene File

One new feature is a simple scene file format that lets you specify a custom scene composed of multiple datasets. You can have total control over the display parameters of each object, and can also specify background color, gradient colors, or even a custom background image. Here’s a picture of one of the KiwiViewer sample datasets that uses a scene file to visualize a complex scene:

 

KiwiViewer displaying one of the bundled sample datasets.

There’s an exporter for ParaView that will export data files, write a scene description file, and zip everything together. That makes it really easy to take a visualization in ParaView and export it to KiwiViewer. The exporter can even upload the zip file to your Midas account, or place it in your Dropbox folder. KiwiViewer now integrates with Dropbox and Midas to make it easy to pull data from the ‘net!

2D/3D image viewer

Another new feature in KiwiViewer is a 2D/3D image viewer. In the bundled sample data you’ll find a 3D image that you can load to try it out. You can choose to view the image by 2D slices along the x, y, or z axis, or do a 3D view mode. While in 2D mode, you can swipe along the right edge of the screen to change slices. You can pinch to zoom in, and pan around the image.  While you are zoomed out, the touch gesture is mapped to window/level.

 

KiwiViewer has a new 2D/3D image viewer.

ParaView Mobile Remote Control

This is a really fun new feature. You can instantly send ParaView visualizations directly from your computer to KiwiViewer, and use KiwiViewer to control the camera in ParaView. One motivating use case for this feature was to use KiwiViewer as a remote control for tile display walls. Instead of using a mouse, you can use KiwiViewer’s intuitive touch gestures to control the tile display visualization.

To try it out for yourself, install the latest version of ParaView (version 3.98.1), then follow the tutorial here. Here’s a movie demonstrating the feature:

 

Point Cloud Library

KiwiViewer now has support for Point Cloud Library PCD files. Head over to pointclouds.org to learn more about the Point Cloud Library (PCL), and visit the page here for more details about using PCL on mobile devices. The point cloud streaming demo, described in the previous link, is now included in KiwiViewer, which means you can setup a Kinect camera, or other OpenNI compatible RGB-D camera, and stream the point clouds straight to KiwiViewer. Also, if you visit the KiwiViewer packages page you’ll find a download for the PCL framework for iOS. That will give you a heard start toward developing your own PCL based apps on iOS!

 

Lidar data from a Velodyne HDL-32 sensor

One of the bundled sample datasets is lidar data from a Velodyne HDL-32 sensor. This data has been made available to us by Velodyne as part of the PCL Velodyne code sprint. The dataset bundles about 30 frames of lidar data, and to conserve space, the point cloud has been limited to points within a certain range from the sensor.

KiwiViewer has some basic animation controls that you can try out with this dataset. You can use the Play button in the toolbar to loop the animation. While the animation is paused, you can swipe along the left edge of the screen to step forward and backward through the animation. While the animation is playing, swiping along the left edge of the screen controls the speed of the animation.

Animations, Color Maps, Textured Meshes

KiwiViewer has support for lots of new data visualization modes. You can use the previously mentioned scene file format to define your own custom color maps, or list several data files to be displayed as an animation. You can also specify a jpeg or png image to be used to texture a mesh if you have a mesh with texture coordinates. Head over to the kiwi scene file page to learn more.

KiwiViewer data with custom color mapData displayed in KiwiViewer with a custom color map.

What about Android?

Good question. If you visit the KiwiViewer packages page you will find an Android APK installer for an experimental version of KiwiViewer v2.0 for Android. This version has many of the features of the iOS version, including ParaView mobile remote control, point cloud streaming, and custom scene files, but it hasn’t been updated with a new user interface, which limits the availability of some of the features. We hope to work on a new user interface for the Android version of KiwiViewer. If you think you might want to help contribute to this project, get in touch with us on the VES mailing list.

Easter Egg

Hooray!  KiwiViewer comes with an easter egg (Apple approved, of course).  No hints yet… stay tuned.  In case you thought you might search for it in the source code, I must warn you that it’s not published there.

5 Responses to KiwiViewer v2.0 available now in the App Store

  1. Will Schroeder says:

    I am dumbfounded, this is a beautiful piece of work!

  2. Petar Petrov says:

    I’m quite interested to contribute for the Android port.

  3. Daniel Haehn says:

    Just gave it a shot! Really nice work! Sadly, it can not read NIfTI or Freesurfer meshes (yet).

  4. David Cole says:

    Simply. Awesome.

  5. Aashish Chaudhary says:

    @Daniel,

    Supporting NIfTI or Freesurfer meshes would be matter of having a VTK reader for these formats. A quick search gets me to this code: https://github.com/fbeeper/nifti-vtk but it uses ITK which is not the current dependency of VES. We would love to support these formats. Let us know how we can help.

Questions or comments are always welcome!