Showing posts with label Cistern Visualization. Show all posts
Showing posts with label Cistern Visualization. Show all posts

Thursday, March 22, 2012

Finishing Up!

Today was a work day for the team, and we all made excellent process. Drew and I have finished video editing, and Jeff and Billy are hard at work on the final maps. We should have everything completed and uploaded to the final database within a few hours! We're all very excited, although it is somewhat upsetting to have our time here on Malta drawing to a close.

My official project on the team was the visualization of cisterns using projective texturing. Today I was able to make the last few tweaks to my texture blending, and have been successful in producing some pretty nice looking visualizations!

These visualizations consist of three main components; texture projections, shading, and blending. The textures, captured from the GoPro cameras on the ROV, are filtered by hand to choose the most pleasing and appropriate textures. After this, the program loads the textures with a list of coordinates and 'projects' the texture onto the wall of the model, using matrix transformations to generate texture coordinates per vertex in the vertex shader.

Shading creates a rudimentary form of light on the model, giving it the illusion of depth and dimension. In this case, only a basic diffuse shading is used. More advanced lighting is not necessary, as the textures are already lit as seen by the robot.

Blending creates a smooth transition between textures by scaling back the per-texture contribution on areas of overlap. This image shows the fragment shader being used to calculate the regions and magnitude of texture overlap. These calculations are then multiplied by the diffuse shading value and then the texture sampler to determine the value of each pixel of the cistern and produce the final visualization:

Tuesday, March 6, 2012

Data Visualization: Lighting and Movement

Much has been improved since my last technical update. My whole software has gotten a face lift. First, shading was added. This makes the cistern and glyphs look three dimensional and the visualizations look more aesthetically pleasing. Second, my glyphs are now represented by spheres. This also adds to the aesthetics of the visualization. Thirdly, I generated a fake path of the ROV for a test of my data visualization software using my improved game camera. This new camera allows for easier control of movement through and around the cistern. Next, I recently acquired and implemented some sample temperature data from a past ICEX trip to use in the test of my data visualization software. Also, I interpolated the temperature data and outputted it at equally spaced intervals to show the estimated temperature throughout the cistern based on the readings taken.

Lastly, the decision was made to combine Tyler and my software so that the results of his texture mapping can be shared to increase the visual accuracy of the cisterns. I am currently working on a graphical user interface to allow for ease of control of my program. It shouldn't take too long. More to come soon!

Scanning in Sicily


Today we had the opportunity to perform our first scans in the coastal town of Carini (in the province of Palermo, Sicily). The local archaeologists led us to an old building in the nearby countryside where a small rock column opened up into the cistern down below. The building was once a basilica from the 17th century, and was fascinating in itself. We successfully deployed the ROV and gathered a solid set of data from the site. Once we finished collection, we took a short walk up the street to a second, smaller cistern outside of another old building. Once back at home, we settled down in the hotel lobby and spent a few hours working on our visualizations. Everything is coming along nicely; today was an excellent field day!




Back at home, I made some more progress on my projective texture system. I am now able to load Jeff's maps in and project a single texture using shaders. My next goal is to add shader support for multitexturing and blending. The picture here shows a map from our hotel room projected into the main room of Jeff's keyhole cistern.

Tuesday, February 14, 2012

Scientific Data Acquisition and Modeling Project Update 2

Progress has been made since my last post. As for the sensor part of the project, the salinity sensor has been built. Tyler is currently adjusting it to be able to measure the range of salinity we expect to encounter in the cisterns. The pressure sensors that we will be using to take temperature measurements arrived about a week ago along with the PAMs. We are currently in the process of acquiring the cable used to program them. Once we program the PAMs we will connect everything together and start testing. Also the otter boxes which we will be putting the sensors in to protect from the water should be here by Wednesday
or Thursday.

As for the modelling part of the project, I have made some modest progress. I have written a CSV file parser to parse the salinity, temperature, and position data and represent it in the cistern. The visualization for this can be seen to above. Also I implemented a bounding box that will help me calculate what is in the cistern and what is not for when I do the scattered data interpolation view. This can be seen to the right.

Saturday, January 7, 2012

Winter Progress

As a participant of last year’s ICEX team, I had the opportunity to continue working on our solutions over the summer. Towards the end of the summer, I was working on creating a function to determine confidence values for walls generated by the Hole Filling algorithm. Unfortunately, school started and I no longer had time to work on the solution. Over break, I completed the remaining parts of the algorithm and added confidence values to the input data. I then used these calculated confidence values to add more information to the visualization of the cisterns. Additionally, I tied up loose ends in the existing software to create a more stable and complete graphics pipeline. The existing Hole Filling software was not robust, as it would only run if certain sampling rules were followed. I found and fixed many bugs related to this problem, and the algorithm now runs as expected.

To the left is an image of a cistern mapped by last year’s team with the hole filled (there is no indication of a hole being filled). To the right is an image of the same cistern using transparency to illustrate the calculated confidence value of the filled hole (the confidence values used are a sample).