Project: EDUCE Enhanced Digital Unwrapping for Conservation and Exploration
Over the past week I’ve been pretty busy. This was the first week all of the summer interns have been here. I’ve been trying to do what I can to help some of the others get more comfortable with what they are working on. Up to this point that has mostly involved installing libraries (ITK, OpenCV, etc) on the machines and introducing the some of the others to Linux.
On Thursday we came in to find that one of the hard drives in one of our computers had died. Unfortunately, the way the disks were set up caused us to lose some data (the /home partition specifically). Luckily the majority of what was on there wasn’t really critical, it had primarily been used as a learning environment for gaining familiarity with Apache and Drupal. On the plus side I’ve become a lot more familiar with software RAIDs in Linux.
This week I worked primarily with ITK. After getting the library set up properly I started playing around with some of the basic examples, trying to get a feel for the CMakeList files and the library itself. The pipeline seems pretty straightforward, most everything is a class, and you set up the input of one class and then pass it’s output as the input to the next. Rinse and repeat. The next step is to start testing out ITK on some three-dimensional data.
I have been working on developing an algorithm for unwrapping the volumetric scroll. I had a general idea of finding the edge of the scroll, taking the outside layer off, dealing with that single layer, and then repeating. Talking with Ryan gave a little more insight into the viability of this approach, as well as a few adjustments. The big question I was left with was how to switch between the representation of data as voxels and meshes. A discussion with Dr. Seales helped to resolve this issue. The plan is to create a mesh around the perimeter if the scroll and take the average intensity of the voxels in the neighborhood of each vertex, and assign that intensity to the vertex. If we have a uniform mesh we can then use it to assign the intensity of each vertex to a single pixel in an image, essentially unrolling one layer at a time. After that we contract the mesh and repeat. The next step is to move on to implementation!