2011 Winter 788 PROJECT

Implementation for Isosurface Similarity Maps

PURPOSE

This project is going to provide the similarity between isosurfaces and detection of relevant isovalues to select salient isovalues for the visualization. After implementing the method, the verification of the results of this method is necessary. Then, I will try to analyze the method is efficient or not and to compare the results between it and the method of calculating gradient.

METHOD

Mutual information is used in this paper to calculate the similarity between two isosurfaces. It is a quantity that measures the mutual dependence of two random variables. In other words, mutual information tells us how much information shared by two random variables. The mutual information of two random variables X and Y can be defined as follow. If the mutual information is higher, the two random variables are more similar.

Actually, the mutual information is equal to the uncertainty associated with the random variable, i.e. entropy. Mutual information can be equivalently expressed in terms of entropy as:

with                              

where H(X) and H(Y) denote the marginal entropies and H(X,Y) is the joint entropy of X and Y.

<from Wikipedia>

SCHEDULE

  • Create isosurface:
    In this part, I will use Matlab to create isosurface, which is the useful information for the visualization, for clear realization about how the isosurface works in a 2D and 3D image plane. Choosing Matlab as a tool is for the purpose of creating the data and isosurface quickly. This work will take one week.
    Recent work (2/13 update):
    Using the data from Teng-Yok to create isosurface on MATLAB. The graphic user interface (GUI) gives users choice of two different isovalues to compare the differences between them.


    Recent work (2/20 update):
    Since the dataset of the benchmark used in the paper "Revisiting Histograms and Isosurface Statistics" cannot be read on MATLAB, I use the code from Prof. Rephael Wenger's website to create the isosurface and the isosurface can be stored to an iv file.

  • Create similarity maps:
    In this paper, the author presents a similarity map to give a selection method to choose meaningful isosurface for visualization. I will implement the isosurface similarity map in some simulation data first to verify my algorithm, and then try to apply it to the results of the first step. This work will take 1 week to 2 weeks.
    Recent work (2/21 update):
    Create a test image which is similar to the paper presented and construct the corresponding isosurface similarity map based on distance field.
    Computation of Isosurface Similarity by 2D histogram based on distance field.
    Recent work (3/10 update):
    Suppose we want to compute the similarity between the isosurface X and isosurface Y. In order to do so, go through every voxel to compute the two minimun distances from the voxel to the isosurface X and to the isosrface Y. For every voxel, a pair of number will be obtained. (Dx denotes the minimum distance from the voxel to isosurface X, and D ydenotes the minimum distance from the voxel to isosurface Y) Then, add 1 into the position in teh 2D histogram. After going through all voxels, the 2D histogram will be constructed. Following is an example of 2D histogram.

    Recent work (2/25 update):
    Rectify some mistakes of my previous algorithm implementation and create similar test examples in the paper to show the result. In the column 1: row 1 shows an image of three concentric circles, in row 2, the innermost sphere is replaced by a square of approximately equal area. Column 2 depicts the corresponding isosurface similarity maps. Column 3 shows the isosurface similarity distributions.



             Original Image         Isovalue Similarity Map      Isovalue Similarity Distribution

    Recent work (3/16 update):
  • Implement the automatically identify relevent isovalues algorithm:
    Here is the top six place isosurfaces which are selected by the algorithm. However, in this sample, the lower similarity part isosurfaces are not selected. Therefore, I think the algorithm should be revised in order to get the lower similarity isosurface which are likely to correspond to different structure.

  • Apply to real data:
    To Implement the isosurface and similarity map in a real data given from the paper "Revisiting Histograms and Isosurface Statistics". Although the method implemented in Matlab is possible slowly, I think it is more important to get correct results first to verify my implement. It will take 2 weeks to 3 weeks.
    Recent work (3/10 update):
    Implement the algorithm in C++ and show the similarity map and similarity distribution of the nucleon data. The similarity map is stored in ppm file, and the similarity distribution is stored in a text file.(use Matlabe for visualization of similarity distribution)

             

    The similarity map shows a huge change between isovalue 191 and 194, the similarity distribution also shows the same result. Then, I picked up isosirface 192 and isosurface 193 (two red circles) to show how different they are. From the result, the similarity map and the similarity distribution can tell us something different between two isosurfaces.

             

  • Analyze results:
    Try to analyze whether the method of isosurface similarity maps is efficient on choosing salient isosurface, then to give a comparison to the method of finding gradient on choosing meaningful isosurface.
    Recent work (3/16 update):
    In oreder to show the difference between two main part isosurfaces. This result shows that similar isosurfaces have more likely similar shape.

    Another interesting finding. There is also a huge chage in the series of isosurface 101, 102 and 103, but the isosurfaces actually do not change a lot.

    Some doubts with the 2D histogram for calculating the similarity of isosurface. Here is an example. If we just flip the 2D histogram, then we can get the same result of similarity map.

    what kind of 2D histogram will get higher mutual information (hiher similarity). The result shows that, for every voxel, if the distances from it to the isosurface X and Y are close to equidistance. then the isosurface X and Y are more similar. From this result, we can reason that the outermost and innermost parts are the two isosurfaces which have the highest similarity.

  • Final Presentation
  • REFERENCES