Projects


While there are a few things I can't talk about due to their confidential/proprietary nature, these are some of the projects I worked on (both professionally and for fun) in rough chronological order.

Firefly

Firefly is a visualization app for particle-based simulations. Firefly allows users to interactively explore a simulation snapshot, moving through it in a smooth and intuitive manner. A unique feature of Firefly is that the same application can run seamlessly run on a wide range of platforms, ranging from an user’s personal laptop to an ultra-high resolution display wall with 3D spectroscopic capability. Thanks to this extraordinary versatility, Firefly can be used for professional data analysis as well as for education and outreach. Firefly is written in Python, is scriptable, and is based on the Omegalib toolkit.

Firefly was created through a collaboration with Northwestern’s galaxy formation group led by Claude-André Faucher-Giguère. Several students (including high school and undergraduate interns) have contributed Firefly features through Python scripting.

The Northwestern Wildcat GeoGame

The Wildcat GeoGame is a univeristy wide initiative to broaden geography knowledge among Northwestern students. The game has been active since October 2016, and challenges participants with daily geography questions. I helped design and build this game in collaboration with Prof. the Medhill School of Journalism, the Northwestern Library and the Academic & Research Technologies group.

CAVE2

CAVE2, the next-generation large-scale virtual-reality environment, is a hybrid system that combines the benefits of both scalable-resolution display walls and virtual-reality systems to create a seamless 2D/3D environment that supports both information-rich analysis as well as virtual-reality simulation exploration at a resolution matching human visual acuity.

Omegalib

Omegalib is a runtime environment and application toolkit for tiled displays and immersive and hybrid reality systems. Its main features are: support for cluster rendering; display system scalability; seamless integration with a wide range of input peripherals; support for third-party high-level toolkits, such as VTK and Open Scene Graph. Omegalib applications can be developed in C++ or Python, and can run on heterogeneous systems, from a laptop, to the OmegaDesk to CAVE2.

Omicron

Omicron is an input abstraction and utility library for large displays and virtual reality systems. Some of the devices currently supported by omicron include all NatiralPoint and Vicon trackers, Xbox, Wii and PS3 controllers,  multitouch overlays and many more. Omicron abstracts input using modular event services, each providing access to a specific input device. Events can be easily streamed over the network using the omicron connector API. Also, Event services can be chained together to provide advanced functionality.

In addition to event services, omicron provides additional utility APIs to simplify the developement of the non-graphics part of VR applications. These APIs are mostly lightweight wrappers on top of well established open source libraries.

Porthole

Porthole is a framework that helps Virtual Environment applications developers to generate decoupled HTML5 interfaces. The goal is to ease the interaction between VE systems and smartphones, tablets, laptops or desktop computers, without the need of ad-hoc client applications. For instance, CAVE2 developers now can use handheld devices to interact and manage their VE applications, just by providing a XML Interfaces Description (XID) File (and, optionally, a Cascading Style Sheets (CSS) File for changing client interface style). Clients can connect to CAVE2 using an HTML5 enabled browser, receive a tailored Graphical User Interface, and manage VE application cameras and parameters. Connection, messaging and streaming management is, hence, transparent to VE applications developers.

Porthole addresses earlier work limitations by proposing a novel Human-Computer Interaction (HCI) model that exploits browsers as a mean of interaction with VE systems. State of art works, instead, present application or Operating System (OS) specific solutions. Moreover, Porthole suggests a new concept of remote collaboration, with respect to Collaborative Virtual Environments (CVEs) model proposed in earlier work in this area.

HANDS

The Hands-on Automated Nursing Data System (HANDS) is a standardized plan of care method in which the patient's plan is updated at every nurse hand-off allowing the interdisciplinary team to track the story about care and progress toward desired outcomes in a standardized format across time and units.

EVL is collaborating with UIC's College of Nursing and College of Engineering on the visual component of the HANDS system. Current goals include: - improving the original HANDS user interface for more potential users such as doctors and therapists. - investigating and understanding the needs of prospective users, and adding additional functionality to HANDS to address the needs of those users. - adding visualization to HANDS existing reports in an effort to empower current and future users to do more data exploration and visual analytics.
EVL HANDS Page

NASA ENDURANCE

NASA's Astrobiology Science and Technology for Exploring Planets (ASTEP) Program is supporting ENDURANCE - the Environmentally Non-Disturbing Under-ice Robotic ANtarctic Explorer - to demonstrate concepts for exploring the ice-covered ocean on Jupiter's moon Europa. As part of the first field test in Antarctica, collected data was relayed back to EVL to generate three-dimensional images, maps and data renderings of the lake for analysis.
EVl ENDURANCE Page

The OmegaDesk

The OmegaDesk prototype is a hybrid, 2D/3D work desk that enables users to work seamlessly with 2D content (such as text documents and web browsers), as well as 3D content (such as 3D geometry and volume visualizations), and integrates multi-touch-sensitive surfaces so that users can intuitively point, write, touch and manipulate the information displayed, and communicate and share this information with remote colleagues.
EVL OmegaDesk Page

24H Games

The 24H Games project is an experiment in gameplay design and developement. Its main objective is the creation of simple web-based games in a single day. Each of the presented games has been built by a single developer (that is, me ^-^) in just 24 hours. Each game is presented along with its developement log, describing the various steps in the creation of the games, things that worked and things that didn't.
24H Games (Old Website)

GPU Programming

