Weekly Report for June 15, 2006
Submitted to Dr. Jia Li
by Bryan Bonvallet and Nikolla Griffin
This week we spent coming up with the math for and implementing tests for the 2D image to 3D sphere surface theory. There were a number of unforeseen problems. We thought a 3D spherical harmonic decomposition script existed in Matlab. It didn't. We found a Matlab script to do what we need, but it is poorly documented. The examples would only be helpful to someone who fully understands the math and the notation used by physicists. One of the biggest challenges in understanding the math is with the spherical coordinate notation: phi and theta are used interchangeably depending upon context.
The utility we are using is called “Yet Another Wavelet Toolbox.”
For two dimensions, we have formulas (programmed) to do the following:
- Find points of interest in a binary matrix (2D voxel graph)
- Map said points to the the 3-sphere surface
- Convert 3D cartesian coordinates into 3D spherical coordinates
- Map 3D spherical coordinates into a latitude-longitude equiangular grid
All of that has been programmed into a single Matlab script. Then we can use the harmonic decomposition tool to process the equiangular grid. Experiments have shown that our equiangular grids (effectively a binary function) are not as invertible as continuous functions found in the examples. Attempts to smooth our data made inversion more difficult and less accurate.
The inversion process needs work. The conversion from spherical to cartesian is known and works. The mapping from 3D sphere to 2D cartesian had to be solved. Over three quarters of the points are translated properly. There is an issue with the inverse sine function (the domain/range on which it is defined) that make deterministic translation difficult. None of this has been put into a Matlab script. The various aspects have been tested individually, though.
Our initial tests used 2x2 and 5x5 binary “seed” matrices. The seed matrices would be converted into 11x10 equiangular grids. The grids were used to calculate harmonics up to the fifth degree. Our comparisons between similar or rotated seed matrices and randomly generated matrices showed very little discrimination between the two. Either the method is not useful or the seed data sets have been too small. Our next step is to program an inversion script and test larger seeds of data and test the properties. Larger sets of data should reduce the effect of rounding and conversion error.
In the near future, it should be possible to reduce the conversion algorithm from multiple formulas into a composite function. Perhaps this step will be skipped. If theory tests succeed, work will begin on mapping 3D space onto the 4D unit sphere. 4D harmonic decomposition will need to be found that can easily be coded (assuming such code doesn't already exist). A 3D voxelization algorithm will be needed. The other phases in the process should be trivial or easily scaled based on the current experience.
If it looks like this theory is not worthwhile, we may look towards a similar topic that deals with spherical harmonics. It seems to be the most favored method for shape descriptors at the present time.
We also need to work on the presentation for Wednesday. Our goal is to have it mostly complete by Monday. That will leave time on Tuesday for practice or ironing out wrinkles in the material.