Amjidanutpan Ramanujam (u0321202)
amjith.r@gmail.com 1. COLOR COMPOSITING VOLUME RENDERING:
Mummy data set visualized
using ray casting.
vol_ren.tcl - This
script will read the given data and visualize it using the volume
rendering (Ray Casting). The given data represents a mummy preserved
for a long time. So the skin is dried and not very crisp when compared
to the data set given in Project 3. The dried skins iso value was
found to be around 70 to 90. The skull iso value was around 100 to 120.
In order to visualize this data set a opacity transfer function and a
color transfer function are constructed. The opacity for values ranging
from 0 - 50 is chosen to be 0.0 and 55 - 80 is chosen to be 0.1 (semi
translucent) and finally the bone values ranging from 90 - 120 is given
a complete opaque value of 1.0. The colors are chosen in such a way
that the skin range has a light blue and the bone has a complete white
and all other values have a color value of 0.0. The wrap around the
body is not included even though the iso value was found to be around
25. This is because it obscures the real data that we are trying to
visualize.
Default:
The data set used is the mummy.128.vtk.
The interpolation technique used is tri-linear
interpolation.
The space between the samples is 0.5.
The various images obtained from tweaking the above given
parameters are given below.
This particular view is
chosen to give importance to the mouth and ear portions.
technique : Volume Rendering (ray
casting) technique : Iso Surface
data_set : 128
Interpolation :
tri-linear
sampling space : 0.5
Comments :
Even though the image generated by the iso-surface is crisp, we cannot
conclude that the iso-surface technique is better. Iso-surface does a
good job in bringing out the teeth, but when we take a closer look we
can identify that it fails to visualize the ear totally. The image
generated in the iso-surface technique is quiet misleading, in the
sense that it looks more like a skeleton rather than a mummy. This
could partly be a problem in vtk with the faulty rendering of
transparent surfaces, but still we cannot blame vtk for the absence of
ear. Also the image shown in the top of the document actually look like
a mummy but unfortunately that didn't bring out any interesting
features so I am not using that view.
2.
MAXIMUM INTENSITY PROJECTION VOLUME RENDERING: vol_mip.tcl - This
file will create the maximum intensity projection of the image. This
looks more like an x-ray of the mummy. I used the inbuilt method in VTK
called vtkVolumeRayCastMIPFunction .
The opacity transfer function plays a major role in this
technique and the color transfer function is used to adjust the
contrast and get good looking images. I was getting a crappy image
before I used the color transfer function, and then I consulted with
Alan Nicholas and he suggested me to use the color transfer function to
fine tune the images. ( I am mentioning this to make sure I give credit
to him).
We can see the bones in the neck area more clearly than the
ray casting technique (this is partly due to a bad choice of transfer
function, just guessing).
The missing tooth is clearly brought out in the MIP
technique which is absent in the ray cast technique.
Disadvantages:
As mentioned above this is more like an x-ray, so lots of
features (ears, skin, etc) are missing.
I had to choose this view to bring out the advantage because
the view shown in section 1 produced unintelligible images.
3. GRADS
ASSIGNMENT:
3.a Sampling Space :
By increasing or decreasing the sample space
we can get better or worse images. When the sample space was varied
between 0.2 and 4.0 I saw the following behavior,
Image quality increased for smaller samples (eg : 0.4 or
0.2).
The rendering time increase for smaller samples. So a sample
space of 0.2 took long time to render when compared to a sample space
of 4.0.
There is a minimum limit below which the decrease in sample
space produced no improvement in quality by increased rendering time.
This value was found to be around 0.4.
Increasing the sample space above 4.0 tends to lose some
features, eg the ears had hollow stripes in them. Even for a value of
4.0 we were able to see some visible artifacts like contour patterns.
data_set
: 128
data_set
: 128
Interpolation : tri-linear
Interpolation : tri-linear
sampling space : 0.2
sampling space : 4.0
The image on the left looks lot better than the image
on the right in more than one way. The image on the right introduces
the contour like artifacts. The ear on the right side image looks as if
it has been cut using a rake. There is no clear advantage of the left
side image over the image shown in section 1, which is generated using
a sampling space of 0.5. So there is a minimum sampling space below
which there is no improvement in the quality.
3.b
Interpolation Method :
There are two choices given
for the interpolation technique. Nearest neighbor, which means the
point hit by the ray will inherit the value of the nearest neighbor in
the grid. Tri-linear interpolation, which interpolates between the
three values in the grid. The tri-linear interpolation produces better
quality image, especially when the resolution of the data set is low.
This doesn't mean that for
high res images tri-linear interpolation produces bad images. In other
words the difference between the quality of both the techniques is more
pronounced in the low res images. But the tri-linear interpolation
always produces better images than nearest neighbor. Quality doesn't
come without hard work, so the tri-linear interpolation takes a bit
longer than the nearest neighbor counter-part.
3.c
DataSet Resolution:
Three types of data set resolutions were given to us
for experimenting, 128, 80 , 50 . Invariably the 128 resolution
produced the better results than the 80 and 50 datasets. This is shown
below in the images.
Data Set Resolution:
50
Data
Set Resolution: 80
Data Set Resolution: 128
The interpolation technique also played a major role in
deterioration or improving the quality of the image as the resolution
changes. The nearest neighbor produced worst quality images for low
resolution images, whereas the tri-linear interpolation produced images
that were not so bad when compared to the 128 resolution images.
Data Set Resolution: 50
Data Set Resolution: 80
Data Set Resolution: 128
Not only did the image quality increase with the resolution but
the features got enhanced in higher resolution which were barely
visible in the low res images. One example would be the absence of ear
data in the 50 bit res images which is present in 80 and 128 bit res
data. Also the nearest neighbor interpolation produced blocky images
for low res data which made it impossible to make any intelligent
decision.
Questions :
Describe your transfer functions, what relationship
do they have to the isovalues shown in your isosurface rendering?
Do you think volume rendering the mummy dataset
offers a clear advantage over isosurfacing?
What are some advantages and disadvantages of MIP
versus compositing-based volume rendering?
What is the relationship between image quality,
rendering
time, and sample distance?
Give an example of a feature in the
dataset which can be lost by increasing the sample distance too
much.
Is there a sample distance that seems "small
enough", so
that smaller distances offer no clear advantage?
Describe and demonstrate the differences between the
two
different interpolation methods.
Are there features that are present in
mummy.80.vtk but missing in mummy.50.vtk?
How
does increasing the dataset resolution change the difference between
the two interpolation methods?
The answers for all these questions are explained throughout the
document. In fact every sentence in this document is an answer for one
of the question (except this statement). So I am not re-writing the
whole document.