Shubhra Pandit

A technologist who wants to build smart & conscientious tech that will help bring about tangible pervasive change.

Synthetic Neurobiology Lab, MIT

(python, pyTorch, FFN, imageProcessing) {
Research and develop new methods for analyzing, reconstructing and tracing images of the animal brain, imaged with a confocal microscope, with a larger end goal of creating a connectome for the entire human brain. Involves volumetric stitching, registration, ML for automated segmentation of neurons in these images.

Boris Continuum Complete

(imageProcessing, openCV, c++) {
Boris Continuum Complete delivers the most comprehensive VFX plug-in suite ever created for Mac OSX and Windows versions of Adobe After Effects and Premiere Pro CC, CS6, and Apple Final Cut Pro. A whopping 230+ filters include 3D particle effects, image restoration and touchup tools, true 3D lens flares and volumetric lighting effects, keys and mattes, extrusions, color grading tools, time-based effects, blurs, glows, and cinematic effects such as film glow, film grain, and film process looks. All filters take advantage of either multi-processing or OpenGL hardware acceleration for an interactive effects design experience.

Contributed to research, design and development of algorithms for BCC VFX plug-ins that run on hosts such as Adobe After Effects, Adobe Premiere Pro, and Apple Final Cut Pro on Mac OSX and Windows platforms.
This is a promotional video taken from BorisFX.com showing some of the VFX plug-ins in BCC 9.

Forth Art Installation

(unity3D, javascript) {
Contributed to the development of the Forth Art Installation by Flightphase during Fall 2010. The installation employs computer simulation techniques, generative animation and programmatic sound generation techniques to create a dynamically changing immersive experience, with large-scale projection and spatial sound. The large projection generated in real-time depicts a stylized ocean scene populated by small boats containing groups of people.

Spring Particle Systems

(physicallyBasedAnimation, openGL, java) {
This project was an experiment with particle systems. The program renders particle systems using JOGL (Java with OpenGL). The interactions of the particles amongst themselves, with the spring based system and with the environment are controlled by real world physics equations.
The video demonstrates some of the effects which were simulated like spring forces, gravitational force and viscous drag.

Playing with Smoke

(physciallyBasedAnimation, openGL, java) {
This target driven simulation of smoke based on physics equations for fluid solvers controls the creation of smoke and makes it match chosen target keyframes depending on user input.
The video shows the smoke being driven into the letter formations and a few frames in between shown in red are the velocity visualizations for the smoke field at that time.

Photon Mapping

(rayTracing, java) {
The main goal of this project was to implement photon mapping, a technique for rendering scenes with global illumination. Advantages over path tracing include increased speed and reduced high-frequency noise. Special emphasis is put on simulating diffuse inter-reflection and caustics. The images depict the various renders generated.
Here we have a render of the Stanford bunny mesh, containing 69,450 triangles. This render was made using Whitted ray tracing, with the ceiling lights approximates as point lights. This scene was used to test our glass material. We believe the noise in the image to be mostly attributable to the jittering of camera rays, combined with the fact that we only shot one ray per pixel.
Global photon map consisting of 100,000 (emitted) photons with their power values splatted directly to the screen.
Our final shot of the Cornell box scene, combining direct illumination, indirect illumination from the global map using final gathering and irradiance caching, indirect illumination from the caustic map, and specular reflection/refraction using ray tracing.

3D Modeler

(java) {
This project dealt with the various operations on simple 3D models starting from their creation to editing of vertices, faces and edges, application of simple transforms like scaling, rotation and translation. One could also create an animation by setting keyframes at desired points in time. The animation could then be rendered into a movie through the Modeler framework. It supported multiple camera views and also handled the subdivision of 3D meshes using loop subdivision. The videos show some of the operations that were supported by the Modeler.
This video depicts the animation procedure and the various features of the animation function.
This videos shows how frames can be dumped and a movie can be created from the animation.
Here we see the mesh editing operation.
The undo-redo feature of the modeler is highlighted in the above video.

Experiments in Computer Vision

(imageProcessing, c++) {
Computer Vision deals with computing various properties of the 3d world from digital images. Major problems addressed by this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos. This course provided an introduction to some of the topics in this area such as feature detection and matching, panorama stitching, face detection and 3d reconstruction. Images from two projects are shown.
The detection of a plane of symmetry after 3D reconstruction of the point cloud from several 2d images. The change in the color represents the plane of symmetry and this was done based on the paper by Podolak et. al.
A panorama of a cross street created using Harris feature detector and then blending the images together based on the matching of those features.

Interactive Graphics techniques using GLSL, JOGL

(shaders, glsl, java) {
In this course we got introduced to state-of-the-art graphics technology (GPUs, multicore graphics systems, etc.) and the interactive techniques that they enable in applications like game engines. The main topics covered included: the modern graphics pipeline and graphics architectures; rendering including texturing, shadowing, shading, and indirect illumination; modeling including scene representations, and level-of-detail; and basic animation techniques including particle systems. [A video representing some of the implementations will be posted soon]

Continuous Particle System

(physicallyBased, java) {
This project demonstrates the generation and manipulation of a continuous stream of particles being emitted as though from a faucet. These particles then gradually fall down and the gravitational force acting on them can be changed via the slider bar provided. Other manipulations possible for this system include changing the direction of wind from initial downward wind direction to all around the screen in a circular fashion, increasing the viscous drag that acts on the particles and changing the viewing direction. All these are slider based operations. [A video representing this implementations will be posted soon].

Web Page Categorization

(java) {
This project involved the categorization of web pages obtained in the result of a search query into various possible categories such as Commercial, Social Networking sites, Wikipedia Pages, Blogs and Educational. This categorization was done by extracting relevant keywords and rejecting the commonly occurring words such as 'a, an, the, with, etc' from the content of the web pages and then building a training set of words. This training set was then used to classify an incoming page using probabilistic algorithms.