Aug 31, 2011 I created a web interface from a web tracer i found on a ray tracing tutorial site. The link to the site: Codermind. The link to the web interface is here: http://vis-banks.eecs.utk.edu/~lindsey/CS593RayTracer/rayTracerGUI.php Mar 02, 2011 The goal was to convert the array of FOD coeffiecients into a phi/theta grid using shCoeffToGridFun (coeff_v); where coeff_v if the array of 49 coeffiecients for a given x,y,z. I wrote code that iterated through each of the voxel point, got the corresponding coefficients, converted it to a sphereical grid of diffusion vectors, and extracted a weighted sum for a given direction. For example, this is an image I generated from voreen where theta =0, and phi = 0. The areas in red are where the weight diffusion rate is the greatest in the theta = 0, phi = 0 direction. Yellow is about average, and blue areas are have low diffusion rates. Feb 11, 2011 This week I wrote a function to determine the spacial relationship data items within a matrix in the context of array index mapping to a location on disk. The basic principle that this spatial entropy function works off of is that if the mapping of matrix indices to location on disk was off, there neightbors on a particular matrix would be random and hence taking a measurement entropy of a data member in relationship to it's neighboors would be higher than in the measurement where the correct mapping was used. The basic algorithm of the function. // loop through each cell in the matrix // for each neighbor in the +/-1 x,y, and z direction sum up the variance // add up the each total variance from each cell and divide by total number of cells. For example Taking a matrix from the dataset I am working on,fodCoeff_4d, I have three different mapping functions. Note:The correct mapping is mapping4. Mapping1 - position = m1 + (x * m1cnt) + (y * m1cnt * xcnt) + (z * ycnt * m1cnt * zcnt ); Mapping2 - position = z + (y * m1cnt) + (x * m1cnt * xcnt) + (m1 * ycnt * m1cnt * zcnt ); Mapping3 - position = y + (m1 * m1cnt) + (z * m1cnt * xcnt) + (x * ycnt * m1cnt * zcnt ); Mapping4 - position = x + (y * xcnt) + (z * ycnt * xcnt) + (m1 * xcnt * ycnt * zcnt ); Here is the result from a spatial entropy measurement. Mapping1 Spatial Entropy : 0.00798030658931549348 Mapping2 Spatial Entropy : 0.02088302036715551993 Mapping3 Spatial Entropy : 0.00430782601407233082 Mapping4 Spatial Entropy : 0.00183946010581137248 The results show that Mapping4 shows the least amout of variance/randomness between neighbors. The link to the code is here. Also this week I started to make preliminary images of the data set using Voreen which is a free volume rendering engine. It was very easy to create images of the data. First I extracted the FA matrix from the dataset and used voreen to visualize it. Also, I have seperated the individual elements from the fodCoeff_4d matrix and visualized them seperately to get an idea of what the data looks like. Here are some example images. Feb 4, 2011 This week, I started parsing the dataset taken from here. Here is what I've discovered. The data in Matlab format(.mat). It contains 3 matrices FA_3d, fodCoeff_4d, mask_3d FA_3d - 96x96x55 of doubles [0,1] fodCoeff_4d - 96x96x55x49 of doubles [-5,7] mask_3d - 96x96x55 of booleans {0,1} I've written code to read the dataset. The implementation of the code bascially parses a subset of all mat labfiles. One of the large limitations is that the matlab file must be in uncompressed format. Before the data set was processed, it had to be resaved to an uncompressed format which was done by change the matlab setting to write all matlab files without compression. The current implementation of my parser does not handle a compressed format, but the library which matlab uses to compress data in the matlab format is available for free use so a further implementation of my parsing code may handle the compressed format. The link to the code is here.