This section contains the projects I worked on for the GPU Programming class, Spring 2010.

Project 1 - Kodachrome

The objective for this project was to process a stream of images captured from the webcam, and apply a set of vertex, fragment and geometry shaders to achieve different visual effects. The shaders had to be written using the OpenGL Shading Language (GLSL). My application made use of the OpenCV library for the webcam capture part. OpenCV has also been used to integrate face recognition support into one of the shaders.

Project 2 - Taste of Chicago

This project involved the use of a GPU for general purpose computation: the project objective was to recreate a zombie attack in downtown chicago, implementing an agent-based simulation using the CUDA toolkit.

Project 3 - Sonar Data Raytracing Using OpenCL

For this project I decided to work on one of the tasks we are currently udertaking as part of the ENDURANCE project.: sonar data raytracing using a sound speed model. This process is by nature extremely parallel (each sonar ping represents an independent beam to be raytraced), and can greatly benefit from the acceleration that GPU computation can offer.

Flow Viz

FlowViz is a generic 3D flow visualization for Omega Desk, a multitouch + stereo 3D display system developed at EVL. The application has been built using Processing, and has been designed to be easily portable to other devices offering a subset of the capabilities of Omega Desk, a stereo, multi touch display system prototype.

Visualization and Visual Analytics

This section contains the projects I worked on for the Visualization and Visual Analytics class, Fall 2009.

Project 1 - Bridge Over Troubled Water


For This project we had to create an interactive version of the John Snow cholera map, using additional related dynamic data. The tool used for developing the visualization is Processing.

Project 2 - Leaving on a Jet Plane


This project focuses on building a mini application for visualizing data of flights collected from O'Hare Airport Chicago. The data collected was over a period of one week and had numerous files which had be converted to some usable format.

Project 3 - Saturday Night at the Movies


For this project, we had to build an application to visualize data coming from the Internet Movie Database (IMDB). The application had to offer the user the possibility of visualizing and comparing the careers of multiple actors and directors, in a way similar to the NY Times Billboards Rankings. Data preprocessing was of extreme importance for this project, since the original IMDB text listings data had to be filtered and reorganized in order to bring it down to an acceptable size and easy-to-load format.

Project 4 - I Heard it Through The Grapevine


For this project, we had to build an application to visualize movie suggestions suing data coming from the NetFlix database. Data has to be shown as a force directed graph. Data also had to be cross linked to the the Internet Movie Database (IMDB) data, To get additional information about movies.

Scientific Visualization


This section contains projects and presentations for CS526 - Spring 2009.

MotoGP 08


The official game of the 2008 season, MotoGP 08 features all the riders, bikes and tracks providing the definitive 2 wheeled racing experience. MotoGP 08 puts the player at the centre of the MotoGP experience by letting them join a team and compete alongside their sporting heroes in all three race classes: 125cc, 250cc and MotoGP. MotoGP 08 will mark the debut of the series on both the PlayStation 3 and Wii plus see the inclusion of the all new Indianapolis track plus the spectacle of night racing at the Qatar circuit. The game will also offer online play for PlayStation 3, Xbox 360 and PC owners.

SBK 08


This is the game I worked on as a Game Programmer at Milestone. SBK 08 is the official videogame of the Superbike World Championship. It has been released for XBOX360, PS3, PS2, PSP, WII and PC.

Hydroviz


Hydroviz is a web application that gives the users access to salinity and currents data of Corpus Christi Bay, Texas. Various layers of data can be attached on top of a 3d reproduction of the bay, and their variation over time and depth can be explored interactively. Users can also access a common virtual workspace in which they can share created views, and modify them in cooperation. Hydroviz was developed as part of my Master thesis on collaborative web-based visualization.

Edanarion


Edanarion is a multiplayer RPG game written in ActionScript 3 and C#. It can be played directly from a browser window. One of the main objectives of this project is to create a browser game in which users can actually build parts of the playable world. This project server is not currently published or active due to lack of time to actively maintain it

Computer  Animation


This site contains all the projects I did for my Computer Animation class at UIC. These projects were voted by my fellow classmates to choose the best ones in each category (rendered animation, flocking, motion capture), and they all won first place, so I'm pretty proud of them :)

Inner Battlefield


Inner Battlefield is a serious game that will educate the player regarding the working of the human immune system, the different kinds of disease causing pathogens, and the effects of antibiotics on the human body. Inner Battlefield won first prize at the game development competition held at UIC VideoGame Design Class 8th of December, 2006.

YAMO - Yet Another Music Organizer


Yamo (Yet another music organizer), manages a music library, moving and renaming song files based on a set of options specified by the user. Yamo is composed of a dynamic library that implements the library manager engine, and a wizard application that allows easy access to the Yamo engine services. Both the library and the wizard are written in C#. Being a library, the Yamo engine can be used even inside third party applications.

Comments

pepperanimation said…
Wonderful article, Which you have shared about the animation. Your article is very important and I really enjoyed reading it. If anyone looking to animation coaching, then visit Best Vfx Film Making Course In Delhi
sudhan said…
It is really a very informative post for all those budding entreprenuers planning to take advantage of post for business expansions. You always share such a wonderful articlewhich helps us to gain knowledge .Thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article.
Cyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course | CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course

Popular posts from this blog

Parallel Beam Tracing and Visualization of 200 Million Sonar Points

Parallel Gaussian Elimination Using MPI

Flickering 2D transform elements in Chrome: a simple fix