Undergraduate Research at the Vis Center

Juan Carlos Roman

Juan Carlos Roman

2010 Summer Intern

University of Puerto Rico, Mayagüez Campus

Major: Computer Engineering

Project: STITCH HD Projection


Journal Entries

June 16

The second day of working in the VIS Center I got introduced to my project which involves displaying video from different types of cameras, including 3D, to an array of 12 projectors. There was already code done from a few years ago which was not working anymore due to changes in hardware, Operating System, compilers, etc. To make the programs work again I needed to update or redo lines of code. Another issue that I fixed was getting High Definition video input working with the smartImage program.

To make my work easier, I wanted to be able to use an IDE (Integrated Development Environment), but the way the code was structured made it very difficult. I researched online different fixes and patches to make it work and just yesterday everything was compiling and running perfectly through the Netbeans IDE. The use of Netbeans sped up the process of debugging and coding so much that just a day later (today) I finally had everything worked as its supposed to: Capture card receiving video input, C/C++ code updated, updated the driver for the Blackmagic Intensity capture card and updated the smartImage code to work with the changes of the SDK (Software Developer’s Kit).

June 24

During the past week, I have successfully installed and debugged the programs on the computer that is setup to run the multi-projector display. But to my surprise, this computer runs everything literally fifteen times slower than the one i had been working on last week. Speed is extremely important in this project because the stethoscope video display needs to run in real-time. Half of this week, and probably the rest of next week too ill be studying the existing code in depth, so i can design and incorporate a program that incorporates the 3D-HD video inputs to the existing framework. I hope to have this program running by the other week when the 3D capture card arrives. In terms of producing tangible results, this week and the next is going to be kind of slow, but this Research part of development is the most important to be up to speed when Development itself starts.

From my own experience, the existing tools are incredibly complicated to setup, and have almost no portability outside of the computers they were setup to run. Since i moved to the current computer I’ve been writing a guide to make the setup process easier, and later I plan to automate this process, it is important this is done while i do every step, so i don’t forget something that will later break the setup process. Also I plan to make every code I write, to be as universal as possible, so its easier to the next person that handles this code to implement their own tools.

July 8

My Research Question:
Is it possible to develop a High Resolution multi-projector display, that is 3D enabled and is capable of heterogeneous image/video sources?

July 26

Since my second year of college, I’ve been clear on each step I want to do in my career. Focus my undergraduate years in research projects that push me to develop my skills and creative thought. I can sincerely say this has been the most enriching academic experienced I’ve had. A great step needed to be ready for graduate school. The project I selected to work on integrates a very broad area of subjects. STITCH tries to augment a physicians experience while in an operating room, both visually and psychologically. My job was to update very old applications that render images on a multiple projector display. To be able to work with these complex set of tools I had to spend most of my first weeks researching the structure of the Linux operating system, how it manages its monitors/displays, studied graphics libraries, and understand advanced C/C++ programming. I also built a computer system for my first time.

Being a bit more specific, I had to work and master most of the following programming languages: C, C++, Python, Java, bash scripts, etc. Getting experience in real world programming tools has been my greatest achievement, (OpenGL, gcc, gdb, Terminal commands, developer libraries, Xserver, to name a few), because these are the things you apply and need outside of the classroom. In these 2 months of researching through the Vis Center REU, i have applied the theory I learned at school, and matured the inventiveness so essential for research.