<%BANNER%>

Geometrically and Physically Based Modeling for Deformable Objects Simulating Soft Tissue Interactions in Surgery Enviro...

Permanent Link: http://ufdc.ufl.edu/UFE0021700/00001

Material Information

Title: Geometrically and Physically Based Modeling for Deformable Objects Simulating Soft Tissue Interactions in Surgery Environments
Physical Description: 1 online resource (82 p.)
Language: english
Creator: Punak, Sukitti
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2007

Subjects

Subjects / Keywords: deformable, feedback, gpu, haptic, interactive, mass, object, realtime, spring, system
Computer and Information Science and Engineering -- Dissertations, Academic -- UF
Genre: Computer Engineering thesis, Ph.D.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: This dissertation contributes a method for modeling deformable objects that leverages computer graphics techniques and state-of-the-art hardware to simulate and visualize deformations, including topological transformations like cutting, in real time. The resulting models are suitable for interactive surgical simulation for illustration and teaching purposes. The approach has been tested, in particular, by modeling responsive fatty tissue. To support force feedback as well as visual feedback, the deformable object consists of three closely coupled representations for dynamic response, collision detection, and visualization. All three representations are implemented on the Graphics Processing Unit, rather than on the CPU, to leverage parallelism for speed.
General Note: In the series University of Florida Digital Collections.
General Note: Includes vita.
Bibliography: Includes bibliographical references.
Source of Description: Description based on online resource; title from PDF title page.
Source of Description: This bibliographic record is available under the Creative Commons CC0 public domain dedication. The University of Florida Libraries, as creator of this bibliographic record, has waived all rights to it worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
Statement of Responsibility: by Sukitti Punak.
Thesis: Thesis (Ph.D.)--University of Florida, 2007.
Local: Adviser: Peters, Jorg.

Record Information

Source Institution: UFRGP
Rights Management: Applicable rights reserved.
Classification: lcc - LD1780 2007
System ID: UFE0021700:00001

Permanent Link: http://ufdc.ufl.edu/UFE0021700/00001

Material Information

Title: Geometrically and Physically Based Modeling for Deformable Objects Simulating Soft Tissue Interactions in Surgery Environments
Physical Description: 1 online resource (82 p.)
Language: english
Creator: Punak, Sukitti
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2007

Subjects

Subjects / Keywords: deformable, feedback, gpu, haptic, interactive, mass, object, realtime, spring, system
Computer and Information Science and Engineering -- Dissertations, Academic -- UF
Genre: Computer Engineering thesis, Ph.D.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: This dissertation contributes a method for modeling deformable objects that leverages computer graphics techniques and state-of-the-art hardware to simulate and visualize deformations, including topological transformations like cutting, in real time. The resulting models are suitable for interactive surgical simulation for illustration and teaching purposes. The approach has been tested, in particular, by modeling responsive fatty tissue. To support force feedback as well as visual feedback, the deformable object consists of three closely coupled representations for dynamic response, collision detection, and visualization. All three representations are implemented on the Graphics Processing Unit, rather than on the CPU, to leverage parallelism for speed.
General Note: In the series University of Florida Digital Collections.
General Note: Includes vita.
Bibliography: Includes bibliographical references.
Source of Description: Description based on online resource; title from PDF title page.
Source of Description: This bibliographic record is available under the Creative Commons CC0 public domain dedication. The University of Florida Libraries, as creator of this bibliographic record, has waived all rights to it worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
Statement of Responsibility: by Sukitti Punak.
Thesis: Thesis (Ph.D.)--University of Florida, 2007.
Local: Adviser: Peters, Jorg.

Record Information

Source Institution: UFRGP
Rights Management: Applicable rights reserved.
Classification: lcc - LD1780 2007
System ID: UFE0021700:00001


This item has the following downloads:


Full Text
xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID E20101108_AAAABN INGEST_TIME 2010-11-08T16:52:27Z PACKAGE UFE0021700_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
FILE SIZE 25271604 DFID F20101108_AABGWG ORIGIN DEPOSITOR PATH punak_s_Page_60.tif GLOBAL false PRESERVATION BIT MESSAGE_DIGEST ALGORITHM MD5
988b699cd6141ad7c1b8b6f808746eac
SHA-1
5f535d15bab8993e862565a5d5c5b2d49fe1270f
22799 F20101108_AABGHO punak_s_Page_45.QC.jpg
29cd0567d21f7f5241b7cce967ed2c2e
b30165af56131ee140c2743582d4ed1b5944d3ad
5911 F20101108_AABGRJ punak_s_Page_42thm.jpg
c9f8bc5d13af34022818c0a3214ecd39
b1c23f40292d0434554355d18dcc08089ba26294
2145 F20101108_AABGMM punak_s_Page_82thm.jpg
37306d0bbc8d9685a9d21a47f82ff0ad
d25852a8f92511ebe1bbd08db209ecb599e22340
F20101108_AABGWH punak_s_Page_63.tif
fb75b0a1c7258c90b9d8f9c3cefc79ca
d50e555ac810c3e3ca6c0a5ff0daff653ee34252
F20101108_AABGHP punak_s_Page_56.tif
b9a5a1b8e2c522c0a40b28dfa7ac852a
e33075ab9f6dbc648308ede064b32f596c2f6f66
89991 F20101108_AABGRK punak_s_Page_42.jpg
7032160da57c9c9716cc71f3bce4af19
23c348668faecead5adb7bc4d0fd42acd9c84546
140117 F20101108_AABGMN punak_s_Page_75.jp2
62facaab793472e4ac3daf5172f111e2
75e6f5a139b4fdbfe9ca298000d2135f26ef9ca9
1053954 F20101108_AABGWI punak_s_Page_73.tif
b3e0dd11ccd7aae3fa54ecacce26ac75
82277c2978b4947fe321e1d6cc165943f0fe0145
53921 F20101108_AABGRL punak_s_Page_50.pro
5137c6bb2a4f865aefd720648970a6dd
1a228b9b6e83da0a68d2e2d9a418c7956b21e0e8
F20101108_AABGMO punak_s_Page_71.tif
df031197d5052ab8b3edcdef6d144f12
95aae4e3fb442ccb582ba1dba825967cc8f84221
F20101108_AABGHQ punak_s_Page_53.tif
4b28bd0e673350e64847538480309f65
0c13ac6d56c172df311f9b309dacbe4a8d282037
F20101108_AABGWJ punak_s_Page_79.tif
6c97f58bcefcdf09b84e53d8563cd3a9
0855da086d0939f8ba77e3a2f422492201e025db
26781 F20101108_AABGRM punak_s_Page_42.QC.jpg
071b1307e76ec5ab46515dca002f1fba
4b4f4f3dd1a209f4ece91d7599f42c9801124e08
1051956 F20101108_AABGMP punak_s_Page_43.jp2
f0dbc98dbac485c5eac04bc4abfa1bde
a3662380c409ecd444eccdcd05d82a0ce9a03039
F20101108_AABGHR punak_s_Page_17.tif
1858834cf3ab3567cbc0735ebe007108
6dda340d6d3a9bb790dc7dcd84ad0f16519520d1
F20101108_AABGWK punak_s_Page_82.tif
d427cf2a9f351b65559982bf6452a422
449e1101932da73267c55c3219fbeaf4f3e075b7
31359 F20101108_AABGRN punak_s_Page_66.pro
f101c590317934ea96d5868d206268bb
74309ed5ab8c3dc888c29fbf3b21fcadd789c54c
36946 F20101108_AABGMQ punak_s_Page_49.pro
659e0e09dee00feaa1a77ced2af11b31
a498bbb7d2647c4a83213b3f03ad44498f350436
86453 F20101108_AABGHS punak_s_Page_50.jpg
a2d2af121e9d7a21ffe5d407a1dabb9f
5dc0a2677de74daed45e666b2413c8e51dc510ed
24056 F20101108_AABGWL punak_s_Page_04.pro
074e25e58cb3373d5bfa4f98364be162
f8e5c844852a99ffa0746367244fa67f39783a9f
503 F20101108_AABGRO punak_s_Page_11.txt
109e1a3bcd4531b751eb757b653697c3
ce8cf55e25953404329a50a7007efbe700a13f08
5986 F20101108_AABGMR punak_s_Page_15thm.jpg
b50bb76d82441c0a56f79efe0efb8a98
547ab5ed7ce7a55528c103d69354a1a5f89eb975
12670 F20101108_AABGHT punak_s_Page_04.QC.jpg
1ec498b0466ae8f4d1a97ca0da4716ba
5914c8b8ff2d4e282f9c374024681f416fd195cb
56592 F20101108_AABGWM punak_s_Page_05.pro
9aafdb833eecb37d18f1f2f9195093a5
472b9c600d69fd97682977e7d0df2d997f528cff
1634 F20101108_AABGRP punak_s_Page_01thm.jpg
6d1aa4a1c8592f1fa77a486829cb4bc6
d052f5b20df84ed3e956e4b227638e4e74921c4d
21613 F20101108_AABGMS punak_s_Page_58.QC.jpg
c15a88d072b7ac0dc9f5ad8c1225d3ca
b2d13a342605244d8ae55443001caa7ed102e53e
90529 F20101108_AABGHU punak_s_Page_05.jpg
6d691ebbb3e63dbaaf71dc682f33854d
3a3f1011fc1bd7aea380a8b43fe3b6120864d0c7
18760 F20101108_AABGWN punak_s_Page_09.pro
724f7e505553781ed39e3a258fbdc969
19748135e8228809f2f3729fe2a8459a22113f0d
1051982 F20101108_AABGRQ punak_s_Page_50.jp2
7e412c2238d4bbd660c51bdf3bcf7214
c522142c153fab54619c134062cc4ec9518487dd
2831 F20101108_AABGHV punak_s_Page_15.txt
1e6c864ef1b3f51965dbc94cc7310785
2233d4acd463443b15ad3100846a5af8a263606e
58612 F20101108_AABGWO punak_s_Page_19.pro
a12b4ac55e7d3ae8d664ef8f15eafde6
f2dd77c92c2d5229cef0648beed7c2e4ca702640
20926 F20101108_AABGRR punak_s_Page_61.QC.jpg
ecb751b5ee584b7e98d639b40c503a9d
2c5051a5019cc7dc55d974e7b8dd0f85f783769e
897740 F20101108_AABGMT punak_s_Page_61.jp2
d42befbe7dad711a0cc4519b2439bf59
c1006282fec73d5b3bf27e495120810d7e8676ec
28542 F20101108_AABGHW punak_s_Page_81.jpg
b89aef029e4e7f7dfb955d9634c75aab
84abeca02f353967c686ab4f88803b5208f2495f
41999 F20101108_AABGWP punak_s_Page_20.pro
9b6243a3016eaa9139dc0ea3e699bc6d
294479a9a7203a63526e6b5f7a50587ccdb7c03c
5844 F20101108_AABGRS punak_s_Page_43thm.jpg
b2b98e4f6252e143282e347014028f11
ca09b55ddb791ff7347eb968e15043b1dc5f072e
96532 F20101108_AABGMU punak_s_Page_74.jpg
ff910398bd43a143ca7982173d8d8fe4
40b472f10bc6fc5aa86fbc5cd0f1fc7ff29f3c58
1051966 F20101108_AABGHX punak_s_Page_49.jp2
1f54fa2fecccf7899d36471d963196ec
1ec3d6103a45c78c48d6289d917a870c2278f102
55961 F20101108_AABGWQ punak_s_Page_27.pro
b6e5244bcb303f019a7fe2f0f87c5d96
b6790303b7a390e78f63e3d370f25ab054043054
5226 F20101108_AABGRT punak_s_Page_08thm.jpg
4a996e92d6bd6a480301aab12b4ace8d
7d7a64680e4c493dd0a60b6f56878bc257e8dc8c
27670 F20101108_AABGMV punak_s_Page_23.QC.jpg
f8cbc3a5d9c2fb0a476b61f41e822b9b
63c035ca7fbb1b98275cc3e587e609054b122c25
2723 F20101108_AABGFA punak_s_Page_04thm.jpg
c48663e252f1229cd68e52b8748c625f
f3be2f86cc448936c3d255133132a18c5f6e7ade
136 F20101108_AABGHY punak_s_Page_03.txt
c36c02cc33edab5f4a43bb1beed4405d
6a810ac54834c8bef4714443cd4d58171a3446ee
57747 F20101108_AABGWR punak_s_Page_28.pro
9053b8e934fed1c363f978e1ec8c2cf8
58d3cd0b402bc65e7277cb127b9287eaf345fab6
6281 F20101108_AABGRU punak_s_Page_77thm.jpg
59dd1c49ebf07efda8bb83b87657d0cf
febdf9d9cdf00af15b2781a887f7e9cacaa43089
5924 F20101108_AABGMW punak_s_Page_74thm.jpg
bc4368bdfbe65ccc40eb8fe0fec8ca68
d035207597968395babeb26cb13471a7f89bf069
15662 F20101108_AABGFB punak_s_Page_73.jp2
409cc0984910533b01f7270775e032e2
e9d820615d6aadcd021215d7cc2ad1d15c0b056a
1051953 F20101108_AABGHZ punak_s_Page_48.jp2
5a6bd3e31941dd9853ee1b80c0633ece
0e899c81ffb58dd250755fd75f826e5b72edaad4
27638 F20101108_AABGWS punak_s_Page_29.pro
f9972ac8de2599432a7fa4fbb5c8650f
db61b24dbd2a16500ae84df7c8f36b8bd2345fef
57449 F20101108_AABGRV punak_s_Page_26.pro
d133bfe755cca1d74c59fea773cb381a
6ec504580df02a5b8a4ad97481cf609a867516fb
29259 F20101108_AABGMX punak_s_Page_17.pro
81afc6fe49ab7557052ba57a9e281aeb
4467bc752e1fa18d607a9f310c745ec3b888cacd
54917 F20101108_AABGFC punak_s_Page_43.pro
4574dedf86b776c258f088d295cb3aef
ef9cd2198a05bd46067d2126744ceeaad91e6550
46671 F20101108_AABGWT punak_s_Page_30.pro
d1990198c66a5091ba81a99b6595953a
d829842cd1da5a2f75362b6a42e3109f949d7de3
26130 F20101108_AABGRW punak_s_Page_41.QC.jpg
c8c1e7da907452219ae758c6c6ffbb85
a07f4815b36bce0376d7f19c6114a23de3187612
407 F20101108_AABGKA punak_s_Page_71.txt
7e45424b5b4c48c5d9748d2db69e6758
abc12502e1a5c025e6ceed97750387baf612d6b9
17581 F20101108_AABGMY punak_s_Page_67.QC.jpg
0aa22ae4961abc570ad068450ffd9f3c
fbf767166dba70aa4b53410722d3bf1ac14e456d
21701 F20101108_AABGFD punak_s_Page_62.QC.jpg
ab0fcfceeafd9fe9cb550afb3605b8e7
46d28c691652900774592686e78b7274be34c0aa
28279 F20101108_AABGWU punak_s_Page_39.pro
bffa1340cf58e1d4d2915acecd9b9920
66b49e1df868632a9335be3e1384f0a59a60daef
F20101108_AABGRX punak_s_Page_59.tif
af9be55fd674a2d243f7db262bcc7128
acf09c86a004e81d038856adde2480acc9f04432
1051962 F20101108_AABGKB punak_s_Page_13.jp2
63be3d1dee56d49377107bcd8eb8c9f0
87efa39ececf2525f3c0ba303047d82ffece7fe2
459873 F20101108_AABGMZ punak_s_Page_52.jp2
6a5cec236c4ecf798146254694306bfb
667a773df00b53e57a367311cb6179b8a5566217
2137 F20101108_AABGFE punak_s_Page_50.txt
1af6c14f32790d485233d3c757c1b3ed
b8360a27f33c7365f39f4a3831e1167324ab8471
7909 F20101108_AABGWV punak_s_Page_45.pro
dc4ad11e6ef43f155cd9cd9cbe81e83d
ce4caa3b995b8bf1b0df780f949c9269e7df365e
F20101108_AABGKC punak_s_Page_13.tif
0725fdf2ec16750c65178db32496a7cc
62ef8c7c77fa0726b0cb79112cb2cbe44ef675b6
37716 F20101108_AABGFF punak_s_Page_61.pro
015b4b33ccbfba20b9b6489c35aac055
f8b03a890412713cf358204a12b5517c19759a66
42931 F20101108_AABGWW punak_s_Page_46.pro
1bb71930849f4a7108edc979fc43f2c5
226cfe8a4bf90d57f9e5228e2771f5d0abff76e4
10940 F20101108_AABGRY punak_s_Page_53.pro
a677239527d048c8f00ffb92fd058902
21fc05e6b756690a6f3053125560a77fd38f73f1
48552 F20101108_AABGKD punak_s_Page_17.jpg
f4c672bf87e3d4d61be36e06e604f1ae
66169bc27d7f8ddc8bf16f3c1ca8ae9f7f98fbf5
1051981 F20101108_AABGFG punak_s_Page_05.jp2
9b4c6771a059de8e56c72db5bb8412fc
f03f59cb66ed1ee5c5fc8beb377a44811270217f
F20101108_AABGPA punak_s_Page_62.tif
1e8700fc7dff7cf91f58748a80cc9bd2
34373ceaac25f8d50afc57ff2500cb05d938aa81
54679 F20101108_AABGWX punak_s_Page_55.pro
a9629e94864c57b12d5e1c6d79297a58
af4a11143316dbb668eb58a5487b3210e97961ac
49271 F20101108_AABGKE punak_s_Page_40.pro
9b5b89e9ee5b636ed5828c465b7f4fa1
85143de05bb55a47fb0bd77217c6846b81f880de
987885 F20101108_AABGFH punak_s_Page_69.jp2
ff7fe6c36d8b447e2cf99b27a635d07f
17a0b0066de8e3392ac82929c8651f8186295236
59234 F20101108_AABGPB punak_s_Page_74.pro
adfe614e968e576e76800d316469249a
5a62fa11930676344c487b11686a13e965ff44e6
6887 F20101108_AABGRZ punak_s_Page_71.pro
f9f6395a5140d8b99f4748783a7dce19
18fa527ab837612707dd9db954410b871ab0d0b9
38241 F20101108_AABGWY punak_s_Page_57.pro
894abb994c191b8dcaf5389e3fc5141d
af9c731391d78a45486d46ef45051dbc468df195
F20101108_AABGKF punak_s_Page_67.tif
8bd97baedef9c78dda0e47c3d6bdb851
f76111e1cf6027564656f78ab8dbf840da675364
113632 F20101108_AABGFI punak_s_Page_41.jp2
a227928c8d9b211c70449833c116c344
bd6c1077bc06c5104ec94d341ad360ed1aa9e747
6405 F20101108_AABGPC punak_s_Page_33thm.jpg
f442fee739b1fdee516e1b87b9304a57
13f854b4013a86a93bcf8bf745de8f067d7e5a4a
33862 F20101108_AABGWZ punak_s_Page_58.pro
d60e8e7ea527dc462382c9ecc67c3d0e
4e21dd7ee720e7fa6c44ff8e182616e003414abb
F20101108_AABGKG punak_s_Page_50.tif
478f99b55444490de300b1c218117b51
24d6b095eee268afd7d0ccea1d8876e101a9e005
79383 F20101108_AABGUA punak_s_Page_32.jpg
8707a4e4e9cddd11976372888b6ecf45
688d7bbe926ae2bdf74b4841a985f533b373fb5b
52517 F20101108_AABGFJ punak_s_Page_48.pro
34372f0192f3146e78acb021f778f8cd
00d38ad0d0b72bf412549e51b5df423697338207
2059 F20101108_AABGPD punak_s_Page_14.txt
0155201b5d3f0bbbb6646c9e025051e4
813afa7d5a4096a57cda79b53671b77c6e89616c
5430 F20101108_AABGKH punak_s_Page_56thm.jpg
b89634f0af5c52a79d569d8b0093bc7a
4d7de251f990a805289e8d7bcb4639e7cab38090
97602 F20101108_AABGUB punak_s_Page_34.jpg
e554244880233a93f03575a305d15ad4
9e2ec59eda350d3024edf38a61e01fa5bf4ba654
1123 F20101108_AABGFK punak_s_Page_29.txt
8ff6d4bc309173e23322d1bb7ab4b011
3fd736618429e718ccdd502855c965f56548324c
59810 F20101108_AABGPE punak_s_Page_22.pro
ebbf4e76e535462921729905c44096f7
40b848092965b73c07213115f9a49079e876d920
F20101108_AABGKI punak_s_Page_61.tif
44a373eb135ca731e38afabc281ed8a4
e83cc7119e65d7948d420cd846ad880e5e05f34c
77524 F20101108_AABGUC punak_s_Page_40.jpg
886f88f63c7ea2689c6d81bafc828c3c
a86c9dcdf5c1becf696713d015d0d79a433db8ab
5261 F20101108_AABGFL punak_s_Page_35thm.jpg
07f44573b8f5ce3b90a5e85cd1db4a72
dc23d36567228add7c71efa956e8c2261e8276a2
F20101108_AABGPF punak_s_Page_66.tif
6d873092b9979a563722fc5c63b31ccf
1658bf7a0ee754b37fdccd084bc535e31b553516
3454 F20101108_AABGZA punak_s_Page_17thm.jpg
033fc9bf3bbf247e405f7f5eda7e79f1
c2801d1586a642cdcf3a484c709a5339e7c7c798
76718 F20101108_AABGUD punak_s_Page_46.jpg
7c8bafa69d87568a0a09e67891321a44
945cba4e2fd5593102bcef9b830ff78081add50b
48665 F20101108_AABGKJ punak_s_Page_64.jpg
d5cb0a6bd09ca2141cdb3283875e2b7b
a5c09e96ce224a77462dc4592f1fa53d8b34dcdf
3835 F20101108_AABGPG punak_s_Page_64thm.jpg
f2de62be2ab80cdcfdb3c73376f34537
07deb538837253d0b66c7208b82fd2faf61ae214
27494 F20101108_AABGZB punak_s_Page_19.QC.jpg
5db8a326120b73126ff52df433d439c6
8d72e809e3f7244a772c954d10009dea0dbb16c9
74320 F20101108_AABGUE punak_s_Page_47.jpg
14329eeca948829c37c701f7baac2f9c
0447a95d28b86f031a95847ab32ea53a3af9a8a8
F20101108_AABGKK punak_s_Page_15.tif
5987e39a97d19baad330f55010a0014d
0f905a929cfdb20d7106f0f685acc4d3bfdb5ec3
18131 F20101108_AABGFM punak_s_Page_66.QC.jpg
7bfe604ec3adcd9c102ce4071d89f751
553470c4e2dc6ba6810c886dd43239cf7dacdf0b
23673 F20101108_AABGPH punak_s_Page_13.QC.jpg
5af157f2302a51186a780dec1cb8ff71
53a13f96871342b001176fe49f2e7f87eadd3b14
5962 F20101108_AABGZC punak_s_Page_19thm.jpg
8f26ca84b9a30098ee5c2da62005bbd8
5f9365f4e8e52e0273cd5ff5593f243851505565
65044 F20101108_AABGUF punak_s_Page_53.jpg
4027aa95931d8c2eeccbd142b138bdc0
71de96f2cccd0508f88460a4d3ff19f55ca1b2f0
22248 F20101108_AABGKL punak_s_Page_30.QC.jpg
c6559c6f0b3faf5281c120992de2083e
dc7cb586c0018d556c0565aebdf3d73efc856c89
137815 F20101108_AABGFN punak_s_Page_76.jp2
2d13ab38a80b0825f85577a5082ff749
1352aefb717ff86a5acc16787a0f79454761a90d
1051957 F20101108_AABGPI punak_s_Page_47.jp2
88700c830ea374e88745165060c3465f
5985114ae6265059ed386eef6cc7b24752289a1e
20586 F20101108_AABGZD punak_s_Page_20.QC.jpg
e1119ba9ae532a5576f1532e8ec0eaf9
21f1e60b753c835966a7187ee435d6d1d61c317b
81849 F20101108_AABGUG punak_s_Page_57.jpg
2dbf00a81e09d4df4423fd96828c3bf1
98ba2d8f09737f184d27b7cbb0f5bb33d34a1c15
F20101108_AABGKM punak_s_Page_19.tif
c723c07eaf9cfe3b6dff81586e67fcc3
e8fcccbdb3af8d686f7c879083fbfc138c3d206d
524 F20101108_AABGFO punak_s_Page_01.txt
ebee6dfd64ac7ec8bc5fb547a0d54a53
310acca8e240225d8311e104c6e3750e0c9b55cc
1853 F20101108_AABGPJ punak_s_Page_11thm.jpg
cb0fdf8c8d6df7e6739ae77fc78dc632
143d77e0ab36ebbd3a176380b93de007782667ef
5039 F20101108_AABGZE punak_s_Page_20thm.jpg
eb18d78bb66b21b32790814e0ab814b8
36d4175c0fb7ffef86398078ca47f7276090e4e0
68256 F20101108_AABGUH punak_s_Page_58.jpg
b1f917840144e5675e6e7c67f4f89d6e
0971afd49a52471c41aacf81b3a48f6bf31e2adc
F20101108_AABGFP punak_s_Page_15.jp2
fc72badfef6b1d08b5f0bb644e83e450
e3cf8ffae0f76dd6d6a50aebca0a24c53547ff45
1051985 F20101108_AABGPK punak_s_Page_36.jp2
58d5967cd5d955fd61b65655d92b94ad
896753a1ec76d6d8bdd34d8cb46f5aacd343b109
1051967 F20101108_AABGKN punak_s_Page_31.jp2
658b83745fa708e31b1e767ebfc31fba
37369b078098c7fe96e60cd383d655481251b7ff
24469 F20101108_AABGZF punak_s_Page_21.QC.jpg
ec24a16c4c16ba9afdf4f24d29dc0eb3
d2cc08d519d71662555fa7cbfe44b61e4c69483a
67969 F20101108_AABGUI punak_s_Page_61.jpg
cb92d14c6f86cf0d5027c1d78b889243
9743978114dc190b2843ec5fd65a3b4eaf570f3d
5600 F20101108_AABGFQ punak_s_Page_25thm.jpg
6cb992230ffa758558aeb9ac203ae83e
26515008354a87f92cb75e70ed6066fe75e68a09
90036 F20101108_AABGPL punak_s_Page_44.jpg
67a1d5b225b58e83d9419d0a6ebfc233
07b26a5e8cba84a3cbaaeb9ed3c075efa755d4f5
F20101108_AABGKO punak_s_Page_47.tif
0cd3e9943e2a34d07cea819d678ce66f
601a066dfa16834cc0a61fead470ff9b86c9a988
5569 F20101108_AABGZG punak_s_Page_21thm.jpg
a2960af978c6a3d8db4476bd736a537a
4e1c4e6a76373d02264db708e9e45bb0bcefbec7
69587 F20101108_AABGUJ punak_s_Page_70.jpg
b107e5805f18ab07faa499d8a30243a6
66c847b3778bddbe3ad8ecf4c02ed52fbf21fe2e
39755 F20101108_AABGFR punak_s_Page_32.pro
760697a26b8282e0d889aefd2d387545
e9fa0f909ded72b0100254d1fdf9cc91b693d1d1
2315 F20101108_AABGPM punak_s_Page_09thm.jpg
7e7ace1c05b377e6a8a980b80b10f4f1
93cf4434d84038b9de6949ce06a6ceecbcc83a73
2393 F20101108_AABGKP punak_s_Page_74.txt
8eb7c4575fe4c9022cd81d21b1d83ca8
8f08ac2bf2dd41d8c04bdf14e5dc0e5762dd52c3
27927 F20101108_AABGZH punak_s_Page_22.QC.jpg
4aab3890ae7221d06a7b10b0d54f9785
f3efb1cadfcc93bb0b98faa92702ff13dc408b6a
52773 F20101108_AABGUK punak_s_Page_71.jpg
c0eed38fd924959d7892989ca029f4f6
860c6e1be7332d33ece892a72313c247f90e4b63
23522 F20101108_AABGFS punak_s_Page_05.QC.jpg
96f654d63e2e3578ae52cf0349838c05
16fc872ab64b78c8450ab2f49e6c298146df6d91
1051959 F20101108_AABGPN punak_s_Page_68.jp2
08cabd04fcc82f32f7b172ae2cb63a16
074ee67ddf46c06b3a737fdf6bfb129b1e0c7459
91886 F20101108_AABGKQ punak_s_Page_33.jpg
5eae2c039487f0f2338eaee748cb0b48
89b89f806b8d7a7c39f689c2ce6f3c8aed7fa277
6121 F20101108_AABGZI punak_s_Page_23thm.jpg
dd0c1a253bda2967823922001d3f0cfc
6a9c95119ad383de0a926975e3dc8a77aebd72b7
87024 F20101108_AABGUL punak_s_Page_72.jpg
2155f8d08d79f8764b1f9479300263a0
cf94e46892786cef9618983a365e3f2cdab3f645
1964 F20101108_AABGFT punak_s_Page_33.txt
74e47a7bea62a17c97315a0ec4b2e41b
225eec2d64ebbdc62f51b6af80a59fa5d920ddca
2628 F20101108_AABGPO punak_s_Page_52thm.jpg
89f905f41bf5a60783795fc4e68f4e87
572e17287a55abc95ea2ffe30578e26a2a725afd
6145 F20101108_AABGZJ punak_s_Page_26thm.jpg
d45abf046da1315a686768422e62f5e8
5a9cd99cd97bb730dc7647719e25a6b394c55bc6
10204 F20101108_AABGUM punak_s_Page_73.jpg
e3195b17d2505096b4a86e714e1b94f0
4f7fe24da727f0d7c5cf6a0d171f0cc07ce8e9a1
23801 F20101108_AABGFU punak_s_Page_31.pro
5a6b633bf78d06082fc535281a7c52d7
ec7f76cd2c66c0efa4dc8c398384a41443275bc9
F20101108_AABGPP punak_s_Page_33.tif
db18fb0dcae73d27d0551ee6d94fb0ae
dc13ec0722e046dc7f850db5ad59623ef1f1caa3
57283 F20101108_AABGKR punak_s_Page_44.pro
2fc89b713facd9a3ee8e5f35406ff40a
78e90c8e47d59b37d117e6d5fc6c56cfe8f66d0b
6012 F20101108_AABGZK punak_s_Page_27thm.jpg
6fc6790389187ca3591a231a0e98d576
4d8d39a0beca9376e8da63937cd0ff2a4e0ced51
32470 F20101108_AABGUN punak_s_Page_82.jpg
9da7d4dceb12860eeb0782603d00875f
9d11456f1967d13fbe7ce34c2e2078960a9f3f48
87988 F20101108_AABGFV punak_s_Page_65.jpg
f6ff8127ebf09c1c88c3f9698412232e
f4090a36fcbffe4dee0da1e122985e6f4b9f9722
6073 F20101108_AABGPQ punak_s_Page_44thm.jpg
460fce1a81fc7775bc13170af10e33e7
6a5260099b65069561fa435f76386b8deb72809c
94798 F20101108_AABGKS punak_s_Page_22.jpg
a16b51e951795e2726c484c1f2e647cf
f356beae98d21f4c06b622ea93570419543ab4d9
5272 F20101108_AABGZL punak_s_Page_30thm.jpg
894f3ad61f3ec288f4b55048398e71d6
aedf1bc804acb560d1241f114fa6cc60917d7194
7530 F20101108_AABGUO punak_s_Page_03.jp2
e4550e0c0571ca6fbc8ae05f6c5a46cc
8b70e2ee9304b244929a335bbdb7c67cd5eb5b3c
102979 F20101108_AABGFW punak_s_Page_76.jpg
77905a59c78a1541280d370f937f2118
ad78ad18d748be5abd5e4d9484ddd70b2f7f3fbc
85160 F20101108_AABGPR punak_s_Page_36.jpg
1df832f43bb1338d177562c1514e3fe6
4da240a6566344d42d342226aa93e46745b32728
629 F20101108_AABGKT punak_s_Page_54.txt
bdf1950acd27cd94139c42278f8afa9a
348a798c12ea3f2ffd2a84edabc838d8942fedc9
20967 F20101108_AABGZM punak_s_Page_31.QC.jpg
4273f1af5b613d88135c73a15d61031c
8e29ac9a26dffa223678b45035cf4eb145c334f4
53489 F20101108_AABGUP punak_s_Page_04.jp2
70cff6d67a8df98d84b3db9cad34f57a
2f70e491d09b04eef2d4a0454def9b68156009f1
45244 F20101108_AABGFX punak_s_Page_35.pro
8a9ce29d9d994104ea3566a865728cbb
4c0c43c9b7b5a86ae3829f98bd23e232ad4b1b47
5730 F20101108_AABGPS punak_s_Page_18thm.jpg
bdc69681e5335fcd00c32af11d9f473d
49fdb398b9af245ea04de01a6c1ba87512d09613
5437 F20101108_AABGKU punak_s_Page_40thm.jpg
55f8268cbeda376015c6bfdf1f426876
0f91dfe49436dceeef70f452623d033e943a32c1
24000 F20101108_AABGZN punak_s_Page_32.QC.jpg
b4947912b519ac89f63b8aed4e0bb852
d2c8c91a7da52d4b2f6a86463fda1e720bac80c1
832261 F20101108_AABGUQ punak_s_Page_06.jp2
a7f035a86a077df6ae52c2dd9c88594f
cd2886c39b3d433cbfb0e576b1c542140040a415
27379 F20101108_AABGFY punak_s_Page_26.QC.jpg
4399df3c6badf3faf482dd8ebb2b6572
fa78b086007173f2e89aec07a2dcf6c8ddba5b54
55310 F20101108_AABGPT punak_s_Page_41.pro
1d2afba2c2041d8eb41e503ef6889efd
96b771a65c0983688e72f99b69a36de763de3d8f
55379 F20101108_AABGKV punak_s_Page_72.pro
4f3e18667077de25f330c10a05c1bdaf
49d1223fc17b48636b6662b7ab41e28349431a29
5206 F20101108_AABGZO punak_s_Page_37thm.jpg
c69f72993f9e0060865c3d7c16c67f14
37cb2565b7d6374373cc69252eadfae15772b6f0
931495 F20101108_AABGUR punak_s_Page_10.jp2
c94c67216f3a6d3fb88e7532a8ccbe57
14ffb5dff2e4ed274db3b89da3366274d17f7c96
27772 F20101108_AABGFZ punak_s_Page_78.QC.jpg
bfde85e68a1ab56f2ea9e895dbb55317
43d0ec7b3194872bb72943015628e2491fa38de4
F20101108_AABGPU punak_s_Page_69.tif
db2ef7e9352fddff7dc86453c4514728
44cd720f4d4f986304e2ea20a86f1f05b423a918
F20101108_AABGKW punak_s_Page_14.tif
a49382a079e182db5268f81a5e279c81
871637f07fc56f4208152474f990ccb582924baf
5411 F20101108_AABGZP punak_s_Page_38thm.jpg
d4bcb6bdbbe3dc0d585fb3cb231b1022
0c3a19fc57ddf824fa2b22aa3bdcbfa90192d4ea
276704 F20101108_AABGUS punak_s_Page_11.jp2
dabb11789bd5cad6e6634be92a43ea9f
1b41048de3bdb845025e75081b09377ccd0c84ef
785011 F20101108_AABGPV punak_s_Page_56.jp2
d2c561b11021e67a235612c4f48c53c6
5b392f8026aadef377f72bc2527955389246d148
50309 F20101108_AABGKX punak_s_Page_13.pro
2804837a5d8b08b2dc73ea992ee7530f
b68be2ec07d17a89560fc8ab5d748ce6b7956b2f
16705 F20101108_AABGZQ punak_s_Page_39.QC.jpg
ef8083b94db3f2cc1b5bc78a97dba11d
a87572dc1e154417f92d88416073b1d03afad521
110492 F20101108_AABGUT punak_s_Page_16.jp2
8f8ea36f9e82e3cab4546aa0bb686ed4
5ae76c808571a7f56595ebe34e8c6872b227d85a
F20101108_AABGIA punak_s_Page_76.tif
2e50919a3c2041cb5771601631b385df
1a009df9c8206a3fe7110521eb2073dc2a261bfa
26474 F20101108_AABGKY punak_s_Page_06.pro
63c4a9383c5c2b0ce9aee0cbe539607c
99e8d152920734f8d13ac2d270a7ae619044c141
23364 F20101108_AABGZR punak_s_Page_40.QC.jpg
78f647eb022222b9825b4737de1dc20b
71df37f5b7d1ae73a29912c1f0ecedf6f091bdd9
661841 F20101108_AABGUU punak_s_Page_17.jp2
755d27549cfe2e9ce8012297f56afd81
40dd1540fc8f36f115afbff769fd8823638f5f45
52699 F20101108_AABGPW punak_s_Page_25.pro
5dbc80aea2ad2bed8d5d4f4319ce6959
1b1b232f16938fcb4f23a4d7cb69248357f45bda
1417 F20101108_AABGIB punak_s_Page_12.txt
cfa48a3ca32229448f8fab013fbd162f
72b3ff88c2d946f3079ec1884ba9df647da2c651
2180 F20101108_AABGKZ punak_s_Page_25.txt
7c2e37e084ce5cd7edc880260f6351ef
52b64e89ec5d9239162c6df65780e9ccd9ad837c
5636 F20101108_AABGZS punak_s_Page_41thm.jpg
6ac4aa05a4cb1134baa5869cc33ecc78
a0e27466f113e2576d0eaecd8520bf234b7158ab
1051972 F20101108_AABGUV punak_s_Page_18.jp2
a801ea50bfe49a6cfdec2b264c1e817a
1cbb5a135c41dc02fbb28c2bdd977cdbaabc7a63
2658 F20101108_AABGPX punak_s_Page_06thm.jpg
d79e2c19d2afcf23e934feb4a76f3e9d
2733888ee033bbc83a2ca4a532dc83e20de87282
54278 F20101108_AABGIC punak_s_Page_29.jpg
6573b2898acba7116ffcd9a868f102ad
d1b5c7867fa03e96d3ceef7217028577326fe754
6234 F20101108_AABGZT punak_s_Page_45thm.jpg
430e78b52776dff5bab3d43640ab4a61
3b1bc45fb09185da8b3dd17a8aadc9f6faf7c0fb
1051949 F20101108_AABGUW punak_s_Page_22.jp2
761ef921fcab2aaff59a9e9d702da98b
21b8dc7deea253993e2257c65d635043676b8b43
87985 F20101108_AABGNA punak_s_Page_55.jpg
e2e5b0788ccba219026ae53033eee110
6552e0cbe4b09ef0a0218a8970b1401a19e0b083
F20101108_AABGPY punak_s_Page_07.tif
cf8068b03b9b80288bf22bb4ab33cd58
9f259a9ed2438277db9cbc4c6f0535b0a749755c
F20101108_AABGID punak_s_Page_75.tif
f9ed3b6ce3d0326d64bfe1060c2a5990
422e41e894e0a2f74c01413a3260a90e2df89529
22907 F20101108_AABGZU punak_s_Page_46.QC.jpg
cdfb1cb714419eac61d96efd09e7bac2
2e1c379d38e0de96dfcf30f0dc910f361600fcf3
1051830 F20101108_AABGUX punak_s_Page_25.jp2
6526fd90a179cb38d6636332038267c6
0e3a2f058aab0b67aa298f5f9f3f9c88453fadd8
F20101108_AABGNB punak_s_Page_27.jp2
07c6a9feaf79a46f1d146c50af51823c
9e5b51628964eb13728db9e9cbde66ef47c631b1
27770 F20101108_AABGPZ punak_s_Page_01.jp2
e7dd52be98efa2e46c3343fa07aa6bba
0c061ee4299a27f14611f2c3cedcd140720a3022
68221 F20101108_AABGIE punak_s_Page_12.jp2
1844180eb6a519035af592ee2c286397
118faa2269114376344dcba02ca8c218be73d679
5656 F20101108_AABGZV punak_s_Page_46thm.jpg
01bf7355735d3ecd03c0fd2bf5fdb338
c14d90918ae1e560ee2c535e04cb2fd8ffe3e9d0
1027089 F20101108_AABGUY punak_s_Page_30.jp2
6718c3ca3abcc412022d65304224d8c0
292235e62e7be9cf1764ec02a75574a5ffb6284a
F20101108_AABGNC punak_s_Page_20.tif
9ef4053831409cbb0a5e415055036dd9
7e23dc2d1e07bbd56a1ba7094d8823a04a7b4992
2635 F20101108_AABGIF punak_s_Page_79.txt
28c2fa6ef12492754ae816efc7881400
0bcdf73384ec37228027e703e595bf5206d7d0ee
6520 F20101108_AABGZW punak_s_Page_47thm.jpg
2c8f114455f7050ce8eddbfca815a6e7
e32b467d19a11aa7104b8618a4b714912a721610
1033891 F20101108_AABGUZ punak_s_Page_38.jp2
33ae97710dbe9bb265251cf9187e6c44
dadce605bcf3f9184588403823eb7824fae83cf0
F20101108_AABGND punak_s_Page_05.tif
10cd90ddc7dd876bf0ffff3d8d11c22c
cc24693e69b8a43ff97819cdcc4364c6214fa57f
3370 F20101108_AABGIG punak_s_Page_12thm.jpg
6c843deb6ac2301abe1494fcac57250e
3244b5f1e10c8c7b540e548e6d8f30dccd8714aa
2638 F20101108_AABGSA punak_s_Page_75.txt
dbd0264f0d9c72dbcfadb17c5fe27987
f102d4a66aa198dc55656419725f2f99a3ced5e4
10812 F20101108_AABGZX punak_s_Page_52.QC.jpg
a9398483f6ca8231b636196e2e0e0451
b56d2d92c53bc00bafc1a5b0c4776be488a396a1
80515 F20101108_AABGNE punak_s_Page_48.jpg
32b36822902454de6b70e2f73387bddd
c2d5ef377c48b55235a82bb048b092d40aef900e
F20101108_AABGIH punak_s_Page_39.tif
e406dbad8abfbbfecef9a09bd28ba4e3
461c5cf50ea7e3aaced4ab8b19ab6868dfd36296
45806 F20101108_AABGSB punak_s_Page_37.pro
102c333228934e1d980164980b26b365
edcde3ca4e54b3f470be4aefd5e31d9357c9d2e5
22136 F20101108_AABGZY punak_s_Page_53.QC.jpg
bf5408ed6c4764046961b49ec230a4fb
16ac27498a71a6f8104bbd65087812ef2eb97338
F20101108_AABGNF punak_s_Page_40.tif
97f6a4811ceeccfbc05342f46148989a
681dc63769ae47d005e1de73e5c1bb342a271878
1608 F20101108_AABGII punak_s_Page_03.QC.jpg
3ea6ad3fb558efcf3a7c1e661b7ce70d
6a3293735eb6f4f383bdfe1026483c2c300159d1
5925 F20101108_AABGSC punak_s_Page_32thm.jpg
df443a186a4847477f491f4edd78eec7
8f14a0d0eff5648cb75d209082f9aaaa2ff72ac0
19222 F20101108_AABGZZ punak_s_Page_56.QC.jpg
4e6b5ae897f709d67ad19ef2dfc8d419
440009aec19b5be38a442cfe74e304316a7e3212
37850 F20101108_AABGXA punak_s_Page_62.pro
546dd8344a8ee27ceb6f052b82d505d4
307be3e5bffb5c8f2ae405ac77cbc820944e1ce5
6880 F20101108_AABGNG punak_s_Page_53thm.jpg
7a8ce87447721f03f0c8f69a80066b9b
341e59598f58c4fbfde35635043edba86dbb0ff5
87294 F20101108_AABGIJ punak_s_Page_63.jpg
06224568317ac94ebfd7abe990c84742
d23d49a23b577e22ed9fde6f974fc9a9f8d6f2fa
F20101108_AABGSD punak_s_Page_14.jp2
5863c9bb8627c2cabccf7ff5fe7113c9
195a1a5a519db03f04aeb793fcb766a22722fbd7
F20101108_AABGXB punak_s_Page_65.pro
f0e4c73a263c3758f5d4891390e206cb
092f0e4d099610641fffff11cef47f8c9d7b2652
25142 F20101108_AABGNH punak_s_Page_43.QC.jpg
43aa618a034337b1a7dc0088c5b16753
4022a6da0a8c2e7da6951ecab5415e43bfa5c737
663067 F20101108_AABGIK punak_s_Page_39.jp2
4ee4acdf7e22e75ed5323c8423fe7406
38453193114385f0d7149818aebea697936ddbd4
9473 F20101108_AABGSE punak_s_Page_01.pro
ed37d905ad030dbd12f8e13bc67a5003
918696352f81ea7645be1235137409d52ff89be9
21387 F20101108_AABGXC punak_s_Page_70.pro
cb54c7f741875f512842498ce5b6d104
eba5f224e8807b5d5a3f4d411b5ecfc93897895c
25896 F20101108_AABGNI punak_s_Page_50.QC.jpg
becccec40cd8f7d15f0bbd2213399766
d39d96b8d554273d2ba7dbb64efc4048b287f14e
F20101108_AABGIL punak_s_Page_02.tif
97cc66437c571d9f4e8d0255b788260b
3e60dfa019537575a9b672be14076ce272fb034c
F20101108_AABGSF punak_s_Page_18.tif
8bd6111f9b7cbf2d79091ad95f129490
1ef3bbfdd0c66f626fc8051ae8a4c50813cda469
65664 F20101108_AABGXD punak_s_Page_75.pro
6c28719b08f81cde80b0b28333b6bebf
4b5c3ffdbbfca840447096e6ca8c6c999c7ec3f1
F20101108_AABGIM punak_s_Page_30.tif
8c213338ccfbddd1a2ce93d8d0584ee6
68ff09412191f333b3879ccfc3a782183902f5f3
22545 F20101108_AABGSG punak_s_Page_37.QC.jpg
208935193db1ab1f91f5020fca287749
b37dea6cdc027bb4b8efaa2c2b5f56ff4ea768b0
F20101108_AABGNJ punak_s_Page_81.tif
879e5f454a2218e4e0fcc6e0b883dbf2
91aedb16c273fc947969fa4cb607c671fcf5bfda
64240 F20101108_AABGXE punak_s_Page_76.pro
5ea3a0ce74baad719c1daed5eebf3821
dd3a6d06bd335ad240edc3f5115ffc1fd734bc57
12705 F20101108_AABGIN punak_s_Page_06.QC.jpg
56a444398ec02bf82e0659f15466e23c
67ced04f19a604cc4c0996465631668b35d341b9
1051934 F20101108_AABGSH punak_s_Page_72.jp2
8466afec40225e4cc18d438b0f7901b1
03fe50dc0d3a417de237316bbcd153b9e96c489e
7962 F20101108_AABGNK punak_s_Page_81.QC.jpg
daf65dc1662ca45556d703b0075f3fc4
b1d65c24c7d8cad0dbc525b036abd41788d4eba8
65244 F20101108_AABGXF punak_s_Page_79.pro
bec7f62162bb9e3341b1d53fc0bb1fe1
d30e8246a46789ac44297f4233029ff4bbad59d2
6203 F20101108_AABGIO punak_s_Page_07.QC.jpg
5de487499247a5941a5992168933e21f
39d344f5672398e1ba59cd89a68ab595345f4896
25795 F20101108_AABGSI punak_s_Page_49.QC.jpg
01452b88f4aff3dc6b20285d38771aa8
3836342a00d90468f47d514433e2b9a4a8f77ce2
21315 F20101108_AABGNL punak_s_Page_07.jpg
9e092182bb42ea2b8f0cc9ccd9861a73
bf942216bea4137c064bace934190b15241f3238
68908 F20101108_AABGXG punak_s_Page_80.pro
c6989398057ea4eb36bfbad00b902b7e
273552981ce66ace8425d545ede8d5aa3051fa86
5664 F20101108_AABGSJ punak_s_Page_55thm.jpg
69f213c85b67a58d8b9ca75f6062be27
002179cb5e5cb2f7e87b77457fd04956307f2600
58116 F20101108_AABGNM punak_s_Page_24.pro
067499237e51dd9cb11c8823bff20305
7800af1e572a6367052b6f6e8b81616988ae7259
2706 F20101108_AABGXH punak_s_Page_05.txt
1a8c07765c2283439afe5041c2fdb927
b6d2fcf633871fa63dad36fce2583925e8e514f6
F20101108_AABGIP punak_s_Page_70.jp2
85e81988e46fea82abe4f65e002f52c0
e3214654ee8c95f2ec0b672dcbf474ad5a990ae4
1693 F20101108_AABGSK punak_s_Page_10.txt
382e8126fa38111530892147fa8dda7b
9013b4deb5b20de27b6d1f2f2469c1b7d7fb312d
5389 F20101108_AABGNN punak_s_Page_51thm.jpg
2b777974f02c7321a17bb9c99e75cd99
be25bbe9dd5c079c46bcbf67bb86698d00fdffb0
1232 F20101108_AABGXI punak_s_Page_06.txt
7056872720d9980b98bea6904d15388b
997dddf72ac98e4cf8d45dff1067bd6629e88d46
74710 F20101108_AABGIQ punak_s_Page_51.jpg
2064f4421661f3862fc85285c38f9db5
0a3000b8245079a2826ae3042d9f3369f6630a12
1051980 F20101108_AABGSL punak_s_Page_40.jp2
b594bfeadefc2a40c69c4319eb6b6bb1
14ac2f9c01cd6ea58e8041fa0f9891ff24b19cbd
F20101108_AABGNO punak_s_Page_12.tif
97f6051dc3ad4272ed64517fcd08d175
fd0bc988848e9a4dc8f03f1eb5a959283ab51633
397 F20101108_AABGXJ punak_s_Page_07.txt
58351c123e8d4a069858e9eeeac6fda3
e27a9e9e6e5fae2860b1505c86394570942650e0
91357 F20101108_AABGIR punak_s_Page_27.jpg
8ec1fff1d8a6c1ee7c32f4d13a7089c9
f973f8c9777b9baf09533f7255796207dd99366a
26147 F20101108_AABGSM punak_s_Page_72.QC.jpg
1d6fe45822743a731ac9ee852bc9793e
b94401e89bf1c862f0bfacf07431cf0156120a3e
2132 F20101108_AABGNP punak_s_Page_40.txt
3ab9abc6a0e3cc455d2fbbfe4f79bb7c
ad177d34ee088b93f45a7fa7e1e25558a26ea036
778 F20101108_AABGXK punak_s_Page_09.txt
126153d901b802a4b3071b78ce8cf3f4
f5cf67322c81fa4cb3eb692be38075f8ecebb2e8
58079 F20101108_AABGIS punak_s_Page_42.pro
b777cc720035142ef2fdd77cbe12c32b
e920f2d4558c78b112667d24015bd86d56cf7fe0
6869 F20101108_AABGSN punak_s_Page_34thm.jpg
16c8f2c7bef53a2613dee7225f7560a8
07bf267f16beea97e71be0919f4436da242edd31
80843 F20101108_AABGNQ punak_s_Page_49.jpg
66682df4bcf1372424d14d4328e3927e
d2ec95ed4ea281a50fd775f2215fae5b6318691e
2377 F20101108_AABGXL punak_s_Page_19.txt
4fca182a93737402a9e371b07e3e3d62
3348f570e5553ff8a460cc6dbd0e45c5d325ade3
F20101108_AABGIT punak_s_Page_25.tif
57b9e526a74ea65615b7ba5135c3fa44
01e9c16a8b640cb5ffa6b0c8d306b4b329ea354e
32293 F20101108_AABGSO punak_s_Page_09.jpg
00a7f769af0aef4e8c215f5c896af93e
ad0491c7538802144c612238d31fc47668c00fcb
26251 F20101108_AABGNR punak_s_Page_63.QC.jpg
447b5bb519efa4fd642423a2f1ec1d9f
0fbe9ca4cd181462fef52ee3e9aaa4125d779e0c
1818 F20101108_AABGXM punak_s_Page_20.txt
3cf6e27ec524417f44e4ca6bdeab1160
d735a0e8499f401eaad50545e33830c4a9b20f5c
58274 F20101108_AABGIU punak_s_Page_23.pro
f2a2948a93f679bdf75ad7a15510aa5e
16e6a0b6a732936c6b96b44ef15220dacce6365e
2284 F20101108_AABGSP punak_s_Page_26.txt
c323fa079cd1886edd02b06433580af5
61f529819f9e513d568c5db1645ce713f5dd9543
6406 F20101108_AABGNS punak_s_Page_54thm.jpg
7a494c206626a57060eceaf77048ea03
97bfab86f796d2457d015cafbd93665ba94cd9ce
2061 F20101108_AABGXN punak_s_Page_21.txt
8649a14dbe9961062d43575035a200d2
db2a786b78eeee2216b80acce2e5622af4e2082c
46999 F20101108_AABGIV punak_s_Page_36.pro
e9b3c0699b445aec3ea484d49305022d
b70ee716ff7629ca956eae4481bb001dd82649bc
781729 F20101108_AABGSQ punak_s_Page_67.jp2
6a0c0affb973c05e2c2742734be437a3
99f4d775785743bf7e204a238c591edbdc8531ce
F20101108_AABGNT punak_s_Page_46.jp2
0072de7ffeeff89f9455e7f4bd33932d
531758cc29adc662c6966cc337580cc1eee8f0b5
2355 F20101108_AABGXO punak_s_Page_22.txt
53b94ba21510e65a3940784a773b73f0
906b39296d3b0ba1807583c249848e4b068aaf2c
403800 F20101108_AABGIW punak_s_Page_07.jp2
150ec80f2cf6ea96fac3544feb479022
5db563c546d46e12fb80479d618ea4d0695715fa
26368 F20101108_AABGSR punak_s_Page_69.pro
747951fc1fff88f6e9dc32f7efd97730
730087633b3154f3d14008f8a7f4de39ca52552a
2287 F20101108_AABGXP punak_s_Page_23.txt
3415d22c69221b6d532a990570c0ee9f
0a9cd749045f1a8b7f1a58d8f90b679c1fed23a2
F20101108_AABGIX punak_s_Page_08.tif
e40b5ba58bc9bfa16b9f5a16478a1792
9984c42aec18e256bcbce855c91200c2809db4be
F20101108_AABGSS punak_s_Page_28.tif
edb56a6e8d972daae5d9eb799247f090
e4ce8771e02d2db4852522f5c9b94ac5d4db81c1
80479 F20101108_AABGNU punak_s_Page_60.jpg
8e006f36d4b1c6aba61817dde6a58a68
31f6a8521f16dc85e7b598382969ffdffbd4c1f4
2240 F20101108_AABGXQ punak_s_Page_27.txt
1230a2ca99fdb6951235b1264c7cc639
e62f2a362a3dfd4e38d9cb798788b7b4438b25c2
100770 F20101108_AABGIY punak_s_Page_15.jpg
d5d7d9bd0b5bfb243f349afc93ba4217
d8a117ffc32e806275fa7c7bf83923b6ab0dfb1d
5681 F20101108_AABGST punak_s_Page_68thm.jpg
02c899dcd0d2be494c6a9a8e9fa57342
4d4bc5d1ea997315674539231af0a18523b81803
90284 F20101108_AABGNV punak_s_Page_24.jpg
0ba9ff017fd41d0a5f3221a34906c0c2
c3c5561f00f29faa398ac991e625b3b816397baa
F20101108_AABGGA punak_s_Page_33.jp2
07f8455664b66689718ccd7b27ece095
cabc88cd9c121440f6dad5b83dcfd0af3a3c595b
2276 F20101108_AABGXR punak_s_Page_28.txt
89011be09956aaae67d2c92ac1245663
d7f31c0f70eb289f7edae96a290754a57637ef00
52883 F20101108_AABGIZ punak_s_Page_16.pro
4c23a0692f9d13e318973f43656717df
5f317f50ee462cf5b554aa5d49555331a420349e
992 F20101108_AABGSU punak_s_Page_04.txt
0aa3febe3d0d42a7d18d244eeb7fd077
00dbbe24978744dac0188d29f96965e607f3a2a4
29482 F20101108_AABGNW punak_s_Page_34.QC.jpg
4721ea0037ab83ab9be00491d3530b5c
1d0e6abb1d56334a9f33686bb8498304af684bad
1051975 F20101108_AABGGB punak_s_Page_19.jp2
52ab15a645e6c440c5283069e090798e
9d3567b47f6bfa595ec1952d9511b7658d323ee2
1592 F20101108_AABGXS punak_s_Page_32.txt
f00b22be8f7c518e5fe700ddb73dbd5c
717987a7449d0ef5356376f7cda351e8676ad3f9
105389 F20101108_AABGSV punak_s_Page_79.jpg
5b7dbbf0458b637d4f5d696666b3f2de
616537c585a6e13bc0663802873356ae82defb9d
1962 F20101108_AABGNX punak_s_Page_30.txt
d9e364b741f443d23585afe40bc1247e
bff15edcc3ac278c180bc896f466235afb158402
24605 F20101108_AABGGC punak_s_Page_48.QC.jpg
65118146b16e7485a1924348c086e7f1
60bd84c66011b673bb3acf346dbec9b5928139ce
2004 F20101108_AABGXT punak_s_Page_34.txt
91edbe2a8e9962f7a2a114eb90817ed8
193ec56c047d6f0c0406fbcddb3b15e171a3d1df
89745 F20101108_AABGSW punak_s_Page_59.jpg
d80928532acda64becc4f9bcca908158
df64bb6eef67399ebd8167a01575d4c5dd7039a2
F20101108_AABGLA punak_s_Page_78.tif
68630066806b66a8aba328a4299a2b78
b9b506d74f61a21b6beaef48919fc8e64cca87eb
1554 F20101108_AABGNY punak_s_Page_57.txt
0773053bc5e77fa405e722c5e03d7556
d1786ed74c6a75af1748bf76292c041054a45042
1051960 F20101108_AABGGD punak_s_Page_21.jp2
27ee646b5528d6f47711c6c26d8f70ff
5adf9378f77134d7e7236110f445e3972e4b43bc
1938 F20101108_AABGXU punak_s_Page_37.txt
da98ec318c9ebb1927f0231ffd8b4555
abe04e69abaddf16c796b894947d1b5cc6e492e1
107385 F20101108_AABGSX punak_s_Page_77.jpg
6f52d48a241c6cc80b22bad27b9c7fa7
f3fa96de88ff897d2b1a73b280b0aceb05ca648e
9396 F20101108_AABGLB punak_s_Page_07.pro
d1316715003047a128328bdae8b0ac2a
218f05bbaa9633816cde9aacbd8c735c26d4a9a1
F20101108_AABGNZ punak_s_Page_52.tif
ba9a34bdc52853d5fe5cd75631615099
86a595124ac784c56e5283c09844c13a8004de75
75661 F20101108_AABGGE punak_s_Page_38.jpg
dee5ae4e0664ce1f955c860e280dc4f4
8fb3547977caf92acb672b33e0c90a6839fd126a
2294 F20101108_AABGXV punak_s_Page_44.txt
83e12c3135d18614db086e94404cdd31
b0585ab1f261e0cf4fae8fcc68603e3f42b7e830
86219 F20101108_AABGSY punak_s_Page_18.jpg
ca07cb074e25a4af01db6c8ff7f1f661
d0ddd12e5b4db7665938396dd97bd77a0e0e8e0a
1594 F20101108_AABGLC punak_s_Page_39.txt
f69695a230d359eea68e4c7729b4f5a4
9c20d08eade4bbeddf1bea5d4a5967c579ce6bd2
2297 F20101108_AABGGF punak_s_Page_41.txt
7585e90cc05b2ff6b5b79f3673979624
ea58b98a524c2445e7b8601c719be37c7b0f619d
1721 F20101108_AABGXW punak_s_Page_46.txt
4eeeac5d5a4ed2843b1bd0da06a95d40
49b8752bbea64d9e4a6d6285535c185744312761
42647 F20101108_AABGQA punak_s_Page_04.jpg
cfa63d1edb4392a55e9d8072cbb87b4a
3dd1c59c36f1e8dbceb6b8bad801443d28f8f43b
1972 F20101108_AABGLD punak_s_Page_03.pro
49fa04b5f6115740e93dfc8234d198f6
29d2774d406c915e1ae223b16e486c00fb4c4676
F20101108_AABGGG punak_s_Page_77.tif
e6f351ed90fb657935f8e6a63374db64
d8b83f6e20fb9247a64e39151e3eaf4d32cd47ab
2183 F20101108_AABGXX punak_s_Page_48.txt
33ae8848f43d1750cb2ca2844ef24909
155fdf21ecedae79d022411ac913e2b697b24511
23141 F20101108_AABGQB punak_s_Page_35.QC.jpg
e861b1d57c9ede2b39579205208a7b21
a4b46e4b3796b1f4dea13f7861a55467decc8d62
20395 F20101108_AABGSZ punak_s_Page_52.pro
1a1a6613a5bef0794a1a861f94ae398c
e094b594ada85b157e2ed752882fc835f387f014
1041251 F20101108_AABGLE punak_s_Page_51.jp2
acfd8bf05f5afe0bedc610ffb7786241
c24ccad8765b4b1020436ab7bea56db3b23c6d64
737 F20101108_AABGGH punak_s_Page_82.txt
6a9ceb0e0ac7f8c4309eccf5fdf5dd3e
f6ea599f0ffa217e692c712edaa52b1068de659e
1545 F20101108_AABGXY punak_s_Page_49.txt
6a679d540f0af76887b1acedce2e545d
7c8ec7ff2161618125100cc90210898b0127dc92
20566 F20101108_AABGQC punak_s_Page_69.QC.jpg
7c3fd66f45c8d3d4697f374b890f5c37
a60478aaead57bc460774872e99dd13b581585ee
F20101108_AABGLF punak_s_Page_21.tif
2d9cd5d08b878fe8b51d4d3ba58a7215
bac9935c7f570236456c5e05e47b400337a617d2
2320 F20101108_AABGGI punak_s_Page_24.txt
4ef48105b9691c037bde7d0270ec6820
d80fd76b8e2c2cd125849261cbc100427b9efe7d
1395 F20101108_AABGXZ punak_s_Page_56.txt
0e8c894b70b0dc36ab19dff9918b1092
3a2234f63e5eea18607a8e85ae1e8c94480b2869
1051969 F20101108_AABGVA punak_s_Page_42.jp2
6a701c37929140a371cce3105cc997ff
4d1416263878b51506270889b7e530635107e10e
6360 F20101108_AABGQD punak_s_Page_70thm.jpg
23e40f057266d78f82a5a121f3031b03
47491532b719956fe1b70ea1881384ae965b3ab7
F20101108_AABGLG punak_s_Page_36.tif
c9001b3fc71892fff277ca557517c871
0ee4c91480e935a5af11fe967af749bcd2b221d3
2212 F20101108_AABGGJ punak_s_Page_66.txt
a98f935d2d6f9c58d84e29dfbd094c63
fd9dc1be6dd6298c0d8b3cd1034512a4142e1b33
959142 F20101108_AABGVB punak_s_Page_53.jp2
2a177c858d20c78654107ef1bc99fc3a
19ff458784c8220ccd6ce9a25314a645d320316f
24233 F20101108_AABGQE punak_s_Page_16.QC.jpg
0a5108112d5373dcdc91d12e39e5aaac
24fc0ffa4eed330dfa7ba1d0f57ec40b4f590162
4883 F20101108_AABGLH punak_s_Page_10thm.jpg
7adbe609f3e4884d454447d510d07afe
a617da51ae93a79125b5d04ba84732bde3533a5d
6694 F20101108_AABGGK punak_s_Page_49thm.jpg
12ec6281e38b4c7b1e47f959eae6c9a5
436761e538b0d676319c32c5aada332f049c6a26
F20101108_AABGVC punak_s_Page_54.jp2
3e15cd8ac3b6731a253728d9a3a16984
11a8e2faf163dcda2304503a591526e343d694cc
F20101108_AABGLI punak_s_Page_70.tif
9b50cd2dcfde83bf75546241f6f02006
ab3b4094bfbe0a777883398f3a6f1b6b627ad991
9738 F20101108_AABGGL punak_s_Page_09.QC.jpg
0e07f5be5dac71c4ff210ec41d153fd7
0d1d2846537510f2c0bfe4dbdec1772207aa0de6
60201 F20101108_AABGQF punak_s_Page_66.jpg
d0dfb4a8a8f4d8f7ca6ed38f0f59aefd
2dae963a8b00943c5eeccb5b9d9c29b8f052babe
F20101108_AABGVD punak_s_Page_57.jp2
2303f6c01344abae12f84c189677ac54
0b8e78ef1903e1d63647c0cb8bff3d5d48a46865
70155 F20101108_AABGLJ punak_s_Page_62.jpg
a48eb7e533732126f612500cdb1e8f80
f0be424ad24410e8cda19a0ea456e9cc87cf50e1
86031 F20101108_AABGGM punak_s_Page_41.jpg
810fd95d8ea68a576451d2f3b3d914f7
5023088d8f0c8cf5b5c9952a28571a6ba51f2912
1722 F20101108_AABGQG punak_s_Page_51.txt
722a7d6acbc27ac8ef1d3eb6fa40af67
8ddbbb4d16fc15e641291d13f4eb0a5b420ca9a1
F20101108_AABGVE punak_s_Page_60.jp2
e4806e41c98fa285302426eee1c4c626
8422e36842c094d89ff33713776e84dac733abfc
49205 F20101108_AABGLK punak_s_Page_33.pro
c66a2c62bc5024b87d5a97dca69317af
81fdb1f162da2a2001375127273638158f9c1e63
41931 F20101108_AABGQH punak_s_Page_14.pro
b70c9f06c2a89decb3a3f62df625929b
3ce1372cd964a7f5b44546d1fce4f78cd1a6c36a
1051963 F20101108_AABGVF punak_s_Page_63.jp2
b56b521377f07b38df181d5bc9d17ad0
4f14a18007d57b688bcfaffd57adfcb861b2501b
33625 F20101108_AABGLL punak_s_Page_47.pro
738cf882afb2bf276f8580895c50656f
64e065cd8059b066f875056fbd74786ca2e4c48c
F20101108_AABGGN punak_s_Page_23.tif
4576483efcb3fc71df62b0eb40fc58d6
be9a81971d85b1653c7a65bc1fb194373914fb0b
F20101108_AABGQI punak_s_Page_68.tif
eb241665d865d0a9a19e8614c9c3c688
ff2b82644db57e5bdb7ef89f350e520d78dd8b79
1051983 F20101108_AABGVG punak_s_Page_65.jp2
71acfc02f5eeddae7bceb73e2a48e1a4
2df8ecb1740b51d60b8834778aaeb878394c6cb2
26181 F20101108_AABGLM punak_s_Page_74.QC.jpg
6db506061126b201c06083ab75c850b0
b0ae64fb271e5fb921156ae6ccf9dc1432f991a5
5981 F20101108_AABGGO punak_s_Page_24thm.jpg
c24959f064135cbe9343f93bd169a4a9
c03b3e658e80a691e2439f94006857d5f212417b
2193 F20101108_AABGQJ punak_s_Page_43.txt
83c705881818d2b0bc0391566eaf51dc
c41e8e4d9938cc31d99e599392c4cfd27fdc3fb6
947894 F20101108_AABGVH punak_s_Page_71.jp2
273e7b5bcbde222d08275680ef4aa8ca
f738787058e147c069fd13fedeedb36f0a2ab6c1
103864 F20101108_AABGLN punak_s_Page_78.jpg
32bdbd5822d200ab9a06f0b000176b87
8fb9a7be2825b8a54150241ba1a3ab9c3c37ba9c
2301 F20101108_AABGGP punak_s_Page_08.txt
b28a10d79c0b2e825c8a383f7aff0f7a
b566de292cfbac36433b2ef5ca64fa6e1892007c
1051929 F20101108_AABGQK punak_s_Page_45.jp2
0b055d28708aa6f1254197a6c21dcdac
0673ccf9e3062d37141aa64feb44706b02c87780
144189 F20101108_AABGVI punak_s_Page_77.jp2
692532e338ba8ce3df6bfda883049555
285f6897e8a046f359c49112f7ce8c889589630b
F20101108_AABGLO punak_s_Page_26.jp2
db67022872f4d5702cebac44f46d4905
c2816b7eae2b07fbdf38b3d6d94c6d45ad34f834
F20101108_AABGGQ punak_s_Page_42.txt
8e03cfb30b174ba990c32163a3d3e4d8
f27164f6b03f3449e957ef09fbb8f3453aa38194
816 F20101108_AABGQL punak_s_Page_52.txt
a6dda1e45be4186cdca1608b29e6a328
fd34bc7c0363c5cf54b29658612485ef6ea12c12
140011 F20101108_AABGVJ punak_s_Page_79.jp2
2e88a715412ab219336b6f66c3e096d8
db595e26c66387a2d04f4b871b21d6321df8507b
F20101108_AABGLP punak_s_Page_22.tif
62b34586ba5e85fe9bd931201fca8952
434cf43877dc707b4a8d7f5fbfbe4081bb179ee7
76409 F20101108_AABGGR punak_s_Page_35.jpg
fdc421c105147abb9ea445de1153b748
c22ce5ab2825aa5d29a53edaea26547a9132745d
F20101108_AABGQM punak_s_Page_32.jp2
f341b4c0ba282f1c0701e446e6a34352
0d7af7466b8b23286dd4bd8b7f8bfef797809c7e
144512 F20101108_AABGVK punak_s_Page_80.jp2
fb6dcfe4643ae74f2dcbe0a2af879b5b
ab5487b2941a39e2facfe05216ab8de1bb366489
19337 F20101108_AABGLQ punak_s_Page_10.QC.jpg
c720bb5decb38e2daeb41f9e7a7f8895
2139d79d8f173c38779f99d085494dd5d3b299a2
52910 F20101108_AABGGS punak_s_Page_08.pro
f78b61931641aec97b11b0b355efc302
fcabfea5054c4a2e269c5e44a9e0ce1c7f41d626
12516 F20101108_AABGQN punak_s_Page_11.pro
15394a1ba1dd7f3cb8288cb494ecd54f
4654a4adb46f58214bb46fa98972c7ccd36ea627
41739 F20101108_AABGVL punak_s_Page_82.jp2
4dd7a2108f9313163d7469e4550d49f9
7effa4f49878b55883eea7aa30b3ab4f07a2a403
52968 F20101108_AABGLR punak_s_Page_39.jpg
613e3909f5d0e24f6604ddcc5928e731
33c6da18f9da694c64159dd85f545c047485f65e
950729 F20101108_AABGGT punak_s_Page_20.jp2
8191f7772183350c613f4c41f457572a
e698290d06cc5d1558ba09de30282d97c8a54b49
26330 F20101108_AABGQO punak_s_Page_65.QC.jpg
1feb11e6e8cccc36fc662e774ba67f3b
e2ba51858caad46d407ef12375aeb0e503e670f7
F20101108_AABGVM punak_s_Page_01.tif
0baa93ca181a3c4a7d8d13517f359604
5c3de887a9ac1ba78d8ed77a71700b428ba6191f
22233 F20101108_AABGGU punak_s_Page_11.jpg
618b175ac2668e8287a044616d8ac9ed
6b114cb19930405df18c9aa6ecbda6fb154d2080
82072 F20101108_AABGQP punak_s_Page_16.jpg
46bb5d3c60d6d3698ce65c8ca4f47391
fec63ac7bd29b30d2da36643971312a1a48f87a8
F20101108_AABGVN punak_s_Page_03.tif
e107666ddc1477179aebdb1720d07ed9
4ae781b8579e5d17a608fc3c0309dc789cd4437c
68271 F20101108_AABGLS punak_s_Page_77.pro
37abc88edfbad2ad915e51926e0b444f
e8e228d8baddd1416dfe17a4fad6b1f89f2a0c72
72615 F20101108_AABGGV punak_s_Page_14.jpg
acbe3a516b81285facb948c7c8ec40cf
ba7ccfba7eefabf9e1021b42a7b5b6d82c197eb4
104087 F20101108_AABGQQ punak_s_Page_75.jpg
4569018fa6cbf51a2143b57e7c3a050e
01931d57000096e539bb6627c71d92500d1eba1c
F20101108_AABGVO punak_s_Page_04.tif
070427fb785d2773a29d141cb002f300
5d6aa03b02bdb7a888106cd52771db34ec1f8f72
26687 F20101108_AABGLT punak_s_Page_44.QC.jpg
c795907edc31912642dcfab2c3848452
029e6eb81ecde073d91260a49f2670c3eedf107f
106167 F20101108_AABGGW punak_s_Page_80.jpg
bbc5518a6291a347a181d7eb0f38ff39
f4318794abb9c9fd10d753788182ceb49d1fc1cb
710041 F20101108_AABGQR punak_s_Page_29.jp2
18a8b48554023924145d29f047a57cf9
728b3ad6400ed4ecf55f05e2c5c799721ff6b294
F20101108_AABGVP punak_s_Page_09.tif
aeca13349ac93452ceb9b6d4d7a3558c
020ec78055c31e3f1fb1073ea1b6c49d28ffac4c
5429 F20101108_AABGLU punak_s_Page_58thm.jpg
4d142cabdc220f09b31d03b3b4c74e19
d57045b4c84b452c0cbe022f3ccc8c605bc544da
2261 F20101108_AABGGX punak_s_Page_72.txt
1f1cf9d341f17572fff8caca9f7d2a0e
330657388f4102d43dce0c35be0764baff080093
94346 F20101108_AABGQS punak_s_Page_19.jpg
696775cafb0093a22352ca8cbd5efac9
a5fc5844d32773291e56494efa2e44de074bea04
F20101108_AABGVQ punak_s_Page_10.tif
b5502ab9fd0d37f4fe5896d2860c2fc3
7fec95f179709615a8cbe1e21ec0dd7a6bb6eb85
140435 F20101108_AABGLV punak_s_Page_78.jp2
0299c58da293e55fc7ea0b50e4062243
fc41194691d2fd3b06e56c8672aa36443a19c73e
F20101108_AABGGY punak_s_Page_58.jp2
ec1cabfcffb1627abbdbe4312be90673
7a582c4493f36dce9967d411d668ebb69db2c66a
2249 F20101108_AABGQT punak_s_Page_55.txt
1917f0de352d03ab36d4cef52066a215
a3b92e685da515b1afae09bf815d08ad66b842f7
F20101108_AABGVR punak_s_Page_26.tif
bd4f6e862b4772512fd2a05f08614e6c
31bbc2db61ec3eee73b5642bb62576b938ff1eb2
1370 F20101108_AABGLW punak_s_Page_47.txt
9e20f63a67b6041d8f4af7937a675f65
700aeaa1c8813e34c925ba2d1a28e1681fcbfd31
F20101108_AABGGZ punak_s_Page_24.tif
977d4031314e4b962585ebee0a86d54b
a1271ea801da7971706d997e233c5776478800f8
F20101108_AABGQU punak_s_Page_35.tif
0f4e394af4bd3ba85f6782c08c816b76
769b0be5467ac1a85f77be4a10f0b310151cf042
F20101108_AABGVS punak_s_Page_27.tif
eca6f70e21aa71241c2b78df261160e5
8a88acbe53ee0bf3e20c6c9bb3809808e8d24e28
4901 F20101108_AABGLX punak_s_Page_31thm.jpg
66f3a96506726e2816aaa1210b48d100
96fa9f8c7926a476ee4f60e408581c5ee5230b30
47706 F20101108_AABGQV punak_s_Page_38.pro
f0bc4500c9ce4a5da6ac9622edf70846
b00bcb3d3252b89f0831fa76f3b3d022c6010cb7
F20101108_AABGVT punak_s_Page_29.tif
1cb4858060b3086b506b5626187a4cef
73ebfe4c2024f1442b54ae721b7d9ff05afb26a8
1946 F20101108_AABGLY punak_s_Page_36.txt
11239899926e7bd4420df7ce5fde0df2
b62618717eaa1bea13c1d24f570be068bc4ca4ed
51621 F20101108_AABGQW punak_s_Page_12.jpg
4025947b35922e990af2e585fd1f08fc
d56ecd721ca8efac15389884b24e8ca4e552b5dd
488 F20101108_AABGJA punak_s_Page_53.txt
e9cff245e3557bca92b17980febeb8de
c975826c7546e662e523771f50780f9f48ff1fce
F20101108_AABGVU punak_s_Page_31.tif
4a48a564d4869e7b9b7d2fac9e8d9445
42504bb2749a2532a2b7380a4611e0fb5273e03e
80648 F20101108_AABGLZ punak_s_Page_13.jpg
3253346952be06029b00aaeaed6d9b36
d39ce4ca422efe7081577ae4ea63e7d8fc884361
27495 F20101108_AABGJB punak_s_Page_28.QC.jpg
fb37ac51c75a7f9127c102b214f067b6
73ea1afd50d30eb79288d53a28c91820328dcc03
F20101108_AABGVV punak_s_Page_32.tif
7242b68f3d7453d5c104b9b12287dd3f
1b9720b24958f7373d6ee5e291c05c9e0c89312e
808566 F20101108_AABGQX punak_s_Page_66.jp2
32c9f85fab0bab489368517d57ce9bfe
5a65aed3e66d98c0671a5090bb1b0734b61915fb
929046 F20101108_AABGJC punak_s_Page_62.jp2
737e97654bdc43d876b50fc1917c6380
26d009f5e0bafe1c622dc3bac9541ecba0b47f1c
F20101108_AABGVW punak_s_Page_34.tif
512f25b142565eebdf77af31f23ead62
ecf52b8e19c2c8f2f5c07128f4595cc37011d288
1051950 F20101108_AABGOA punak_s_Page_24.jp2
e897a4b2a932c481ee7cbf3dfb14096b
2f8e86dbcc10a221eba2ba42d36d79bcfcfeed0f
6099 F20101108_AABGQY punak_s_Page_79thm.jpg
39cabd492ea270e0bf49f84520237408
94bc4f863db6ca1cb643e56da186823c05928b58
53303 F20101108_AABGJD punak_s_Page_18.pro
a8cc2fabdbd19663ea1c30fc0e358d3f
488c42a79812fdac93d82bbada276bbd151624d4
F20101108_AABGVX punak_s_Page_37.tif
14586c74e8a9e45fdbfdad1580a5814a
af1bc7968057e70b29f228eac333a452474bb522
F20101108_AABGOB punak_s_Page_43.tif
d08e8f3f5c0d29fb26390986504519e8
6e5413727fd2baeaa0b597de7c85dcf112d5c60f
55430 F20101108_AABGQZ punak_s_Page_63.pro
7ad7a5cdc0e2d6c09eb722c1e7109ecd
467996689c2d6ff18a0206ac2fbd32183527dde3
F20101108_AABGJE punak_s_Page_72.tif
9b15fd623c6eed0f415711f37618e0a0
cefa0718bc9940c6d0f07f37251544c10bc4a825
F20101108_AABGVY punak_s_Page_38.tif
f7c511a352c7767ca1954d5671f54de9
945b7c2f98473fb4592dca010eb1c72a2ef91a26
23432 F20101108_AABGOC punak_s_Page_47.QC.jpg
f0f3081e60596031ace337ce9baad452
fecb41a12012cc9d550428c2444e9e18593bec3b
98603 F20101108_AABGJF punak_s_Page_37.jp2
fb51e391f8717145e67cd04e4e0ee9cf
fc79acbd96b11b80fe076f0f4b79bf3813256020
F20101108_AABGVZ punak_s_Page_41.tif
5f3c8870729062857b6dd58ed14d793c
a305172621279770a546a23893b056c7eb21f94f
67771 F20101108_AABGTA punak_s_Page_69.jpg
acec387ce3e15d08c48471df64a07923
f7e77fcd695d9d8db1232a6a0ecb8d62f07c2844
78687 F20101108_AABGOD punak_s_Page_45.jpg
8532587d0ae3fb25214fb67859afb928
5eb90c7c85e09b02b1c218ac6b231e623635d30e
21167 F20101108_AABGJG punak_s_Page_56.pro
5f84eb7edef0d958ee4b72f017de57be
5a612075dca7c588247d0dccf2152915ff671610
F20101108_AABGOE punak_s_Page_34.jp2
f1d52fe01d3cd04670f9d24e4708b8b8
e8fbf1c2ca514cc8ebacf90b44e54237e748659a
2222 F20101108_AABGJH punak_s_Page_18.txt
4b054e06adeab0c2036898d659072ed6
73b55b1ff251eadc47696a3f06a911559d9d759e
69918 F20101108_AABGTB punak_s_Page_54.jpg
d9ade0b5c4d6a0bbca95b92c371f677d
37aa6c3cd2f4a990f3e1e98449b46ffd7bf9224a
24987 F20101108_AABHAA punak_s_Page_57.QC.jpg
5e35f1a23e1755f652a24a7c4cb79ca9
4a903dcbcce086745c856a97eaf55d5109d3fe0f
51009 F20101108_AABGOF punak_s_Page_21.pro
b90b2257404e3264f9734f0031b0f0ac
8bd0e9048c6096bca13d69df558377f24b4660d5
24969 F20101108_AABGJI punak_s_Page_18.QC.jpg
baf4e2dfaf8e06213b9996c6a3f3e102
edfa23faf24da733d45f66324af1aeef2282d75c
5764 F20101108_AABGTC punak_s_Page_72thm.jpg
5a8adfabeea562ca65e876487ea2967b
fae940af2c880627cbe6e52d5b5a6e0c6f5891d4
6790 F20101108_AABHAB punak_s_Page_57thm.jpg
e6cc5a74388f3cc13185cdbbbe0cfbc6
ad5ffb33cd363d13a8fb405c5fa2f8523faf5be6
1787 F20101108_AABGYA punak_s_Page_58.txt
da93835475e5bbc5d1e852b7ac480e07
caf85cab13fcedea308449a098a0b8e30d77878d
14728 F20101108_AABGOG punak_s_Page_12.QC.jpg
7c202a13be049bb589c0f8cc46ebbb38
efb5f272b0067116823e7602e8d67a72337765ab
65217 F20101108_AABGJJ punak_s_Page_78.pro
955dada986f4bac43990d7646ee90df0
2cbb3c1984100f53931b3f4f58ef0c1cf0151de1
73305 F20101108_AABGTD punak_s_Page_37.jpg
04bba0585eb76e8b43ff9a6b1987f1b8
e303c2dd1e85026e8e2f759cd3a4c057c8a9c136
5783 F20101108_AABHAC punak_s_Page_59thm.jpg
00f339afb0b5b5db2bbb521aaf74c633
6f922b1d8ba5cd3218c6039f422d3b8053e9c5aa
2166 F20101108_AABGYB punak_s_Page_60.txt
2bdd6c3255f9b818f0bb28db3d54e926
f5d57c9e80a22ecaa6e54d5e683f188fea7ce539
424 F20101108_AABGOH punak_s_Page_45.txt
7a0bbc04c590c9ffcc9bfb0a4d70d590
347796378f69a27a24b59878c3021afa2469b902
25900 F20101108_AABGJK punak_s_Page_01.jpg
f4e003f64d481c07aa348d80864dc17d
33e7de0d707e8d00be4a1b4d8c03899bd2c4d5a1
F20101108_AABGTE punak_s_Page_65.tif
23f2d12e53d145b83c812dd3ad6410ae
1ae9b9ab6140406ce76591ae826dc95b82c912ea
5934 F20101108_AABHAD punak_s_Page_60thm.jpg
21bd4d14f02ef164261a321c88d2545b
fd9836e74c0bdf65ec84e0c49539b21d6c18dca3
2052 F20101108_AABGYC punak_s_Page_61.txt
a7fd62ebd0e250fa902d1a25652e9bc0
6c1748d2ae16d0c4b9b1bd62d25efcdd9ffbcf82
F20101108_AABGOI punak_s_Page_63.txt
ba5e4a770b4267e6e5600e79875cdfbc
86c1f9256722cad997193ebad73b3d2a1c8da3a4
5139 F20101108_AABGJL punak_s_Page_62thm.jpg
6101b777309ad41420967321c85be9ec
bff9de49ce2b2fe2735204b03d6245cf11330f4c
50463 F20101108_AABGTF punak_s_Page_60.pro
c8962bfd76a94a6277a715260a9ed5d4
1184612923cde650cd81eb6b440f6152b29f9c34
4822 F20101108_AABHAE punak_s_Page_61thm.jpg
f40f267744ffefc892ebb7ffb71a2fe5
8e1676aeb567e71bb1ff91a4bc7fb52b97c19b1b
2033 F20101108_AABGYD punak_s_Page_62.txt
540a0536aa41cf1e22a0e71fe632dba9
98f517e49548f75d7240a6adfcda14c514d17b3c
24204 F20101108_AABGOJ punak_s_Page_60.QC.jpg
ce92f41f1ff552083611c658b850929c
2eae476f5f5da4d8214ee5e39387c828f5d60069
30670 F20101108_AABGJM punak_s_Page_67.pro
8ccbab96a41efb7ec8fdfb073cc05702
a61a7eed24699b67660542a1bb5ecbd48dbdb7ea
67854 F20101108_AABGTG punak_s_Page_10.jpg
4067f2ce48f5336ae68a6cd35ceae61e
7cec3eecbb36b2da4f75891338e06818213330ab
5904 F20101108_AABHAF punak_s_Page_63thm.jpg
f7a65209a1eb62a3db0a59750de6bbf0
d4b3fa49e77ad0f14e5671a6081dc7df478d8aad
1627 F20101108_AABGYE punak_s_Page_64.txt
338675647bd211f6721119f3a1ce1330
f387d8c018225171d95c55bc471ce8dc3c47f6cd
4506 F20101108_AABGOK punak_s_Page_39thm.jpg
1b8ed9b5bab5b9aa2c39a5763c2078cd
607a717894b491c78c86ad0eab2988b6174b2375
F20101108_AABGJN punak_s_Page_80.tif
32fe6388a31a995afd7e22a2bb01dbf0
a6a1d0d0aebe1af9a998fa6def28d785eb58611d
3469 F20101108_AABGTH punak_s_Page_02.jpg
7f9bf79fc0d4626c92e8212f94c207d6
3ac9f00e24f76606189bde37b467824c2827782c
2244 F20101108_AABGYF punak_s_Page_65.txt
da7d6ba2803dfe0b28dad560b40b3773
7a5ff100ed0882e00f6196d590c546ca253e8f5c
1098 F20101108_AABGOL punak_s_Page_69.txt
d70040cd76bb91584ba80e3611abd4ec
550e1dbecb8a85155da11d151e686568ee6e1b2d
26472 F20101108_AABGJO punak_s_Page_36.QC.jpg
a8f776c29889fc3221ca558d1f79f70e
bea4bf18148c9ff4c186152049ee0fd8aaba4e24
2005 F20101108_AABGTI punak_s_Page_38.txt
5fdcd425b8f93958e1eb3a5d6a9a3034
2667a9a5814dd904ac6485531d068bf669aba29d
6034 F20101108_AABHAG punak_s_Page_65thm.jpg
385cf4a24ebc01abca97043b861c87a2
6c8c31db4509b9b2f7fd2df582c2f13fafcea9b7
1517 F20101108_AABGYG punak_s_Page_67.txt
94067e75c0b875b4f4f487b5f2b629b4
cbaa5dc1bd49265a65a3da10959e3672df773a59
22915 F20101108_AABGER punak_s_Page_38.QC.jpg
023d2953e95656e31b9cc52040385716
75bc95682413f5cdc6d22ebda55d9a160c6b0fe6
30157 F20101108_AABGOM punak_s_Page_68.pro
f495dc6842d61caf71890a324079639e
773f96d8ec7c1ef4ed61706604d9461a13314783
5541 F20101108_AABGJP punak_s_Page_16thm.jpg
8b426df2c2c33171b03787096a684d36
d1099a4d801f279ad03542258e5edc3eca5412f7
2295 F20101108_AABGTJ punak_s_Page_59.txt
1885f69bb4040f6cbc674b9aba8a1c0f
2492cdbef69f0daa21a35df858983e716997c0d6
4733 F20101108_AABHAH punak_s_Page_66thm.jpg
5903db740124658ec2b0e3e3a5cc81e5
086e11d3bdc883375ea3e185e759b943839b85b6
1282 F20101108_AABGYH punak_s_Page_68.txt
97f565409ab3e08fe2960f7b9a9ffe24
f234a58371098030d3ad95ef2f0bd1fa238c9e88
30442 F20101108_AABGES punak_s_Page_12.pro
cb2bd14b3f26ca247baa5047d788d97f
f803e2e14defbfea3c9d165c6d2abb1b0c42044c
24016 F20101108_AABGON punak_s_Page_08.QC.jpg
a99cd90f49aeec1d47eaa435ec98837d
d83fa35e0f0caf101428dadd364d874c718f5f11
F20101108_AABGTK punak_s_Page_74.tif
659886ea13253f847faa57ce32fb2dc8
bb3a5cca325f3362960a633a79f0e63b2d973ad5
4266 F20101108_AABHAI punak_s_Page_67thm.jpg
435cbe5666e485cf9864601aa6ea7fe4
7c83fa9d28a60720120b7ff8d4c5346ec806e5f1
922 F20101108_AABGYI punak_s_Page_70.txt
36b73e6ffc7aad0d27f2e67ae641733d
a971e2227be3f2109d6cc12c94f3027c0de9ef63
1051958 F20101108_AABGET punak_s_Page_28.jp2
6bc04d4ee6e92ef7dde99f3ea6f8c894
55a51352cceb353fcac60c973f299356e19ef872
15199 F20101108_AABGOO punak_s_Page_64.QC.jpg
15680e0125fa555ae1303796a771e3bb
a3732bdc49de65efcbf2b92773d06a2f3c3fe517
1051909 F20101108_AABGJQ punak_s_Page_35.jp2
8818faa9e430aae721544ae480d4a409
9b1031aa353bc8504b2ba130e197be7bbf2c75ce
26676 F20101108_AABGTL punak_s_Page_15.QC.jpg
eb5484403c2676221d66a94269afb580
732574d32043785ffe34220434d4b47deb4e81cf
21515 F20101108_AABHAJ punak_s_Page_68.QC.jpg
e03f3c0fa4e11d8e4a2cf46bbd604c27
e7c59b663c92315f49ce9ddb2d2266ddfa14c0f1
241 F20101108_AABGYJ punak_s_Page_73.txt
fc17b8682744e00cfe6e047d7bb48020
60d129952b7178fdaf22dfaefd8826fb7192713f
F20101108_AABGOP punak_s_Page_58.tif
5ee18788bbc4ecbd6e9e717e22ba4cd2
640a07fe4fdde229ee1195bff9136a8b7f773e7c
26683 F20101108_AABGJR punak_s_Page_59.QC.jpg
7cebe84b8f2bf9b5ebfebbc237ac7ca5
4a6be1d65b03968efa379e296dc96e2bf2627a85
1051976 F20101108_AABGTM punak_s_Page_74.jp2
b64f7501179a3744b5112cd9cb897320
5947e9fb121156fc14ae96e6082f9e9ef52eb157
F20101108_AABGEU punak_s_Page_06.tif
2103b976b1467c89848c132d3edaacac
a0368ba10b4792097fb48842ef5f7f289d0647b8
22012 F20101108_AABHAK punak_s_Page_70.QC.jpg
d708d4f118cd9e14f5d3180fa285ab47
74b65001d0ffe370eaa5770255b019ad319620cc
2575 F20101108_AABGYK punak_s_Page_76.txt
d44ac829be7d3590db9cee4e972f40e7
f4c72ef9a6a787948cebb626595ea91c62cc2c03
2171 F20101108_AABGOQ punak_s_Page_16.txt
7e5967df4713f354e2aaef3673eb0ed0
681541047ceaad7f775bc0956554c89486bb81b4
F20101108_AABGJS punak_s_Page_64.tif
0a66595e7796e9b1c6555416c04244e8
5588fedd16367438aa5a3de38150de44ac569a4e
5489 F20101108_AABGTN punak_s_Page_13thm.jpg
9c559da699c731bbfe2f694ab93013b1
96eb9e225c6e6a15f24010c0c5faf165e9233746
41573 F20101108_AABGEV punak_s_Page_51.pro
f29d18667ceb27af3d67a4476cff729a
817f2bdd351a8914279c2533b6c7e71ec101bc6f
19040 F20101108_AABHAL punak_s_Page_71.QC.jpg
465842fd15d77c08b9da0ebdd17acc3a
c234357432bc8558833aa031b6f51cd46a3ad922
2735 F20101108_AABGYL punak_s_Page_77.txt
6aa5fcaeaf03b5eb3bc5962cc63c4e89
ff080d144cfd58d32dd704dc65edc1a250e94ff4
17590 F20101108_AABGOR punak_s_Page_82.pro
4cd3cacf49e49940dae8cdae45dc3d84
b1e8836818ff3592963e96bc83d7e55f4f585d92
26827 F20101108_AABGJT punak_s_Page_24.QC.jpg
7603e0d47976ba8e9aacfa218c29dd7d
662a560b772a6024b1162a3d49d5c1ddf66ca3bd
123616 F20101108_AABGTO UFE0021700_00001.xml FULL
bfa47d6000205268e7b97d6c02cfc5d2
553428a8a824da71996e22f2d0759b036ea7b0aa
1207 F20101108_AABGEW punak_s_Page_17.txt
caec41e76796532946597207e17f167b
167faf64bbdfa39bfafed30840e006621e9ec099
1014 F20101108_AABHAM punak_s_Page_73thm.jpg
447c669eac7ba671d35219a44ad6fde4
39aba0942d8210ab9f8ef9dbd8faffdf05d43b29
2620 F20101108_AABGYM punak_s_Page_78.txt
da1ef274eaccd3e96f0e52e7c55a3ee4
22f7c4c2fb287f1f75125b5950093931b23024aa
84605 F20101108_AABGOS punak_s_Page_43.jpg
b6c6a0e2776715ef49863fe7077ec840
19a6879ca2c0ec695f55c94c3b130b73a40bd4da
59958 F20101108_AABGJU punak_s_Page_56.jpg
6dc498485d82f2a98d4a1263c0164018
558519285b01fd88b533fb620bcb1d428fdc96b8
6392 F20101108_AABGEX punak_s_Page_71thm.jpg
cef6681e479e03d458e170259d36d193
d476e00e0fce50cb62c400aa575e2d8f6e61e961
27094 F20101108_AABHAN punak_s_Page_75.QC.jpg
4343aeae1f79549970dd2e21653c0952
90379157138dbff698daad6c9fb7c5132f6c61c6
2757 F20101108_AABGYN punak_s_Page_80.txt
4a89c3d66ac073e800608b59362e851e
3be05f1b04256cbdf7b4f26d9a12ee3d61edcda0
721861 F20101108_AABGOT punak_s_Page_09.jp2
a455e902e36b856089d96987097c5d26
d2c7219cb1717fbc2ebdd53c52b1f9a5a04314e7
91455 F20101108_AABGJV punak_s_Page_23.jpg
df926bd7a0761b0da4b7e01ba9ced8c2
2bc1cebe36d56bb3dbb21c3d05ee8c0a40845e7d
84 F20101108_AABGEY punak_s_Page_02.txt
12ebfdf29abe7ec54341b1c923e73edd
53cb674d61ae5ce11a99ad31ccce823a4b691f31
5927 F20101108_AABHAO punak_s_Page_75thm.jpg
4c90e18a1000c07ef45c9dcff09ff028
ed6b95933e2e6cd628d2c566ed9c55b430fbe545
598 F20101108_AABGYO punak_s_Page_81.txt
f37691615bd6eeb6582abdb264284aa8
f381da8828d7548d0536af1e355e488fd7ce43e5
F20101108_AABGOU punak_s_Page_44.tif
ed18d5aa7df9ec3cc3ea20050ae81ecf
c56905e66a5cce67ffefbbdd4931ec2ac4020eb3
4716 F20101108_AABGJW punak_s_Page_03.jpg
84664151d098f0a0ca9db67418962045
2bee72f9d57930203c92938598b34bfcfef7a03a
47516 F20101108_AABGTR punak_s_Page_06.jpg
ee58ae52bdd6bd0e791c529aa430b9cd
7e2aaba6326dd2831ed5114aa0ec82dd2e13f83a
1905 F20101108_AABGEZ punak_s_Page_81thm.jpg
728a7e76ac8f1cd24e8340aa099285ab
f798572badf498bda83b47f1822e9fa5aaef798d
27718 F20101108_AABHAP punak_s_Page_76.QC.jpg
c18fd1b716c90eb18e504a5018a24e3f
41d5415d24e001bca65c10507b9e4d80afda666f
20617177 F20101108_AABGYP punak_s.pdf
67a895a9542ee63bf344608706efd90d
ce75bc0644126b3bc6d6ffe333d35a9ed63f0db3
6074 F20101108_AABGJX punak_s_Page_28thm.jpg
136a9101de15327eda1092d8fb53551e
6eb2fb625b44be4dae05ad04d0cc659d5dca9038
83452 F20101108_AABGTS punak_s_Page_08.jpg
db95ddf3be20393db9f5d685928a9c59
cf07de3d0f72f1e189d78de036deedf943eec6c5
6062 F20101108_AABHAQ punak_s_Page_76thm.jpg
6962d8cf5ecb2af1f4f8dcb22acf73b9
16e83ebb652d9c8f9dee21ee60bc5e27e5177448
7232 F20101108_AABGYQ punak_s_Page_01.QC.jpg
56c395d83860d2f2d96a7dd85e9a0e05
23bcf3f7aa1e17c1d80d54dae584140781e05b55
776 F20101108_AABGOV punak_s_Page_02.pro
69011782aafdab030111418b7de138ce
fa06fa368ee84639eeb81a3abf2a722d79feea1e
68774 F20101108_AABGHA punak_s_Page_15.pro
e64c1fb4601d98e55915043fb5f4204e
ceda1303a13be00c767c664b7b318ba8c0866cbf
41903 F20101108_AABGJY punak_s_Page_10.pro
f1663a1b4c87e7d7f98902c365645cc8
e8524b2363578fd4c18c81b0980062c0beb8c582
67514 F20101108_AABGTT punak_s_Page_20.jpg
1ef62093f70948c6d6b00b2c3b0daa92
bce537128b02c31098f3e0d1525eed48c7949a49
28381 F20101108_AABHAR punak_s_Page_77.QC.jpg
7138037fda4cf35ed9adc48871db4932
53fe62a4839ee4d00afe42bbb24dfbe7197045fe
1169 F20101108_AABGYR punak_s_Page_02.QC.jpg
3c2db16c40d53730ef5bb20ff99513a5
99260c49e638059e587f4d26e45d4c7d0d79554d
26982 F20101108_AABGOW punak_s_Page_33.QC.jpg
793e9fca00580ae0583305b6a59eb72d
da8ca0c01357fb5cce67e1c5cad9b23eb54793ef
22728 F20101108_AABGHB punak_s_Page_51.QC.jpg
7d5f18fc3325be25a751ee7dac8bc26f
022861e04880c9f2e05ca6cfa149d8563c2a500b
58478 F20101108_AABGJZ punak_s_Page_67.jpg
6119da061063a56adc160eaadacba2a1
dcdd3a32110a92d65a0cec1939ee2fec2f3b8fc3
81658 F20101108_AABGTU punak_s_Page_21.jpg
43fb9df205ffda3d421a21ba6a16efc2
a6d45af68895d22b08da5705fea24735e5033b3f
6272 F20101108_AABHAS punak_s_Page_78thm.jpg
cea769fb1815954bd90a6f8878ff4690
e8a512284dde4702e1b03aef1e3db49268ba0fb7
421 F20101108_AABGYS punak_s_Page_02thm.jpg
1a9c2fe318e34e1c0d895428a9d1b3b8
daff0f66e5399cd433c27e8ff15a4d53ccaa7962
70163 F20101108_AABGOX punak_s_Page_68.jpg
c3127583bf724ec73870fcb0c3b75803
326621b961b4e68af3c9c4be19ed8c2af571ca76
F20101108_AABGHC punak_s_Page_55.tif
ceeb1538ee91f7b7f52b09aa53c9ae8f
b0b721078b502704a4cd079b1e251e14f9605f84
83119 F20101108_AABGTV punak_s_Page_25.jpg
5ab1bbb6db3ee3935284553e50558036
d486ff3492d7debfc5a8e837ee48e3a91decdcf6
27635 F20101108_AABHAT punak_s_Page_79.QC.jpg
dda6acb218493c320b62471f814cd1b6
3e61582cfed3475e2e4300ce93ffec22401f301d
684 F20101108_AABGYT punak_s_Page_03thm.jpg
5a26568cc414e3f658c6fc15da44a681
8cc21714dd8a0eaacf570a1dc1407b890cbe257c
5462 F20101108_AABGOY punak_s_Page_69thm.jpg
ee0385ceca3a9a2933c2402cf1c06359
e6cb2642e1a45fde19410590e1b14574fb0671e1
1051896 F20101108_AABGHD punak_s_Page_44.jp2
8096db0b83d41c553a50c33ec170a6d5
4c0a9cc0c539a9cf37f46f222b8a82e7a7dc5d71
92049 F20101108_AABGTW punak_s_Page_26.jpg
bb435cb3d10c89b7b5cc304e3a64f431
def5ed66c245ca91047cd5781c620a0facc6e2b8
F20101108_AABGMA punak_s_Page_16.tif
cbd9f11e98eb0ee3cea5f04a6c568995
1f7f0cb31e16b5d10cae1a57f761affa6d403a74
28089 F20101108_AABHAU punak_s_Page_80.QC.jpg
8baf9dc09a697c567c78a23cc3e281bd
1b94046120848f3abe735021519998d3f52106fa
4615 F20101108_AABGYU punak_s_Page_05thm.jpg
99944ca9c8e535a96be635f1f857cf0f
7e48526ef9cac4dccdda7ff72c770998611b1df2
6190 F20101108_AABGOZ punak_s_Page_36thm.jpg
ff8b9fb0118006fc11ec07c57fe79243
cdaddb3c978be7c5320e4dd1ffca1c750fb9e46b
595344 F20101108_AABGHE punak_s_Page_64.jp2
7ebfd7ea9aafa49732c028e4163d924e
9e686c7df99cd69649e5266dae7c68124c6e2449
92412 F20101108_AABGTX punak_s_Page_28.jpg
7f3f215882809daf1717065b2ad2814c
fa65528a380238d97d273f9dadf1d39a1fffcdac
F20101108_AABGMB punak_s_Page_73.pro
4e2b05e58b4d1c5c44f453b2161d94c9
f59fe93a1717af358abc2e319d5900839ce06769
6233 F20101108_AABHAV punak_s_Page_80thm.jpg
12e003a55359c1c9f7ef5d7a65d07754
1bb35ace873284e857035fa1cc772e800b2d0c72
1590 F20101108_AABGYV punak_s_Page_07thm.jpg
1d03e29296e249f4455e4edae463ff77
ffc501da6a1d5db74893120ca8b12686d3f1ce9d
4046 F20101108_AABGHF punak_s_Page_29thm.jpg
e2067751a67690a7692e67c9f279351f
a30483a7801494e384ab93ccb753951524665950
72362 F20101108_AABGTY punak_s_Page_30.jpg
b55ccb3488286789c9f42282067db9b6
58af44ec10ad2a7c9f5408fbb2cfefbeb0e0dfe2
23611 F20101108_AABGMC punak_s_Page_25.QC.jpg
08e5e33e5e3293f2bd57a209c0a6d309
12483ce2dad5e5b5fec107cc9c699608dd020e00
9562 F20101108_AABHAW punak_s_Page_82.QC.jpg
cae8f6699298dc125a9125bb0f8b8116
98dbdcc12ae59e3fdb9be3239583b5b8cc6ed9b4
6611 F20101108_AABGYW punak_s_Page_11.QC.jpg
7c08a6b7dd026e4bb962fd991533b8d0
1caf74f1d2322c45d271e056d37ed4bab46cdfcb
25783 F20101108_AABGHG punak_s_Page_55.QC.jpg
3bcb0d30b79d0c465ae7286e9b86296b
e045b22c44ab348b14688d415ece0b7b5094dae4
1051970 F20101108_AABGRA punak_s_Page_23.jp2
f083b6c2c2667ce4dbffc64120bbb2d7
6f50bb242a490296fe3b5df16584adc9b4b725eb
73251 F20101108_AABGTZ punak_s_Page_31.jpg
476bdcc371b842c0835c95858a6755eb
d7c48d94c9f8e507b69273650b15f3a4a7176520
F20101108_AABGMD punak_s_Page_54.tif
18c93756accba5b9ab0f62686c22e16b
f66223d16581a5fcdc079b87607aacaa64134134
95621 F20101108_AABHAX UFE0021700_00001.mets
d9e8b67fc58102c6e64270765c80f0fb
0c358dc770738817b8c867e37f6f2f35ca6f0230
21271 F20101108_AABGYX punak_s_Page_14.QC.jpg
a91e5b2bc882a0ff5d72c9eb388b35c6
58fc8f6c2232dd29bd44416402f3c4bb1fe70e02
50589 F20101108_AABGHH punak_s_Page_34.pro
f67e64df41908f86d6c058944f054cc5
fa3f682dbfad4b6f87eda9e7d9ecf838f489b6ea
F20101108_AABGRB punak_s_Page_35.txt
e87873bebc04c4d2b2be29045c173af5
6329c9a650b2e4a0e760d2dd2b77ff8088a2aa15
36108 F20101108_AABGME punak_s_Page_52.jpg
8f80de84bcd09d3d41b01ecd2a42fe7c
0f7e35fdb86dbc752da3ff164e0c5cf330b19091
5134 F20101108_AABGYY punak_s_Page_14thm.jpg
56e7fa99dfe17055d209b2b194112a94
00d27ca15980a0de421e3175afb3d66c7fc8d79b
2101 F20101108_AABGHI punak_s_Page_13.txt
6dda7162584c0135f135b4e9082e9400
39db73e99f9e6b1bd69f55801e70767617094373
57156 F20101108_AABGRC punak_s_Page_59.pro
1229f24d66ce80106db7d3be55bed249
cb57fef5af410b504491e0274efd9a538096a0b1
5849 F20101108_AABGMF punak_s_Page_50thm.jpg
4d14402967ecdde0d05b73b2cf4c4147
4a358e3e064c8d07c7b65564187a6683ad38f6d4
14444 F20101108_AABGYZ punak_s_Page_17.QC.jpg
06b1cbe3cca24567ed760b9f2091a875
9eaf3cacaa222571a2be43284f72b243c5bbef39
F20101108_AABGWA punak_s_Page_42.tif
bdbdc0443481775ae7acf950485f15b3
3e6a5a701c8beb2c326f156fd442292efdeef589
4846 F20101108_AABGHJ punak_s_Page_02.jp2
7ff513ac342bfc88d20c9bedc8a654b8
bc83f34717479b4ec6e82f1d1ecf850daa1fb1d3
21453 F20101108_AABGRD punak_s_Page_54.QC.jpg
52e80d0e5f67dc075e4bc8d75b532ad9
b471533b211457e7f708434599e42a0846f80a1c
23411 F20101108_AABGMG punak_s_Page_64.pro
538d77f3fd83bc726017ab51ab01a5d1
03186b722e5dbbc31ef37c3261109e3e71ec06ef
F20101108_AABGWB punak_s_Page_45.tif
4f129d877758bd2896da7bbc35ae7795
8ffe0a21a52f48237cb3005e9b454b6c0fa9a4b9
F20101108_AABGHK punak_s_Page_59.jp2
e7c9c76b8b705b32ef419f965a59e27a
ce5d6dfb337d0d72393f1f15ee33e91ded666974
14335 F20101108_AABGRE punak_s_Page_54.pro
4427622ba78725ffa0a7cfa13dadba95
7fad6aacf65ebe42b97edc8c4e2c2bed1aba7559
363019 F20101108_AABGMH punak_s_Page_81.jp2
a09d067537c5ff20ae664661fe710450
ee7cf7fbbf1a46ecaf20fbf857730058cee14508
F20101108_AABGWC punak_s_Page_46.tif
b5af8fa736ade0ae7573dc4c9314818f
4b1578d345c51fcb6e268981d0703952ee5e6568
1077 F20101108_AABGHL punak_s_Page_31.txt
1f0ee6a7efadaca322e9163b321ac529
245de0c02d938a0b72c62a02098959f81c1ba5c2
5597 F20101108_AABGRF punak_s_Page_48thm.jpg
f8e738898ded7d82b736f4a1cc49767f
86e0633dcc155757f4bcc0e945dcce2017e65417
F20101108_AABGMI punak_s_Page_73.QC.jpg
91d2be1660db80de8ca07d5021175e06
e83a5bb9ed2f2acf1984e28e2e57e0cc2d80ac7b
F20101108_AABGWD punak_s_Page_48.tif
da326dacdd2491e20dc7644c03f9b5bf
facb479f014fe1f7fda2865c02a7c26aa63198ed
27107 F20101108_AABGHM punak_s_Page_27.QC.jpg
38e10c691c3e3056ae1097476c76a87e
18ceba0b6c591005288f0a3285f76b166bb7431c
14635 F20101108_AABGRG punak_s_Page_81.pro
0aa4ea67da43565ae00253424c43681b
19eda40ba06a3aaf94dc6b4cddbe758d987412d2
F20101108_AABGMJ punak_s_Page_11.tif
67d111e2db0143277cc11ab0fc5289e2
bc770bcd4b2e8d8c837a1794e22e08344cd47aa4
F20101108_AABGWE punak_s_Page_51.tif
142c84a409c035538cdeea59328f7bde
7c81d2e4fa65922f74d794c76132cc371084a488
15185 F20101108_AABGHN punak_s_Page_29.QC.jpg
d89fd3d4365cc94676a16792d328ef67
49d9e4b2906a3d1e6e48c9cee36744098af9ba62
1051974 F20101108_AABGRH punak_s_Page_55.jp2
cc98f6b660b9f2c7d83d5895d256a0c6
455067e9747e72294bf4cff7f742fe1db001290b
F20101108_AABGMK punak_s_Page_08.jp2
aa2903c600f780367e7f14f5b5c01147
e9100aa363193d007cc52e8afdd60c9734167230
F20101108_AABGWF punak_s_Page_57.tif
c8833eb54429f80d559038183b5e0b9a
df7bd3f5f8c9a60100afd914ff7520e9b4462159
F20101108_AABGRI punak_s_Page_49.tif
ff16de8d8b7a01278ad8c43ae694a7ae
29f2f882ae9ef3cf97c7df4673fe35e433055dd0
6216 F20101108_AABGML punak_s_Page_22thm.jpg
9eeb7899846314091cbda24aef534555
4f7a8531b6898cae38b9a5ce892c36270eb482b7







GEOMETRICALLY AND PHYSICALLY BASED MODELING
FOR DEFORMABLE OBJECTS SIMULATING SOFT TISSUE INTERACTIONS
IN SURGERY ENVIRONMENTS


















By
SUK(ITTI PUNAK(


A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA

2007

































S2007 Sukitti Punak




































To my soul mate, Pawinee; and to our kind and supportive parents.









ACKENOWLED GMENTS

I am deeply grateful to my advisor, Dr. Jorg Peters, for his unending patience,

guidance, and encouragement. I would also like to thank the other members of my

committee, Dr. Paul Fishwick, Dr. Anand Rangarajan, Dr. Alper Ungor, and Dr. Carl

Crane from department of mechanical and aerospace engineering (jl AE). I thank Dr.

Tim Davis for substituting Dr. Fishwick on my defense. I want to thank my colleagues in

and out the Surn~ab who all became great friends. I thank department of computer and

information science and engineering (CISE) for its financial support. I also thank Sergei

N. K~urenov for giving me the opportunity to work with pwli on simulation projects for the

Department of Surgery at UF. Without a doubt, Peter J. Dobbins, a CISE lecturer, helped

me to develop my college teaching skills during my TA duties for his classes over the years.

I am indebted to him for that.











TABLE OF CONTENTS


page

ACK(NOWLEDGMENTS ......... . .. .. 4

LIST OF TABLES ......... .... .. 7

LIST OF FIGURES ......... ... .. 8

LIST OF SYMBOLS ......... . .. .. 10

ABSTRACT ......... ..... . 12

CHAPTER

1 INTRODUCTION ......... .. .. 1:3

1.1 How Accurate should Deforniable Objects he? .... .. .. 1:3
1.2 Deforniable Objects in Surgical Simulation .... .. .. .. 14
1.3 Deforniable Object and Simulation . ..... .. 16
1.4 Contributions ......... .. .. 16
1.5 Outline ......... .... .. 17

2 BACK(GROUND . ..._.. ..... .. 18

2.1 Deforniable Model Frameworks . ..... .. 18
2.2 Free-Fornt Deformation ........ .. 19
2.3 Alass-Spring System ........ . .. 19
2.3.1 Related Work on the Alass-Spring System ... .. .. .. 21
2.3.2 Alass-Spring Systems on the GPIT .... .. .. 2:3
2.4 Finite Elements ........ . .. .. 24
2.5 Related Work on the Finite Element Method .... .... .. 26
2.6 Alass-Spring System vs. Fint lmn ehd 27

:3 DEFORMABLE OBJECT MODELING . .... ... 30

:3.1 Deforniable Object Modeling Framework ... .. .. :30
:3.2 Voxelization: Transforming a Surface to a :3D Regular Grid .. .. .. .. :31
:3.3 Setting up a :3D Alass-Spring System ...... .. .. :35
:3.4 Dynamic Response ......... .. :37
:3.4.1 Ordinary Differential Equation Solvers .... .. .. :37
:3.4.1.1 Explicit Euler integration .... .. .. :38
:3.4.1.2 Verlet integration . .... .. :39
:3.4.2 Data Structure on the GPIT ...... .. .. 41
:3.4.3 Force Computation ......... ... .. 41
:3.4.4 Parameter Adjustment and Constraints .. .. .. . .. 42
:3.5 Collision Detection, Topology ChI Ie q; -~ and Haptic Sensation .. .. .. 4:3
:3.6 Visualization ......... . .. 44












:3.6.1 Marchingf Cubes ......... .. .. 48
:3.6.2 Gradient Estimation ........ ... .. 50
:3.6.3 Improving the Surface Smoothness .... .... .. 51

4 IMPLEMENTATION ......... ... .. 55

4.1 Data Structure on the GPIT ........ ... .. 55
4.2 Dynamic Response ......... . ... .. 59
4.2.1 Ordinary Differential Equation Solver .. . .. 60
4.2.2 Force Computation ......... ... .. 60
4.2.3 Relaxation Constraint Adjustor ..... ... .. 62
4.3 Collision Detection and Response . ..... .. 6:3
4.4 Visualization ......... .. .. 65
4.4.1 Marching Cubes ......... .. .. 65
4.4.2 Curved PN Triangles ........ ... .. 66
4.5 Topology C'!s Ias, . ...... .. .. 67

5 APPLICATION SCENARIO ......... ... .. 69

6 CONCLUSION ......... . ... .. 72

REFERENCES ............. ............. 74

BIOGRAPHICAL SK(ETCH ......... . .. 82










LIST OF TABLES


Table page

2-1 Advantages of the mass-spring system over of the finite element method .. .. 29

2-2 Disadvantages of the mass-spring system compared to the finite element method 29

2-3 Mass-spring system vs. finite element method (based on the order of importance
listed on page 13) ......... . . 29










LIST OF FIGURES


Figure page

1-1 Pelvic laparoscopy ......... . 14

3-1 Volumetric model enclosed inside the 3D regular grid. ... ... .. 31

3-2 A node can be connected to its .Il11 Il:ent neighbors in this 3D regular grid .. 32

3-3 Creating a binary volume data set by voxelizating a polygonal surface mesh 33

3-4 Individual steps of the GPU voxelization algorithm ... ... .. 34

3-5 Example of voxelizing a triangle on a mesh model by a software algorithm. 35

3-6 Example of memory layout .. ... ... 36

3-7 Simulate cuts and cauteries of a cube object .... .. .. 45

3-8 A PHANTOM@OmniTli!Il .tic device . ..... .. 46

3-9 Sphere rendered by a (100x100x100) 3D Texture visualization compared with a
sphere rendered by a (25002 vertices and 50000 faces) mesh visualization .. 47

3-10 Sphere deformation visualized by a (100x100x100) 3D Texture visualization 47

3-11 Fifteen topologically distinct patterns are used to tesselate a surface intersecting
a cube .. ... . .. 49

3-12 Gradient estimation for a voxel at the boundary ... ... .. 51

3-13 Comparison of gradient estimations, by the face, edge, vertex, and all directions.
53

3-14 Visualization results from applying the curved PN triangles algorithm after the
marchingf cubes algorithm. ......... . .. 54

4-1 Deformable object framework diagram ...... .. . 56

4-2 Modeling process ......... .. .. 57

4-3 Mass point connectivity by 3x3 texels . .... .. 58

4-4 An RGBA texel for connectivities of a mass point to its neighborss. .. .. .. 58

4-5 Simulation: ODE solver shader ......... ... .. 61

4-6 Simulation: Relaxation constraint shader ..... .. . 62

4-7 Simulation: Collision detection shader ...... .. . 64










4-8 Simulation: Collision detection shader with the capability of making connectivity
changes to the deforniable object ....... ... .. 66

4-9 Visualization: Marchingf cubes and PN triangles shader .. .. .. 67

4-10 Removing mass points affect the surface visualization ... .. .. .. 68

4-11 Removing connections affect the surface visualization ... .. .. 68

5-1 Application for creating deforniable object ..... .. . 69

5-2 Modeling a stomach .. ... . .. 70

5-3 Fatty tissue on top of the left kidney is modeled by our deforniable object .. 71

5-4 Sequence of operations on the stomach . .. 71










LIST OF SYMBOLS, NOMENCLATURE, OR ABBREVIATIONS


3D Cartesian grid




3D regular grid



FFD

FEM

GPU

Home spring

Laparoscopic surgery



Mass point


Mass-spring system


MIS

MSS

ODE

Plausible behavior


A regular, axis aligned sampling of data in three dimensions where
its topology is a unit cube (structured) lattice with clearly defined
neighborhood voxels.

A regular, axis aligned sampling of data in three dimensions where
its topology is a rectangular (structured) lattice with clearly defined
neighborhood voxels.

Free-form deformation

Finite element method

Graphics prol -iner/processor unit

A spring that connects a particle to its initial or rest position

Laparoscopy or minimally invasive surgery (!lS) is a surgical
technique that cuts small openings or holes in a patient's abdomen
to pass surgical instruments to operate inside the patient.

A particle, that has a point geometry and a finite mass, represents
a node in a mass-spring system.

A particle system in which each node in the system is connected to
some other nodes by springs.

Minimally invasive surgery (see laparoscopic surgery)

Mass-spring system

Ordinary differential equation

A behavior that could happen. It does not have to be realistic, but
it appears worthy of belief.

A set of software instructions that is executed on GPU, usually for
rendering-related computations.

A structured grid ( such as Cartesian, regular, rectilinear,
curvilinear, and block-structured grid) consists of hexahedral
cells, in which connectivity is implicit ([2] on page 75).


Shader


Structured grid










Unstructured grid


An unstructured grid can he composed of, for example, tetrahedra,
hexahedra, prisms, or pyramids, in which connectivity must he
encoded explicitly ([2] on page 75).

A volume element with its center serves as a grid point of a :3D grid
([:3] on page 18).

The process of converting a geometric representation (Il~inkwonal
surface) of a synthetic object into a set of voxels arranged in a
volume data set (:3D regular grid).


Hoxel


Hoxelization










Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy

GEOMETRICALLY AND PHYSICALLY BASED MODELING
FOR DEFORMABLE OBJECTS SIMULATING SOFT TISSITE INTERACTIONS
IN SURGERY ENVIRONMENTS

By

Sukitti Punak

December 2007

C'I I!r: Jorg Peters
Major: Computer Engineering

This dissertation contributes a method for modeling deforniable objects that leverages

computer graphics techniques and state-of-the-art hardware to simulate and visualize

deforniations, including topologfical transformations like cutting, in real time. The

resulting models are suitable for interactive surgical simulation for illustration and

teaching purposes. The approach has been tested, in particular, by modeling responsive

fatty tissue. To support force feedback as well as visual feedback, the deforniable object

consists of three closely coupled representations for dynamic response, collision detection,

and visualization. All three representations are intpleniented on the Graphics Processing

U~nit, rather than on the CPIT, to leverage parallelism for speed.









CHAPTER 1
INTRODUCTION

This chapter discusses the importance of modeling deformable objects for surgery

illustration and argues for simulating plausible behavior instead of realistic behavior.

1.1 How Accurate should Deformable Objects be?

The accurate mathematical modeling of deformable objects is central to many areas of

engineering and science. For example in materials science, aerospace, and civil engineering,

the strength and elasticity of deformable objects pil- a crucial role. In graphics and

haptic, force-feedback applications such as real-time computer animation and simulation,

the focus is instead on fast performance and high visual quality where the computational

resources are restricted. Rather than physical accuracy, visual and haptic plausibility [4],

[5], [6] are considered acceptable.

Plausibility is off-hand a user-dependent, subjective notion. In the context of this

dissertation, it is made concrete as constraints on robustness, flexibility, geometric

resolution and bounds on physical accuracy within a particular application scenario,

namely surgical procedure illustration. Besides reducing computational complexity, a

second 1! in r reason for settling for a plausible model is that often an accurate model

does not exist. This is due to the nonlinear nature of the deformable object lack of data

or variability of human perception (see Section 1.2 (a)-(e)). Thirdly, in the surgical

illustration and teaching environment [7], [8], physical and visual properties need to be

user-adjustable, on-the-fly. They may even he chosen non-realistically to overstate a point.

In the following, we therefore propose a framework for plausible modeling deformable

objects optimizing in order of importance:

Speed
Robustness (stability and consistency)
Flexibility (topology and material property changes)
Geometry resolution
Physical accuracy
1\emory usage










1.2 Deformable Objects in Surgical Simulation

Deformable objects are important in surgery illustration. The goal of surgery

illustration is to provide a convenient, repeatable, and inexpensive supplement to

traditional textbook learning and on-the-job See one, do one, teach one" surgical training

([9] on page 146). Using virtual deformable objects and force-feedback devices for surgery

illustration is especially well-matched with laparoscopic surgery, also called minimally

invasive surgery (111$) [10], [11], where the surgeon views the operating arena only via

video and interacts via instruments without touching the surgical area by hand (Figure

1-1). A typical surgical illustration environment has the following components:

Anatomical objects, e.g., liver, gallbladder, and blood vessels;
Haptic device representing a surgery tool for user interaction;
Visualization of the operation site, i.e., an endoscope for laparoscopic surgery.

E Pelvic laparoscopy
-7 IE a less-invasive
procedure than
open surgery
and recovery
is quicker









WADAa~U..

Figure 1-1. Pelvic laparoscopy (reprinted from [12], freely accessible from the Internet)


To be an effective alternative training system, the simulator has to be able to interact

with the user in real time or at least at an acceptable interactive rate. Such an interactive

simulation system needs to meet two main requirements. It needs to be fast enough to

generate at least 10 (ideally 60) frames per second for visualization and at least 300

(ideally 1000) updates per second for haptic sensation [11].










However, speed is not the only requirement. The user should be allowed to drastically

modify the topology, for example by cutting. Thus, stability, robustness, and consistency

are just as important as the frame rate.

In particular, the intended level of accuracy of the model are influenced by the

followingf observations.

a. The Material Complexity of the Soft Tissue
The mechanical behavior of soft tissues, such as the kidney, liver, stomach, and
blood vessels, is extremely complex. The stress-strain or load-displacement
relationship is highly nonlinear which means tissue becomes stiffer as it stretches.
Tissue is also viscoelastic (i.e., the stress-strain relationship depends on the rate of
deformation), heterogeneous (varies through the tissue volume), and anisotropic
(varies with direction) [13]. Due to viscoelastic effects, as tissue is stretched
repeatedly less load is typically necessary to produce the same elongation. With
soft tissues such as skin, unlike typical engineering materials such as metals, very
large deforniations are possible. Hence, in the case of soft tissue modeling for a
realistic surgical simulation, the simulator has to deal with large deforniations of
anisotropic, heterogeneous, and nonlinear viscoelastic materials.

b. The Interaction
The soft tissue in a surgery environment will interact with other tissues and surgical
instruments. In particular, the deforniable object is subject to being touched, pulled,
cut and sutured by surgical tools.

c. The Level of Accuracy
Human ability to detect differences between objects is poor [14]. Research is
necessary to determine what visual and haptic cues surgeons use, and how sensitive
they are, for example, in detecting changes in tissue due to damage, hidden
structures, or disease [14].

d. The Complexity of the Computational Model
Currently, in the scope of a surgical simulator, it is not possible to model the
bionzechanical complexity of living soft tissue realistically [15]. Therefore, the
model has to be simplified in order to reduce the intplenientation complexity and
to optimize computational efficiency. For example, to simplify viscoelasticity, Fung
[13] proposed a model called the pseudo-elastic model that uses preconditioning of
the tissue while using only two separate elastic materials, one during loading and
another during unloading.

e. The Analytical and Empirical Knowledge about the Soft Tissue
With currently available methods, it is almost impossible to measure material
parameters of human tissue completely and accurately. Therefore, even in the case










that an accurate model was available, the accuracy would still be controlled by the
poor precision of the material parameters.

Plausible deforniable objects for surgical illustration therefore follow a quote by

Albert Einstein, "Everything should be made as simple as possible, but not one bit

simpler."

1.3 Deformable Object and Simulation

In order to simulate the reaction of a deforniable object in real time with plausible

deformation, the simulation model must run fast enough and show plausible deformation

with satisfactory rendering quality. Therefore, we chose a mixed, volunletric-and-surface

representation consisting of three closely coupled components for dynamic response,

collision detection, and visualization.

The dynamic response is based on a 3D nmass-spring system that is simulated entirely

on a GPIT. It calculates the next position of each mass point in the nmass-spring system of

the deforniable object. The dynamic response includes internal and external forces on the

object. The collision detection adjusts the position of each mass point so that deforniable

objects and other objects do not penetrate another during the simulation environment.

The computation is based on collision test and penetration distance between objects.

Finally, the visualization is for rendering the deforniable object.

With the latest graphics cards, we use GPIT computations to accelerate the simulation

by computing expensive steps in parallelism. Our deforniable object runs in real time

with a geometric resolution of a 40x40x40 grid for local haptic interaction. We tested the

approach, by creating and tuning a deforniable object that nmintis soft tissue, in particular

fatty tissue into which organs and vessels are embedded. The model supports changes of

topology and material properties.

1.4 Contributions

The main contribution of this dissertation is a method for modeling deforniable

objects that is suitable for GPIT intplenientation and thereby executes fast enough for










interactive surgical illustration and force feedback. In particular, it models responsive fatty

tissue. The deformable object uses computer graphics techniques to simulate and visualize

deformations, including topological transformations like cutting, in real time. To support

force feedback as well as visual feedback, the deformable object consists of three closely

coupled representations: dynamic response, collision detection, and visualization.

1.5 Outline

The dissertation is organized as follows. C'!s Ilter 2 reviews background and literature

of modeling deformable objects. ('!! Ilpter 3 introduces our framework for deformable

object modeling, i.e., the dynamic response, collision detection and visualization

representations. ('! .pter 4 discusses the creation of the deformable object simulator

for our deformable object modeling. In this chapter, the implementation of the deformable

object simulator using GPU shaders is explained. Chapter 5 describes application in the

haptic-enabled toolkit for illustration of procedures in surgery (TIPS) [7], [8]. ('! .pter 6

concludes the dissertation.









CHAPTER 2
BACK(GROUJND

Three methods for modeling deformations are discussed in this chapter: free-form

deformation (FFD), the mass-spring system (\!SS), and the finite element method (FEM).

Only the MSS and the FEM are suitable for modeling soft tissues. In Section 2.6, we

argue why we opted for a mass-spring system to represent the physical component of our

model. The advantages and disadvantages of the MSS over of the FEM are summarized

in Tables 2-1 and 2-2. Table 2-3 compares the MSS to the FEM based on the order of

importance listed on page 13.

2.1 Deformable Model Frameworks

There are two major approaches for deformable object simulation: namely, the

geometrically based and the physically based approaches. Geometry based approaches

such as free-form deformation (FFD) employ purely geometric techniques to model

deformation. Physically based approaches employ techniques with parameters that

simulate physical properties of the deformable object. Methods that are adapted or

adopted from the mass-spring system (\!SS) and the finite element method (FEM) and

its variations, such as the boundary element method (BEM), belong to physically based

approaches.

FFD, the MSS, and the FEM are the three most widely used methods for modeling

deformable objects [10]:

Free-form deformation. These techniques originated from computer graphics
techniques such as spline and superquadric models. Models based on these
techniques, however, are not easily modified to model soft tissue deformation
with interaction.

The mass-spring system. Mass-spring systems are simple, physically inspired
approximations. However, adjusting parameter values of the system to achieve a
desired behavior of the model is not easy, and model accuracy and stability depend
highly on the parameter values such as spring stiffness constants.

The finite element method. Based on continuum mechanics, the finite element
method is one of the most accurate methods to model deformable objects. However,










for real-time applications its computational complexity restricts its application to
either a geometrically complex model with simplified properties resulting in less
accuracy or a simple geometric model resulting in less visual quality.

Fr-ee-form deformation are briefly presented. The mass-spring system and the finite

element method are the main focus in this chapter. We should also mention early

contributions to the simulation of deformable objects in computer graphics include

Terzopoulos et al. [16], [17], [18], [19] who defined a physically based class of deformable

objects (curves, surfaces, and solids).

2.2 Free-Form Deformation

Fr-ee-form deformation (FFD) is a general method for deforming objects that provides

a higher and more powerful level of control than adjusting individual control points [20].

Basically, FFD changes the shape of an object by deforming the space in which the object

is contained. The term free-form deformation, introduced by Sederberg and Perry [21],

is a generalized Barr's approach [22] by embedding an object in a lattice of grid points

of some standard geometric shape, such as a cube or cylinder. The basic FFD technique

has been extended by several others: including extended FFD (EFFD) [23] for modeling;

volume-preserving FFD [24], [25] with volume preservation property; dynamic FFD

(DFFD) [26] with physical properties for animation purposes; and discontinuous FFD

(DFFD) [27], [28] for incision simulation. These techniques are simple and fast since no

physical considerations are directly involved. However, it is unclear how to incorporate

physical properties to control the object's deformation reacting to forces. Hence, these

techniques are hardly emploi-v I in surgical simulation.

2.3 Mass-Spring System

Non-physical methods, such as the FFD, for modeling deformation are limited hv

the expertise and patience of the user to animate and store the movement in advance for

a visually plausible simulation. On the other hand, the mass-spring system consists of

mass points with explicitly defined connectivity. It is a physically based technique that

has been used widely and effectively for modeling deformable objects, such as clothes










[29], [30], [31], [32], ropes [33], [34], skin [35], muscles [36], and faces [37]. An object is

modeled as a collection of mass points connected by springs in a lattice structure. The

spring forces often obey Hooke's law, stating that "The power of any springy body is in

the same proportion with the extension." [38]. However, nonlinear springs can be used to

model tissues such as human skin that exhibit inelastic behavior.

In a dynamic system, Newton's second law of motion of a single mass point or particle

is [20], [10], [39]:

mxis + cis + fe = fitz (2-1)

mi is the constant mass of point i and xi E RW3 is itS position. The acceleration and

velocity of the point are represented by xi and xi, respectively. The second left-hand

term is a velocity-dependent damping force where c is the damping constant. The third

left-hand term is the summation of each fij which is the internal force exerting on mass

point i by the spring connecting mass point i to mass point j. ffmet in the right-hand term

is the sum of external forces, such as gravity or contact forces, exerting on mass point i.

The equations of motion for the entire system are assembled from the motions of all

of the mass points composing the object. Concatenating the position vectors of the NV

individual masses into a single 3NV-dimensional position vector x gives:


Mi; + Cx + Kx = f (2-2)


where M, C, and K are 3NV x 3NV mass, damping, and stiffness matrices, respectively.

The system is solved forward through time by changing it to the system of first-order

differential equations:


ir = M- (-Cv -Kx +f )

S= v (2-3)










where v is the velocity vector of the system of mass points. A numerical integration

technique [40], [41], such as implicit or explicit Euler integration method, is used to

compute x and v as functions of time.

In a quasi-static system, the dynamic part of the dynamic equation is neglected

(, = i= 0) and the equation becomes:


Kx = f (2-4)


2.3.1 Related Work on the Mass-Spring System

K~eeve et al. [42] used all- we II mass-spring system to model a patient's face for

craniofacial surgery planning. The facial tissue was assumed to be homogeneous, We

also use the same assumption for our deformable object. The non-linear stress-strain was

modeled by using a biphasic spring constant. An additional force was added to preserve

the volume of the tissue. The simulation ran offline to show and predict the preoperative

and postoperative appearance of the patient after a craniofacial surgical procedure.

Nedel and Thalmann [36] used the mass-spring system to animate skeletal muscle

deformations. They aligned springs with action lines of the muscle and used another set of

springs to produce the muscle shape. A special spring was also added to account for the

bending and twisting of the muscle surface. However, the method made no attempt to cut

the modeled muscle. It simulated only muscle deformation which ran in real-time. The

concept of multiple springs is also used in our deformable object.

Kilhnapfel et al. [10] used a volumetric mass-spring system to model deformable

objects, such as blood vessels and deformable tissue, in their minimally invasive surgery

simulator called K(ISMET. Their K(ISMET also included deformable objects modeled by

the finite element method. The paper did not described how cutting was implemented on

the deformable objects and whether the cut could be performed only on the mass-spring

based model or the finite element based model or both. Our deformable object is also










hased on a volumetric nmass-spring system, which is actually the 3D regular grid of the

nmass-spring system.

Bourguignon and Cani [43] derived an anisotropic model based on the nmass-spring

system. An object created front this model was either tiled with tetrahedral or hexahedral

nieshes. The axes of anisotropic directions were defined and set hv the user. All internal

forces were calculated front these axes instead of along the niesh edges. Our deforniable

object is also an anisotropic model, since the spring's rest length and/or stiffness for each

x, y, and z direction can he set independently front one another.

Webster et al. [44] used an implicit prediction solver to solve the first order

differential equations of a nmass-spring model representing only the surface of an object.

A preconmputation of the solution of the linear system was required in order to speed up

the computation. The simulated model had simple computation and responded well when

interacting with a haptic device. However, a change in the topology of the object, such as

by a cut, would require solving a very different linear system. Therefore, the method was

not suitable for modeling a deforniable object being cut.

Choi et al. define force propagation model (FPM) [45], which limited deformation

of soft tissues to a local region of the model defined by the depth of force propagation in

order to speed up the computation time. The FPhi became a typical nmass-spring model if

the force propagation reached all of the nodes in the object. Later they tried to formulate

the FPhi by comparing and adjusting the spring stiffness and damping constant of each

spring to emulate the deformation of a preconmputed finite element model [46]. However,

the deformation of the model with this technique could only emulate the deformation of

the preconmputed finite element model. It was unclear how the model would be deformed

with different forces than the ones encountered in the setup phase.

The idea of using material properties to set spring properties was also used by Bruyns

et al [47]. They measured and used physically derived stiffness constants of rat tissue front

a finite element analysis to set the stiffness parameters of springs with the 2D Young's










Modulus for surface-based representations and the three-dintensional (:3D) Young's

Modulus for volumetric representations. The simulated object showed a more realistic

deformation than the one with a uniform spring constant. However, no attempt on cutting

the model was intpleniented hv the method.

2.3.2 Mass-Spring Systems on the GPU

The GPIT is a data-parallel processor. It can process a set of data in parallel.

Since solving the ODE for each mass point in the nmass-spring system with an explicit

integration method can he done independently, the GPIT can he used as the solver. A :3D

Alass-spring system on the GPIT was first intpleniented by Georgii and Westerniann [:39]

followed by an analysis for spring-hased computation vs. nmass-point-hased computation

on the GPIT for cloth simulation [48]. Their results showed that spring-hased computation

was slightly faster, e.g., 1282 took 0.72 and 0.74 nis for spring-hased and nmass-point-hased

computation, respectively. Later they improved their system to include a niultigrid

implicit solver [49], and heterogeneous material [50]. Their :3D data set was a :3D

unstructured grid consisting of tetrahedra. The simulated deforniable object ran in

real time or at an interactive rate depend on the resolution of the grid. The method

did not suitable for topology changes, since a topology change requires the data on the

unstructured grid to be changed. The change of the data structure would require the

data stored on the GPIT's texture nienory to be rearranged. This operation would take

as much time as the preprocessing time for loading the original unstructured grid to the

GPIT's nienory. Hence, the method did not use for simulating a soft tissue that would be

cut by a surgical tool.

Mosegaard and Serensen [51], [52], [5:3] used GPIT computation for simulating the

deforniations of a human heart during an open surgery. Their nmass-spring system was a

:3D Cartesian grid of a human heart. The data for the nmass-spring system were obtained

from subsanipling the CT dataset of the heart. For visualization, they used the marching

cubes algorithm to reconstruct a surface triangular niesh front the original CT dataset.










Each vertex of the mesh was mapped as an offset vector from the nearest mass-spring

node. A deformation of the mass-spring system would result in a deformation of the

surface mesh. The simulated object could be probed and cut by a surgical tool. However,

the cut surface would generate a hole, since the cut vertex was split into two vertices

that were separated apart and the object appeared hollow inside. This was fine for some

parts of the human heart, since the heart had a lot of cavities. The other drawback was

that the method relied on the implicit connectivity of the :3D Cartesian grid. T> simulate

topology changes, a GPU texture had to be set up for storing the topology changes.

Therefore, each topology change would add a computation cost to the simulation. The

lack of explicit connectivity and the fixed cell size from using the :3D Cartesian grid made

material property adjustments less flexible, i.e., the method could not have different spring

rest lengths for different axis directions.

T> provide flexibility and steady performance (computation cost), our deformable

object is based on the :3D regular grid and uses explicit connectivity. The explicit

connectivity adds extra computation cost into the system, but it provides more flexible in

connectivity setup. Besides, any topology change will not add extra cost to the simulation.

T> avoid creating an object that appears hollow after cut, we use the marching cubes

algorithm to generate the object's surface in real time.

2.4 Finite Elements

The mass-spring system starts with discretizing a deformable object into mass points

connected by springs. A more accurate physical model assumes the deformable object as

a continuum solid [54], i.e., a deformable body with mass and energies distributed every

where in the body that can support shear forces.

For tissue modeling, the focus is in modeling the displacement. The objective is to

consider the equilibrium of the deformable object acted on by external forces. The object's

deformation is a function of these acting forces and the object's material properties.

Using the principle of minimum potential energy, the object reaches equilibrium when its










potential energy is at a minimum. The total potential energy of the object is denoted by

II, and is given by [20]:

II= T- W (2-5)

where IT is the total strain energy of the object, and W is the potential energy of (or work

done hy) the external loads [55] (caused by concentrated, surface, and body forces) acting

on the object.

To determine the equilibrium shape of the object, both IT and W are expressed in

terms of the object's deformation, which is represented by a function of the material

displacement over the object. The total potential energy reaches a minimum when the

derivative of II with respect to the material displacement function is zero. This results

in a continuous differential equilibrium equation that must he solved for the object's

displacement. Since it is not ah--li-- possible to find a closed-form analytic solution of this

differential equation, a number of numerical methods, such as the finite element method

(FEM), are used to approximate the object's deformation. Basic steps in using the FEM

to compute the object's deformation [20] are as follows:

1. Derive an equilibrium equation from the potential energy equation in terms of
material displacement of the continuum.

2. Ch, a ~- suitable finite elements and associating interpolation functions for the
specific problem. Divide the object into elements.

3. For each element, define the components of the equilibrium equation in terms of the
interpolation functions and the element's node displacements.

4. Combine the set of equilibrium equations for all of the elements in the object into a
single system. Solve the system for the node displacements over the whole object.

5. Use the node displacements and the interpolation functions of a particular element
to compute displacements or other required quantities (such as internal stress or
strain) for points inside the element.

More detailed treatment of the FEM can he found in textbooks such as [56], [57], or

[58].









2.5 Related Work on the Finite Element Method

In order to reduce computation time of the linear FEM, Bro-Nielsen et al. used a

condensation technique to partition the problem into interior and surface points and solve

for deformations only at the surface points [59], [60]. This method improved the speed of

the simulation but required preprocessing. It was, therefore, not suitable for tissues whose

shape or topology could be changed due to cutting and suturing.

The K(ISMET software for a minimally invasive surgery (!lIS) by K~iihnapfel et al.

[10] used their so-called FFEM (Fast FEM). The FFEM calculated the linear deformation

of only the surface nodes in the volumetric 3D mesh, either by mesh sorting or by model

condensation. The reasons were that only these nodes could interact with surgical

instruments and only these nodes were visible. Thus, the method reduced memory

usage and computational complexity by using mesh condensation and suffered the same

drawbacks as of Bro-Nielsen et al.

Miller et al. [61] presented a technique called stiffness warping to solve the

incorrect deformation problem of the linear FEM caused by large deformations. With

a precomputation of the linear stiffness matrix, the time complexity of the method was

similar to the linear FEM, which did not run in real time.

A parallel computing system was used to animate the finite element models in real

time by Szekely et al [11]. They stated that the only way to have a complex finite element

system running in real time was to use a parallel computer which supported fully parallel

algorithms for the explicit time integration scheme. A software simulation of a 3D lattice

of processors was implemented for the simulation. There were no follow-up implementation

of a physical phototype of the proposed parallel computer system.

The FEM based on cubical elements of uniform size was used by Miiller et al.

[62] to generate a volumetric mesh of an object from its surface mesh. This technique

allowed a surface mesh to possess a physically based elastic property, and could be

deformed or fractured based on its association with its associated volumetric mesh. The










simulated object can he deformed and fractured in real time. However, the method did

not implement the simulated model for cutting which required a straight line of fracture

instead of a typical j I__- d fracture created hv the simulation method.

Delingette and Ayache [15] described their work on soft tissue modeling for

surgery simulations at INRIA1 They discussed quasi-static linear, dynamic linear,

and quasi-static nonlinear elastic model based on the FEM, including some techniques to

speed up the computation. The number of tetrahedral had to be kept small, so that the

simulated model could run in real time. Their models deformed realistically, but a cut on

the model produced j I__- d cut instead of a straight line due to the coarse subdivision (or

splitting) of the tetrahedral mesh that represented the model.

Other methods such as modal models [4], [63], [64], boundary element models (BEM)

[65], long elements models (LEM) [66], finite volume method (FVAI) [67], and resolution

adaptive models [68], are not reviewed here, since they were variations of the finite element

method and suffered the same drawback that they were not suitable to model objects that

underwent topology change at an interactive rate due to required preprocessing of their

system.

2.6 Mass-Spring System vs. Finite Element Method

Both the mass-spring system and the finite element method have been developed to

introduce physics into the simulation process [69]. The mass-spring system (j!SS) reduces

a volumetric 3D object to a network of mass nodes connected with 1D Hookean springs.

Such simplification makes the MSS efficient to compute, easy to implement, and easy to

modify the model's topology even on a parallel computing environment. On the downside,

the simplification also makes the MSS less accurate and difficult to configfure the model's

behavior, since all the materials that make up the object are simply lumped together as

discrete mass points connected to one another by springs. The MSS can exhibit oscillation




SThe French national institute for research in computer science and control










or become unstable if the parameters are not carefully set up, such as increasing the time

step and/or spring stiffness too high.

In contrast, the finite element method (FEM) applies continuum mechanics to

every constituting element of the object. The stress-strain relationship that governs

object deformation can he formulated by the generalized Hookes Law for the linear

FEM. Therefore, more accurate results can he obtained from the FEM, than from the

results obtained from the MSS. However, models built from an FEM hased system

are computationally more complex than models built from the MSS [46]. The FEM is

unsuitable for use in real-time surgery simulation, due to the high computation time

required by a numerical integration to solve the complex system.

Hence, the FEM is a method that is well suited for product design and testing,

where a high computation time is justified by the accuracy of simulated models. With the

availability of fast computers, there has been a trend in real-time animation to use more

sophisticated and accurate models based on the FEM, rather than using simple models

based on the mass-spring system. The object's deformation behavior can he specified

using only a few parameters. However, some of computational complexity increases

quadratically with the increasing number of elements [70]. In real-time application, either

the resolution (number of elements) has to be kept small or preprocessing has to be

applied, which results in the reduction of flexibility. For example, each topology change

requires recalculation and assembly of the element mass and stiffness matrices, which is

computationally intensive [70]. The MSS, on the other hand, is less accurate, but very

efficient in computation time. A change of topology simply requires the corresponding

change of the spring connectivity.

The advantages and disadvantages of the MSS over of the FEM are summarized

in Tables 2-1 and 2-2. Table 2-3 compares the MSS to the FEM hased on the order of

importance listed on page 13. In summary, the MSS is more suitable than the FEM for

modeling deformable objects in real-time application, even though it requires more care in










setting up parameter values to avoid unstable system behavior and to achieve a visually


plausible behavior.


Table 2-1. Advantages of the mass-spring system over of the finite element method
Comparison Mass-Spring System Finite Element Method
Complexity Low / High
Complexity increment Linear / Quadratic
Implementation Simple / Complex
Parallelism Each mass point / Each element
Map to GPU-based computing High / Low
Cost of topology change Low / High
Overall real-time performance High Low


I


Table 2-2. Disadvantages of the mass-spring system compared to the finite element
method
Comparison Mass-Spring System Finite Element Method
Stability Unstable under conditions Stable /
Accuracy Low High /
Property adjustment Complicated Simple /
Overall tweak requirement High Low


Table 2-3. Mass-spring system vs. finite element method (based on the order of
importance listed on page 13)
Comparison Mass-Spring System Finite Element Method
Speed /
Robustness /
Flexibility /
Geometry resolution /
Physical accuracy /
Memory usage










CHAPTER 3
Deforniable Object 1\odeling

The deforniable objects encountered in surgery are mainly soft tissues. These objects

are subject to being touched, pulled, and cut by surgical tools. In order to simulate the

reaction of a deforniable object in real time with plausible deformation, the simulation

model must run fast enough and show plausible deformation with satisfactory rendering

quality.

3.1 Deformable Object Modeling Framework

The framework for modeling a deforniable object is composed of 2 preprocessing and

:3 iterative steps:

1. Obtain a three-dintensional (:3D) regular grid that represents the modeled object.

2. Set up the connectivities and properties, such as spring properties, of the object.

:3. For each specific time step, simulate the object's deformation due to its own internal
forces and external forces exerting on it.

4. For each specific time step, simulate the object's deformation due to the collision of
the object with surgical tools.

5. For each specific time frame, render the object for user interaction.

Due to the intrinsically implicit connectivity of the :3D regular grid, which is a type of

:3D structured grids, representing the modeled object (Fig :3-1). Elements and connections

among the elements of the model can he added, changed, replaced, or removed to create a

topology change. This topology change nmintis a deformation resulting front an operation,

such as cutting, suturing, or cauterizing.

To be able to trade speed for accuracy, the deforniable object is separated into

three representations: dynamic response, collision detection, and visualization. This way

dynamic response (step :3), collision detection (step 4), and visualization (step 5) can he

intpleniented and handled separately.











11f







Figure ~ ~ ~ ~ ~ i 3-.Vlmti oe nlsd niete3 eua rd

The~~ dnmcrsoschsnfr tifrmwrkis a ouercmsssrnoe

arrangedI in a 3Drglrgi.Ec spitin h oe a pin onciiyo

up~ ~ ~ ~ ~~t to 26nihoigltie Fgr -)pu fr ithehm pig hc sasrn
conectngthemas pinttoitsiiilo etpsto [1,[2.T co mdt
change; of toooyi eltmtevsaiain ersnaini ee e ufc


apprximaed b a tianglar eshgeneatedin ral tme romte3 eua rdb h







Fie3-.2 Voxuelztri on:l Trnlsformingid a urac t 3D Regular Grid.

Volumetrmic daaresprne sentn adfor ti rmabe object can boue otaine by 3Dp mesuemen

(erag., from 3 mediclsannrs sud.Ech as computerize toemogrl aph (CT)n or anecticiyo

restona6nce imghing (\!RI)), by voxelizing pluhs ona t hme shbgnraing, prcedu sralg


volume da taor by any coa mbinathev aionotethree afremreentaioneds methodse [2], [3]

Alsro, datalead y contraingua eh eeed in aeltm fo h 3D regular grid can busdircl.Icabeither










b~v


kra


Figure :3-2. A node can he connected to its .Il11 Il-ent neighbors in the :3D regular grid by
up to 26 connections + 1 for the home spring. Where F = Front, B = Back, N
=North, S = South, E = East, W = West, and C for center, i.e., the home
spring.


subsanipled (or supersanipled) to reduce (or increase) data size to the desired model data

s1Ze.

Here, we focus on obtaining a :3D regular grid front voxelizing the input surface niesh

for modeling a deforniable object. Surface nieshes are ubiquitous and can he generated

quickly by an algorithm or :3D modeling software, such as Blender. The voxelization

can he done quickly and efficiently on any polygonal surface niesh representing an

arbitrary object. This advantage allows us to be able to model any solid object that

can he represented by a polygonal niesh (Fig :3-3).

Notice that aliasing artifacts can he observed front the voxelized volume data. The

higher the voxelized resolution, the finer the aliasingf artifacts. This is due to the fact

that the voxelized volume data are binary, i.e., each voxel is classified to be either 'inside'

or 'outside' the modeled object. The aliasing artifacts occur when we try to extract

the object's surface front the binary voxelized volume data. The original surface ahr-7- .

intersects a specific space between a pair of 'inside' and 'outside' voxels, i.e., an edge of a

cube. This information is not available with the binary volume data, i.e., the information










is loss when the object is voxelized. The interpolation value can be any where between 0

and 1, i.e., from the 'inside' voxel to the 'outside' voxel. The interpolation value is usually

set to 0.5, which in this case the original surface is assumed to intersect the edges of the

cube at the middle. The rendered image exhibits terracing where the original surface lie at

a shallow angle to the sampling grid. This makes the sloped surface appear as a sequence

of flat planes separated by sudden elevation changes [74].

To alleviate this problem, the exact intersections of the surface mesh with the edges

of the cubes during the voxelization can be stored and later used for rendering the object.

In our implementation, these data are stored as interpolation values in a GPU texture.

Unfortunately, we cannot use the normals from the surface mesh for visualization, since

the normals ah-li- vary with the deformation of the surface.











polygonal mesh 643 voxels 2563 voxels 5123 voxels

Figure 3-3. Creating a binary volume data set by voxelizating a polygonal surface mesh
(reprinted from [3], freely accessible from the Internet)


A polygonal mesh can be voxelized by GPU or CPU computation. For obtaining the

model data by GPU computation, the GPU is used to create the slice planes for the model

data. A slice plane is a rectangular surface that contains scalar or color information based

on the values of the volume data where the slice is positioned. The ingredients are the

rendering of the front and back faces of the mesh and a clipping plane to clip the mesh

into the clipped and unclipped part. The clipping plane is set up with the same position

and orientation as the current slice plane. Without loss of generality the unclipped part

is set to the space behind the clipping plane. Therefore, the first slice can be a clipped










plane located behind the mesh. An example for an intermediate slice plane is shown in

Figure 3-4a. With back-face culling enabled (Figure 3-4b), the GPU renders the front

faces of the mesh with foreground color to a framebuffer of desired rectangular size (Figure

3-4c). Then with front-face culling enabled, the GPU renders the back faces of the mesh

with background color to the framebuffer (Figure 3-4d). The framebuffer now contains

the cross section of the mesh (Figure 3-4e). The data in the framebuffer is then copied

to the current slice. The next slice of the model data can be created by shifting the

clipping plane to the next position and re-rendering the front and back faces of the mesh

with aforementioned steps above. The process is repeated until the whole volume data is

created, i.e., until the total number of slices is reached.









a) b) c) d) e)

Figure 3-4. Individual steps of the GPU voxelization algorithm (reprinted from [3], freely
accessible from the Internet)


For the model data obtained by CPU computation, first the scalar values of all

voxels are set to a value that represents an unsett' state, then each triangle of the mesh

is traversed. A bounding box is then created to cover the triangle. Inside and on the

boundary of the created bounding box are the pI~ukeon and sampled voxels (Figure 3-5).

Each sampled voxel is classified as lying in front of or behind the plane of the front face

of the triangle. If the voxel is behind or on the plane, it is assumed to be inside the

model and its scalar value is set to 'inside' the model. Otherwise, its scalar value is set to

'outside' the model. If the sampled voxel is already classified, then a decision has to be

made to favor either the 'inside' or 'outside' element. In our implementation, if the voxel

is found to lie in front of the plane and the voxel's value is already set to 'inside', then the










voxel value is changed to 'outside'. While if the voxel's value is already set to 'outside',

then the voxel value is unchanged. This means our algorithm prefers the mesh model that

is convex. Depending on the sampling size, the 3D lattice data set created from a mesh

model that is not fully convex by this algorithm may not be correct. This traversal process

runs for each triangle in the mesh model. After all triangles have been traversed, a flood

fill algorithm ([75] on page 979) classifies the rest of the model data to either 'inside' or

'outside' the mesh based on the voxel values set up from the previous traversal process.














Figure 3-5. Example of voxelizing a triangle on a mesh model by a software algorithm.


3.3 Setting up a 3D Mass-Spring System

After obtaining the 3D regular grid data set, the next step is to set up a 3D

mass-spring system. The setup mass-spring system will be run entirely on a GPU.

A current consumer graphics hardware or GPU can be used as a parallel execution

engine, not only for graphical usages, but also for general-purpose computations [76], [77].

The GPU is designed for compute-intensive and highly parallel computations specifically

for graphics rendering. Compared to CPU, most of transistors in the GPU are devoted

to data processing rather than data caching and flow control [78]. Since the movement

of each mass point in the mass-spring system caused by the internal and external forces

acting on the system can be computed independently of one another, the computation

can be mapped to a data-parallel computation. Therefore, the GPU can be used for

dynamic response, collision detection, and visualization of our deformable object at a










much faster frame rate than the CPIT. With a simple experiment on a :3D nmass-spring

system computation, the result was 10 to 15 times faster.

One reason for the speedup gain is the nienory access provided by the GPIT [79]

(Figure :3-6). The nienory access address for a CPIT is sequential or '1D' while the

last access










a) 2D memory layout (GPU) b) conceptual 2D> array c) 1D memory layout (CPU)

Figure :3-6. Example of nienory layout for a) the GPIT and b) CPIT showing that the
GPIT has a faster nienory access than of the CPIT. Where the darker the gray,
the faster the access [79].


nienory access address for a GPIT is parallel or '2D'. As volumetric simulation data are

organized as a :3D array or a collection of 2D arrays, nienory access times are optimal if

the 2D nienory access distance to the current nienory location is small [79]. Therefore,

this 2D nienory access provided by the GPIT fits well with our simulation data.

Volumetric data of our deforniable object are arranged in a :3D regular grid, where

each data element is called a voxel and eight voxels form a logical cube. Each voxel is

mapped to a mass point with springs that connect its position to its neighboring mass

points in the :3D regular grid. Hence, the total number of mass points is equal to the total

number of voxels. Only the 'inside' and 'outside' voxels in the :3D regular grid will be

processed by our deforniable object simulator.

The volumetric data in the :3D regular grid maps naturally to a GPT :3D texture.

This allows implicit access to spatial neighbor nodes (Figure :3-2 on page :32). However,

another :3D data structure is set up for looking up connections explicitly. The idea

behind this connectivity data structure is to provide flexibility in data setup. Different










connectivities for different regions in the :3D texture, for example, can allow multiple

components to be simulated differently and simultaneously by one :3D texture, and can

ease the connectivity change due to, for example, a cut by a surgical tool.

After the :3D mass-spring system is set up; the position and connectivity of each mass

point in the system are initialized or defined, then the dynamic response of the system can

he computed. The next subsections discuss the ingredients for implementing our dynamic

response .

3.4 Dynamic Response

The mass-spring system is a dynamic system. The system is based on a group of

finite particles, i.e., mass points, connected to a predefined set of other mass points by

linear springs based on Hooke's (spring) law -the force is proportional to the extension

of the spring. Therefore, the behavior of the system is controlled through the forces

computed from the extensions of the springs in the system. The system represents a

second-order ordinary differential equation (ODE). The ODE is solved by the Verlet

integration discussed below.

3.4.1 Ordinary Differential Equation Solvers

Particles are one of the easiest objects to animate. Each particle has position,

velocity, and mass, but no spatial extension, i.e., neither moment of inertia or torque. The

behavior of these particles is governed by Newton's second law, which is a second-order

differential equation on x.

f = mi;, (:31)

where x or x(t) = [.r, yz]"' is the position of the particle at time t; and ii = 4 is

the acceleration of the particle. This second-order differential equation can he converted

to a system of coupled first-order differential equations (position and velocity) where




p = =: I: R"W (:32)









Therefore ,

pi =: =: = (3-3)


In a simple explicit solution of this system of first-order differential equations, the

velocity and the acceleration at time t are used to update the particle's position and

velocity at time t + h, respectively. Hence, the effect of forces at time t will have an

influence on the particle's position at time t + 2h. The problem is now in initial value form

pj(t) = F(p(t)) under the condition that p(to) = Po = [xo, fo]T. The equation is solved

for t > 0. This initial value problem can be solved by discrete approximations, such as the

explicit Euler integration or the Verlet integration method [80].

The derivations of the explicit Euler integration and the Verlet integration are

described in the subsections below. Other explicit integration methods are not considered

here, since a slight accuracy gain does not out weigh the speed loss due to higher time

complexity that hinders the simulation speed. While any implicit integration method

provides a much higher stability of the system, it requires a linear system to be solved

at each time step, i.e., each mass point cannot be solved independently [41], [81], [82].

It means whenever there is a topological change of the model, the ODE system has to

be reconstructed. Therefore, the same reason is applied for not choosing an implicit

integration method. Hence, only the explicit Euler integration and the Verlet integration

methods are suitable for our deformable object modeling framework.

3.4.1.1 Explicit Euler integration

In the explicit Euler integration, the time is discretized to tis = h + ti, where i >= 0

and & > 0. A second-order accurate approximation of the position at time ti41 can be

approximated by the first-order Taylor Series


P(ti+1) = P(ti) + hAP(ti) + O(h2 (4








Since the initial value of p(to) is assumed to be known or given and F(p(t)) = [j:, f(t)/m] ,
then the approximation of p(t,) is

p(tl) a p(to) + hF(p(to)) (3-5)

Which becomes

1,+ &/ (3-6)

Hence, the calculation for each i + 1 step is



I+ &ilMI] l/ (3-7)

So the next position and velocity, i + 1, are solved simultaneously


Xi+1 i V
I+ &il I: I (3-8)

This explicit Euler integration method is very simple to implement, and it is very
fast to compute for each iteration. However, the solution may become unstable and the
accuracy is worse with respect to each increasing time step [41].
3.4.1.2 Verlet integration
Verlet integration method was introduced in 1967 by Loup Verlet for computer
experiments on classical fluids [80]. From the first-order Euler integration equation,

Ix(t + h) x t) v(t) ~2)(9

v(t + h) v(t) at

Using the Taylor series to approximate x(t + h) and x(t h),
1 1
x(t + h) = x(t) + hi:(t) + h2j;t + 3X*t O4)
2 6;
1 1
x(t h) = x(t) hi:(t) + h2j;t 3X*t O4) _10)
2 6









Addingf the above equations results in


x(t +h) +x(t -h) = 2x(t) +h2j;t + 3) 31


Rearranging the equation to


x(t + h) = 2x(t) x(t h) + h2jit + 3) (312)


This result in the velocity is represented implicitly by the previous and current positions.

By subtracting the two Taylor series approximation equations above and rearranging the

result equation, the velocity is

x(t h) -x(t -h)
v(t) = +O(h2) 3 )
2h

Since the Verlet integration does not need to keep track of velocity, the next time

step solution can be computed in one step by Equation 3-12. The absence of the velocity

term makes the implementation of constraints between particles simpler, such as handling

a collision response. Whenever a particle penetrates an object, the particle is simply

moved out of the object via the shortest path. The subsequent new implicit velocity

will be the subtraction of the new position from the previous position that touches the

object's surface. Hence, the implicit velocity will be slid along the surface. Also whenever

a particle's position is adjusted, its velocity will be taken care of implicitly by the Verlet

integration. The implicitly approximated velocity in the Verlet integration results in more

damping in the particle system. This extra damping makes the Verlet integration method

have better stability than the explicit Euler integration method.

Another advantage of the Verlet integration method over the explicit Euler integration

method is the size of storage. The Verlet integration needs the previous, current and next

positions, while the explicit Euler integration needs the current and next positions and

the current and next velocities. These advantages are enough for choosing the Verlet

integration over the explicit Euler integration for our deformable object simulator.










3.4.2 Data Structure on the GPU

The data structure on the GPU simulates as a CPU-based 3D array by a GPU-based

3D texture. To keep the GPU's shaders running in parallel, a texture of the GPU cannot

be read and write to at the same time. Hence, two textures are needed for current and

next stages, respectively. The explicit Euler integration requires current position and

velocity of a mass point for computing the next position and velocity of the mass point.

Therefore, four textures are needed. Two for (read) current position and (write to) next

position, and the other two for (read) current velocity and (write to) next velocity. The

Verlet integration requires previous and current positions of the mass point for computing

its next position. Therefore, three textures are needed. The Verlet integration does not

need to know the current velocity of a mass point, since the velocity of a mass point is

approximated by the difference of the current and previous position. This difference shows

that the Verlet integration requires less memory and computation time and memory for

solving the ODE system on the GPU than that of the explicit Euler integration.

3.4.3 Force Computation

After the data structure is set up, the force computation can be processed. The forces

in the dynamic response consist of internal forces and external forces, Fros = Fiat + Feze

The total force that acts on mass point i in the system is the sum of internal forces from

connecting springs and external forces from outside interactions, such as a gravitational

field.


F or = F us Fyze = keXi,|x xy|) F"e (3-14)
||xi xj ||
j E neighbors of i

The internal force is computed by a GPU fragment shader. The shader looks up

the previous and current positions of each mass point from the 3D textures based on

the specific input texture coordinate. It also iteratively looks up the connectivity of

the mass point to the .Il11 Il:ent neighbors. If a connection exists, the shader fetches the

current position of the connected neighbor and computes the internal force of the spring










connecting the current position of the mass point to the current position of the neighbor.

These internal forces are added based on the number of connected neighbors to the mass

point. An external force, e.g., a gravitational force, can he added into this computation

pass. The shader then uses the Verlet integration to find the next position of the mass

point based on the total force acting on the mass point. For solving a collision with other

objects, constraint-hased displacement is used instead of the exact collision force (see

Section 3.5 Collision Detection, Topology ChI Iuse -~ and Haptic Sensation).

3.4.4 Parameter Adjustment and Constraints

The stability of a nmass-spring system notoriously depends on its parameters. Where

one change of its parameter value can cause its dynamic response to diverge. Also if its

parameters are not set properly, its dynamic response will diverge. With the requirement

that the system must run in real time, there is no easy way to automatically setup

parameters for each generated model size and shape.

In the deforniable object simulator, the movement (farther away or closer) between

two connected particles represents the elasticity of the deforniable object. 1\ost soft

organic tissues have higher elastic deformation than most solid objects, such as aluntinunt,

plastic, or cloth, but much less than elastic material, such as rubber. The stiffness of the

deforniable object can he adjusted by changing the stiffness of springs. If the stiffness of

springs is set too low, then the model appears rubber-like. However, if the stiffness is set

too high the nmass-spring system will not he stable.

In order to make the simulated deforniable object look more stiff without resorting to

a more complex computation that hinders the performance or risks creating an unstable

system, a constraint is added to adjust the degree of nlovenient of a particle away front

or toward its connected particles. If a spring is compressed or elongated more than the

threshold, then an offset is applied to set the distance between the two mass points to be

within the threshold, hence, preserving the length of the spring to within the threshold.










This relaxation constraint acts as an invisible barrier that block the particle front

moving too close or too far from its connected particles [29]. Overall, this constraint makes

the model appear less elastic and speeds up the convergence of the dynamic response of

the system toward an equilibrium stage. It fits well with the Verlet integration due to the

absence of the explicit velocity term in the Verlet integration.

Hence, stable default parameters are set for initializing the deforniable object, and the

user can enipirically adjust the parameters of the nmass-spring model to change its dynamic

behavior.

3.5 Collision Detection, Topology Changes, and Haptic Sensation

The simulated deforniable object must he able to interact with other objects, such as

surgical tools and other objects, in the simulation environment. The collision detection

will determine whether each mass point and/or each of its connection collides with the

objects in the environment. There are three v- .1-< to resolve the collision without changing

the resolution of the 3D regular grid, in which the last two r- .1-4 can change the topology

of the nmass-spring system:

1\ove the colliding mass point away front the object
Remove the colliding mass point front the nmass-spring system
Remove the colliding connection front the nmass-spring system

For collision detection and response of each mass point with a virtual tool, we

compute the distance of the mass point front the bounding primitive (or the set of

hounding primitives) that represents the (part of) tool. If the distance is less than a

threshold, i.e., the mass point is considerably inside the bounding primitive, then the mass

point is either removed or moved to outside the bounding primitive via the shortest path.

[Topology Change by Removing Mass Points] Removing the mass points in

contact with the cutting part of a surgical tool is the same as voxel popping (Figure 3.5).

This is similar to cautery -the process of (1 .~ ai-; :_ (abnormal) tissue by burning or

searing using an agent or instrument.










[Topology Change by Removing Connections] Removing the connections

between the mass points in contact with the sharp edge of a cutting tool is shown in

Figure :3.5). Each connection is treated as a line segment. The collision detection finds

whether the line segment intersects with the bounding primitive (or the set of hounding

primitives) that represents the sharp part of the tool. If the intersection occurs, the

connection is removed front the nmass-spring system.

[Haptic Sensation] To provide haptic sensation to the user, the physical device

representing the virtual surgical tool that is manipulated by the user must he able to

provide force feedback. We uses a PHANTOM@)OnniTI\haptic device [1] (Figure :3-8),

which provides six degree-of-freedon1 for tool manipulation and three degree-of-freedon1

(along .r, y, and x direction) for force feedback. The collision detection will record

penetration distance of each mass point in the nmass-spring system with the virtual

surgical tool in a GPT :3D texture. The data are read front the texture by the CPIT. The

CPIT calculates the average sunt of the data and uses it to set the force feedback on the

haptic device to provide the user with sense of touch.

After the dynamic response and collision detection have run for a number of fixed

time steps to advance the deforniable object's dynamic behavior through time, the

visualization can display the deforniable object to the screen.

3.6 Visualization

The goal is to display a volumetric model to the screen. The visualization data can

he generated front the same source used to create the model data for the simulation. The

data size of the visualization can he smaller than, the same as, or larger than the size

of the simulation data. For our deforniable object, we use the same data size for both

simulation (dynamic response and collision detection) and visualization. The visualization

is usually updated at a rate of :30Hz. The higher the simulation update rate, the better

the simulation of the object's dynamic behavior. That means the simulation update rate

should be higher or at least equal to the visualization update rate.






















a) deformable cube: mass points, surface with mass points, and only surface





-e e ~.' e ,



b) removing mass points change the surface





StOcp
c)~ ~ ~~~~~~~4 ) eoigcnetoscag h ufc
Figure 3-7 Siuaect n atre facb bet )Adfral uei atr


by b) removing oeing mhass pites randcutb )rmvngcnetos






















Figure :3-8. A PHANTO1\lOmniT'li L .tic device (reprinted from [1], freely accessible
from the Internet)


Three options for visualization were considered: :3D texture, ray < I- so! and

mesh approximation. Ray casting is the most popular image-order method for direct

volume rendering [:3]. It generates an image containing both the outside and inside of

a volumetric object by tracing a ray of light from a light source to the object's surface

and, if applicable, through the inside of the object that is reflected to the viewer's eyes,

for example, like a camera lens. A lot of ray casting techniques have been developed for

real-time volume rendering [2], [:3]. However, with interactions of deformable objects and

surgical instruments in a surgical simulation, the ray casting (or direct volume rendering)

method is still too computationally expensive and hinders the simulation from running in

real time.

Visualizing a volumetric model with both the inside and outside part can he

accomplished by rendering a :3D texture that is mapped onto the volumetric model

[2], [:3]. Each data of the volumetric object is mapped to a texel in the :3D texture via

texture coordinates. Using trilinear interpolation, the visualization renders each pixel on

the screen from a combination of the texels and the data in the :3D regular grid [8:3, 84].

The 1 in r draw back of the :3D texture visualization is that the smoothness of the

rendering depends on the size of the :3D regular grid (Figure :3-9). A deformation of the

model can he simulated by adjusting the texture coordinate associated with the deformed









data (Figure 3-10). Also, the object's deformation space is limited by the dimension of the

3D texture in the world space.











Figure 3-9. Sphere rendered by a (100x100x100) 3D Texture visualization compared with
a sphere rendered by a (25002 vertices and 50000 faces) mesh visualization












Figure 3-10. Sphere deformation visualized by a (100x100x100) 3D Texture visualization


The third option was to associate a surface mesh with the volumetric object. Each

vertex of the mesh was mapped to a boundary data of the volumetric object. The surface

deformation was then a transformation of the boundary data to the vertex [85], [52]. Mesh

rendering gave a good smooth approximation of the volumetric model, but it was hollow

inside. A cut on the model would result in a cut on the mesh [86]. This cut would expose

the model as a hollow object. One possibility was to superimpose both on the screen, the

mesh as the skin of the model and 3D texture as the material inside the model. Our study

did not test on this combination. Instead, we resorted to another mesh approximation

option.

Since the visualization must be able to modify its topology which is associated with

the simulated object's topology that undergoes changes due to, for example, cutting, a










real-tinle generation of an approxiniated niesh front the volumetric data can he used. The

marching cubes algorithm is used in this study for generating a surface triangular niesh for

visualizing the volumetric data in real time.

3.6.1 Marching Cubes

The original 1\arching cubes algorithm [7:3], [87] (and its variations) is the most

widely used method for the extraction of isosurfaces front 3D volumetric data [2]. The

algorithm generates polygonal representations of :3D volumetric data directly front a :3D

volumetric data set by tessellating a logical cube constructed front eight voxels in the data

set. The surface boundary of the model contained inside the data set can intersect a cube

according to a classification of each cube vertex into inside or outside the surface. The

classification of the eight vertices of the cube results in 256 possible configurations, but

only 15 topologically distinct patterns exists front the 256 configurations (Figure :3-11).

To shade the surface of the :3D niesh projected onto the view plane for display, an

intensity is calculated front the component of the unit normal vector parallel to the view

direction

[87]. The gradient vector of the intensity :3D data estimates the surface normal

direction, since the gradient is perpendicular to surfaces of constant density.

f (.o + a, Yo, Xo) f (f (.o a, Yo, xo)]

f (.o, Yo + b, Xo) f( f (.o, Yo b, xo)]

f (.ro, Yo, Xo + C) f(f(.ro, Wo, Xo C)]
g, (:315)


Equation :315 is a gradient estimation by central differences of the three components of

the intensity function. In visualization, the gradients are used to provide contrast that

depends on the surface orientation to the rendered image.

However, the :3D regular grid data set obtained front voxelization of an input niesh

model does not have gi li---I II0 intensity. Instead it is a binary data set. This is all is .b~

disadvantage of any discrete representations, such as our voxel-based data, since its

















a) Case 0 b) Case 1 c) Case 2 d) Case 3 e) Case 4







f) Case 5 g) Case 6 h) Case 7 i) Case 8 j) Case 9







k) Case 10 1) Case 11 m) Case 12 n) Case 13 o) Case 14

Figure 3-11. Fifteen topologically distinct patterns are used to tesselate a surface
intersecting a cube. The green vertices are inside the surface, while the red
vertices are outside. Each pattern separates the vertices inside the surface
from outside the surface by a triangular mesh intersecting the edges [73], [87].


resolution is finite. This artifact is obvious when such a surface model is viewed from up

close.

A higher-order interpolation could be used to improve the object's surface smoothness,

so that the surface looked smooth even with close-up views. One of such higher-order

interpolation methods was a tricubic interpolation based algorithm [88]. This method used

a tricubic reconstruction to create a smooth surface from a binary discrete 3D data set,

where a sampled voxel was only classified as either lying 'inside' or 'outside' the object.

The tricubic interpolation function was based on a univariate cubic Hermite interpolation,

where each vertex v of a cube in the discrete 3D data set was assigned 8 values: a distance

value and 7 derivative values. The computation cost of the algorithm was that of 12

evaluations of univariate cubic polynomials and of 21 inner products of vectors of length










4 ([89] on page 76). Due to the computation complexity, this algorithm could not execute

fast enough for an interactive application with deformable objects.

Instead of locally smooth the surface, other methods created a globally smooth

surface from the binary volume data. These methods, such as ones based on the technique

of constrained elastic surface nets [74], [90], were either iterative methods or required

preprocessing [91] on the binary volume data, which have to be static. They did not run

fast enough for a real-time application featuring unscripted deformable objects without

special hardware, such as a special high-end graphics card or a parallel computer system.

In our study, the central difference method is used to estimate the gradients of the

binary voxel data. Next we explains how our gradient estimation is computed.

3.6.2 Gradient Estimation

Since the voxel-based surface has no parameterization, the derivatives need to be

approximated by a discrete method. The common gray-level computes the gradients of a

given voxel based on the gray values of its local neighboring voxels by standard central

difference. When applying the central difference method to our 3D regular grid data

which are binary voxels that contain a value of either 'O' or '1', the result is a poor quality

approximation of derivatives. However, since the input mesh is a boundary representation,

the exact interpolation value representing the intersection of each pair of the inside

and outside voxels to the surface can he found. These data can he used to improve the

geometry of the representation. The data are preprocessed and stored in the GPU's

memory and later used by a visualization shader that uses the marching cubes to create

and render the surface on the screen.

Based on the central difference method, the gradient of a voxel is approximated by

the normalized sum of all vectors originating from the voxel's neighbors that are inside

the model; while voxels that are outside the model do not contribute to the gradient










estimation (Figure :3-12). A similar gradient approximation method was also used by [52].


g, = naormanlize( < cy (:316)
j E neighbors of i















Figure :3-12. Gradient estimation for a voxel at the boundary

The gradient estimator -II_a---- I in the original marching cubes algorithm [87], uses

only :3 directions (for a grey-scale intensity :3D data set), i.e., the axis aligned directions

or face directions involving 6 neighbor voxels. However, every voxel, not on the boundary,

is .Il11 Il-ent to 26 other voxels in the :3D regular grid data set. The gradient estimator,

therefore, can he classified into the face directions (6 voxels), the vertex directions (8

voxels), and the edge directions (12 voxels). Our study found that the combination of all

gradient estimators gave the best result (Figure :3-13).

3.6.3 Improving the Surface Smoothness

The smoothness of the surface obtained from the marchingf cubes method depends

on the size of the :3D regular grid used. An algorithm for smoothing meshes called

"curved PN t il .1.!,1 was tested to improve the smoothness of the visualization. Curved

point-normal triangles or PN triangles [92] is a subdivision-based algorithm for improving

the visual quality of a triangular mesh. The algorithm took each triangle of the mesh

and replaced the triangle with a curved patch and a higher-order normal variation. The

flat geometry (vertex positions) of the triangle was substituted by the geometry of a

three-sided cubic Biizier patch. The vertex normals of the triangle were replaced by the










nornials of a three-sided quadratic Biizier patch. This algorithm was used to generate

a smooth hunipy surface front the triangular niesh generated by the marching cubes

algorithm (Figure :3-14);. The result showed that the algorithm improved the visualization

of small :3D data sets. However, it degraded the visualization of bigger :3D data sets. This

was caused hv the triangular niesh generated front the marching cubes that contained

irregular triangles. Therefore, in our deforniable object modeling the curved PN triangles

algorithm is only suitable for small :3D regular grid data sets.

Based on our study and design discussed above, we can start creating our deforniable

object simulator. Chapter 4 explains how to intplenient our deforniable object simulator.
























a) 8x8x8 Face


b) 8x8x8 Edge


c) 8x8x8 Vertex


d) 8x8x8 All


e) 16x16x16 Face


f) 16x16x16 Edge


g) 16x16x16 Vertex


h) 16x16x116 All


1) 32x32x32 All


k) 32x32x32 Vertex


i) 32x32x32 Face


j) 32x32x32 Edge


11) 64x64x64 Face 11) 64x64x64 Edge o) 64x64x64 Vertex p) 64x64x64 All

Figure 3-13. Comparison of gradient estimations; by the face, edge, vertex, and all
directions.






















a) 3x3x3 wireframe b) 3x3x3


c) 3x3x3 wireframewith d) 3x3x3 with PN
PN triangles triangles


g) 5x5x5 wireframewith h) 5x5x5 with PN
PN triangles triangles


e) 5x5x5 wireframe


f) 5x5x5


1) 10x10x10 with PN
triangles


i) 10x10x10 wireframe j) 10x10x10


m) 32x32x32


n) 32x32x32 with PN
triangles


o) 64x64x64


p) 64x64x64 with PN
triangles


Figure 3-14. Visualization results from applying the curved PN triangles algorithm after
the marching cubes algorithm.


k) 10x10x10 wireframe
with PN triangles










CHAPTER 4
Il\PLE1\ENTATION

Our deformable object simulator utilizes GPU computations to improve the

performance. It uses all currently available shader types: vertex, geometry, and fragment

shaders; for computing dynamic response, collision detection and visualization (Figure

4-1). The implementation of our deformable object simulator is in C++ with OpenGL

2.1 and OpenGL shading language (GLSL) 1.2. The simulator consists of three main

representations: dynamic response, collision detection, and visualization explained in

chapter :3. The dynamic response interacts with inside and outside simulative factors,

such as connecting springs in the system and a gravitational force, involving both internal

and external forces. The collision detection constrains the mass points in the system

from penetrating other objects, such as a surgery tool, in the simulation environment.

While the visualization interacts with the viewing environment, such as rendering specular

highlights on the deformable object illuminated by a light source (Figure 4-2). Each

representation, except the collision detection, consists of two modules. There are two

collision detection representations: one for deformation by collision and another one for

topology change by collision. First our data structure on the GPU is discussed followed by

the implementation of each representation.

4.1 Data Structure on the GPU

With the Verlet integration, three :3D textures are needed for keeping the previous

(input), current (input), and next (output) positions of the mass points. These textures

are used as a circular buffer in each iteration. Even though, the connectivity of a mass

point to its (.ll11 Il-ent) neighbors is implicitly defined in the :3D regular grid, an explicit

connectivity is defined and kept in another :3D texture. This connectivity provides

flexibility in data setup and ease in changing connectivity due to cutting by a surgical

tool. Hence, at least four textures are needed: three for (previous, current, and next)

positions and one for connectivity.





















/ GPU Shaders \


Start I




I ODEEnabld yes Verlet Integration I ABCD
I ~for next position 1




I S Relax Relaxation B -
M mte e+Constraint 2





dolollisi on llso eeto BCD -
I O Detection -olso yes +io
1N Enabled & Response -3 4 5

no






I ~yes I


I I ~Marching Cube I S Visualization F



I Iyes

IA PN Triangles t F

O I
N no I


Continue?


no


End I




Figure 4-1. Deformable object framework diagram


I' GPU Textures '



-A I Previous P sition




B Current Position
(R Only)



-1 2 Next Position
I ~(W Only)I



C Sim latio Info7




Connecti ltes

IROny


1 New Cnnectivities




~~~Collision Info ---E




fF Visualization Info






I ~CPU '
~S )-- --- --------- 14 E


Simulation Parameters I 7
(R/W)



Visualization ParametersI
(R/W)


Deformable Model Framework






















a) user interaction


b) visualization


User Interaction r\Haptic Device 1 3D Masls-SrigViulzto




c) Abtraction of modeling process

Figure 4-2. Modeling process. User interaction and visualization are shown by a) and b).


Since each mass point can have up to 26 .Il11 Il:ent neighbors plus 1 for the home

spring (Figure 4-3a), the mass point connectivity to its neighbor can be kept in a texture

of size 3x3 texels (Figure 4-3b). Therefore, the width and height of the connectivity

texture is three times '?1 r-i than a position texture. Each location, .7- FNW (Fr-ont-North-West),

can be used for storing spring stiffness (and damping). Where a zero value represent no

connection, and positive values represent spring stiffness. Therefore, this connectivity

texture provides high flexibility for setting (3x3x3 = 27, last three is from RGB per texel)

spring parameters per each mass point. This allows for different spring stiffnesses to be

used for different regions in the model.

While the 3x3 connectivity data structure provides high flexibility for setting spring

parameters, it is hardly needed in simulating a deformable object. Therefore, a more

practical choice is to use only one (RGBA) texel for encoding the connectivity. Each

component (R, G, B, and A) of the texel is a single 8-bit unsigned integer in the range

of 0 to 255 (Figure 4-4). Each bit represents a flag bit for a connection, 'O' or '1' for no










connection or connection, respectively. For example, bit 7 of the R component is set if the

mass point is connected to its front-north-west (FNW) neighbor. In our implementation,

this texture is used for keeping the connectivity of the mass-spring system. Next we can

start creating our deformable object with this data structure.


(x-1,Y+1) (x, Y+1) (x1,Y+1) FW F N
,-------r------,---------.FW F N

(x-lj Y) x )x+Y
e-- ---r -- ---- -- F F FE -

(x-pr1) x~Y-1 (+ Y1) A = sovalue
r------- -----------B = Back
B = Back (Z-1) FSW FS FSE
SG = Center (Z) G = Center
L_....._L_......L.......I
R = Front (Z+1) R = Front
a) position texture b) 3x3 connectivity texture

4-3. A mass point connectivity by 3x3 texels, a) the center mass point (x, y) of the
position texture is associated with b) the 3x3 connectivity texture that
provides nine RGB texels for looking up the connectivity of the center mass
point to its 26 neighbors plus 1 for the home spring. Where C := Center, F :=
Front, B := Back, N := North, S := South, E := East, and W := West.


Figure


byte (8 bits)











'NlW N NE W E SW S ,,Si




A = Mixed
B = Back
SG = Center
R = Front

Figure 4-4. An RGBA texel for connectivities of a mass point


to its neighbors.










To initialize our deformable object simulator, first the 3D voxel data representing

a deformable object has to be loaded into the GPU's texture memory (or texture).

Three textures are required for previous, current, and next positions, and one texture

for connectivity among the mass-points in the system. These textures are needed by the

dynamic response, consisting of the ODE solver and relaxation constraint adjustor, and

the collision detection. Other textures are also needed: a texture for supporting collision

detection, a texture for supporting simulation, and a texture for supporting visualization

(Figure 4-1). Since a GPU texture cannot he bound as read and write at the same time,

another texture for changing connectivity is needed for simulating a cut on the model.

The simulator checks each connection from the read-only connectivity texture and removes

the connection from the write-only connectivity texture if the connection is cut. The

textures are then swapped, so that the new connectivity can take effect.

The same read/write situation is also needed to read the current and previous

positions of each mass-point stored in a read-only texture and to write out its new

position to a write-only texture. The previous and current positions are needed because

the simulator's ODE solver is based on the Verlet integration. These three textures are,

therefore, arranged as a circular buffer, cycling from the previous position texture to the

current position texture, from the current position texture to the next position texture,

and from the next position texture back to the previous position texture.

After the 3D data are loaded to the GPU's memory, the CPU can control the

simulation, performing tasks such as to enable or disable the collision detection, and

change the parameters of the mass-spring system, such as spring stiffness and the time

step. In the next section we will show how each representation works.

4.2 Dynamic Response

In our deformable object simulator, the dynamic response is composed of two

sequential modules: an ordinary differential equation (ODE) solver followed by a

relaxation constraint adjustor.










4.2.1 Ordinary Differential Equation Solver

Our deformable object simulator is a mass-spring system based on the assumption

that the forces are given or computable for all relevant interactions and positions. The

initial position and velocity for each mass point in the system are also assumed to be

known. The Verlet integration [80] is used in our deformable object simulator for solving

the ODEs for the dynamic behavior of the 3D mass-spring system.

The Verlet integration equation (Equation 3-12 on page 40) for each mass-point in

the mass-spring system is


xi (t + at) = F, 2 + 2xi(t) xi (t at) ka(xi(t) xi(t at)) (4-1)
mi

where xi(t + at) is the new position of mass-point i resulting from the total force Fi

applying to the mass-point. xi(t) and xi(t at) are the current and previous position of

mass-point i, respectively. at is the time step and mi is the mass of mass-point i. kd is a

damping constant contained in the last term. The last term, kd(xe(t) xi(t at), is for

damping the mass-point's movement to reduce an oscillation from applying a high force to

the mass-point, which may cause the system dynamic to diverge.

4.2.2 Force Computation

In the simulation, the forces applied on a mass-point consist of internal Fi
external Fext forces. The total force F exerted on mass point i is the sum of internal

forces from connecting springs and external forces from outside interactions. An example

of an external force is the force of gravity. The internal force acting on a mass-point in

our mass-spring system is the summation of each force produced by the stretching or

compressing of the spring that connects the mass-point to another mass-point in the

system:
kij~ ~ ~ -X-IIi-XjIi 3(
||xi xj ||
j E neighbors of i
Where kij is the stiffness of the spring connecting mass-point i to mass-point j. 14, is the

natural or rest length of the spring.











'GPU Fragment Shader ', GPU Textures


Previous PositionI
I ~(R Only)I


B ~Current PositionI
(R Only)I


Next PositionI
Verlet Integration (W Only)I


Simulation Info
(R Only)


D ~ConnectivitiesI
(R Only)I




Figure 4-5. Simulation: ODE solver shader


A GPU fragment shader is set up to calculate the next position of each mass-point

parallelly on the GPU (Figure 4-5). It computes both the internal and external force being

exerted on each mass-point. The shader looks up the previous (-A-) and current (-B-)

positions of a mass point from the 3D textures based on a texture coordinate identifying

the point's logical location in the 3D lattice grid. The simulation parameters, such as

spring stiffness constant and time step, are read (-C-) from Simulation Info texture. It

also iteratively looks up the connectivity (-D-) of the mass point to the mass point's

.Il11 Il:ent neighbors provided by the connectivity texture. If a connection exists, the shader

fetches the (current) position of the connected neighbor and computes the internal force

of the spring connecting the mass-point's current position to the neighbor. These internal

forces are added based on the number of connected neighbors to the mass point. An

external force, e.g., a gravitational force, can be added into this computation pass. For a

collision with other objects, constraint-based displacement is used instead of estimating










the collision force (see Section 4.3 Collision Detection and Response). The next position of

mass point i is computed by Equation 4-2 and written to (-1-) Next Position texture.

4.2.3 Relaxation Constraint Adjustor

After finding the new position of each mass-point, the simulator uses another shader

to enforce a relaxation constraint on the distance of each mass-point to its neighbors in

the system. The relaxation constraint shader (Figure 4-6) is similar to the ODE shader

above (Figure 4-5). However, it does not need to know the previous position of the

mass-point, only the current position is needed. The relaxation constraint is to limit

all spring lengths to be within a min/max length threshold [29]. If a spring is extended

too far, an offset vector is applied to both mass-points connected to each other by the

spring to move them closer in order to reduce the length of the spring to within the

maximum length threshold. If a spring is too compressed, an offset vector is applied to

both mass-points connected to each other by the spring to move them farther apart in

order to increase the length of the spring to within the minimum length threshold.


GPU Fragment Shader ', GPU Textures


Previous PositionI
(R Only)I


B ~Current PositionI
I (R Only)


Relaxation 2 | Next PositionI
Constraint (W Only)I


Simulation InfoI
(R Only)I


I D ConnectivitiesI
(R Only)I




Figure 4-6. Simulation: Relaxation constraint shader










Our relaxation constraint shader does not process each spring. Instead, like the ODE

shader, it processes each mass point. That means the current length of each spring is

calculated twice, since two mass points are connected together by the spring. In order

to process each spring only once on the GPU, the computation has to separate into two

passes, since the GPU does not allow scatter write, i.e., the location to write to is fixed,

The first computation pass computes each spring length, calculates the offset vector, and

stores the offset vector in a texture. The second computation pass then moves each mass

point according to the average sum of the associated offset vectors stored in the texture by

the first computation pass.

To avoid the two computation passes, our relaxation constraint shader processes each

mass point and finds the length of each spring that connects the mass point to another

mass point. The shader sets an offset vector for each spring length and adds the offset

vectors together, then averages the summation with the number of springs that connect to

the mass point. The shader then uses the average offset vector to move the mass point in

order to approximately preserve the length of all springs that connect to the mass point to

the desired maximum or minimum length.

4.3 Collision Detection and Response

A surgical tool manipulated by a user will frequently collide with the simulated

deformable object. Our collision detection is based on bounding volume intersections.

Each mass point in the system is represented by a bounding sphere. The surgical tool can

be represented by one or more bounding geometries. A GPU fragment shader is set up to

perform this collision detection (Figure 4-7).

Without loss of generality, we assume the surgical tool is represented by a bounding

sphere. The shader reads the current (-B-) position from Current Position Texture. It also

reads the simulation parameters (-C-) from Simulation Info texture. The shader computes

the intersection distance d between the bounding sphere Si of the mass point with the










'GPU Fragment Shader ', GPU Textures


Previous PositionI
(R Only)


B ~Current PositionI
(R Only)


I ~Next PositionI
Collision Detection i I (W Only)I


Simulation Info
(R Only)


Collision InfoI
(R Only)I




Figure 4-7. Simulation: Collision detection shader


bounding sphere St of the surgical tool.


d = R(Si) R(S,) ||C(si) C(St)||


(4-3)


where C(S,) and R(S,) are the center and radius of S,, respectively. If d is less than zero,

then the mass point intersects the surgical tool. The intersecting mass point is moved

away from the surgical tool via the shortest distance v from the bounding sphere of the

surgical tool.
C(si) C(St)
S= d (4-4)
| |C(si) C(St)l

The new position of the mass point (xt+t) is written to (-3-) Next Position texture. The

change of the mass point's position (d)~ is written to (-5-) Collision Info texture.


d = xt+t xt


(4-5)










where (x,) is the current position of the mass point. These data stored in Collision Info

texture are for computing force feedback to the haptic device representing the surgical tool

manipulated by user as described in Section :3.5 on page 4:3.

Another shader is needed for collision detection that create topology changes to the

deforniable object. This shader is more complicated than the previous collision detection

shader (Figure 4-8). The shader needs to know the connectivity (-D-) of the mass point,

so that it can change the connectivity (-4-) of the mass point. The shader is used for

removing the mass points and/or the connections that intersect with the bounding sphere

of the surgical tool.

The topology change on the nmass-spring system will affect how the object is rendered

by the visualization representation. The topology change due to collision response

along with how to visualize it are described in Section 4.5 Topology C'!s Ias -~ after

the intplenientation of the visualization has been described.

4.4 Visualization

In the deforniable object simulator, the visualization is composed of two sequential

modules: marching cubes followed by curved PN triangles (Figure 4-9).

4.4.1 Marching Cubes

Marching cubes [7:3] is a widely used algorithm for extracting a surface triangular

niesh front a :3D grid of scalar data sampled front a scalar field. To intplenient the

algorithm, a triangle and edge tables, for looking up the list of triangles that needs to

be rendered according to the cube configuration value (Figure :3-11 on page 49), have to be

set. These tables are obtained front Paul Bourke's Polygonising A Scalar Field [9:3].

The triangle and edge tables are kept in (-F-) Visualization Info texture. For each

cube in the :3D regular grid, the shader reads eight voxels of the cube front (-B-) Current

Position texture. A GPU geometry shader is used to determines the cube configuration

value and uses the value to read the list of triangle front (-F-) the tables. For each

triangle in the list, the shader computes the vertex positions, vertex estimated nornials











'GPU Fragment Shader ',I. GPU Textures


Previous Position
(R Only)


B Current Position
(R Only)


Next Position
(W Only)


Simulation Info
Collision Detection I`(R Only)
with change of
connectivity I i I~onc~te
I (R Only)


New Connectivities
I (W Only)


I Collision Info
(W Only)


0 I Visualization Info
(W Only)I



Figure 4-8. Simulation: Collision detection shader with the capability of making
connectivity changes to the deformable object



(Equation 3-16 on page 51), and 3D texture coordinates for 3D texture mapping. The

shader then renders the triangle to the screen.

For visualizing a logical cube that has been cut by a virtual tool, the marching cubes

algorithm is modified to visualize the cut cube. The modified visualization is described in

Section 4.5 Topology C'!s Is -

4.4.2 Curved PN Triangles

As discussed in Section 3.6.3 on page 51, for small 3D regular grid data sets PN

triangles [92] can be used to replace each triangle generated from the marching cubes

algorithm with a three-sided cubic Biizier patch with quadratic normals. The algorithm

is added into the geometry shader as a visualization option (see [92] for the algorithm

detail) .










'/ GPU Fragment Shader(s) ', GPU Textures

CurrentO Pstion

Marching Cubes
I Visualization info
F (R Only)







no PN Triangles



C~ToDisplay




Figure 4-9. Visualization: Marchingf cubes and PN triangles shader


4.5 Topology Changes

As mentioned in Section 4.3, the topology of the object can be changed by the

intersections of the virtual tool with the mass points and/or connections in the mass-spring

system that represents the object.

For each removed mass point, each of its connections will be traversed in order

to remove the connection from its neighbor, since the connection is symmetric (Figure

4-10). The removed mass point has no effect on the visualization by the marching cubes

algorithm.

For each removed connection, the connection is removed from the connectivity of

the two mass points that are connected by the connection. Since the removed connection

represents a cut on the surface mesh, the visualization data has to be modified to display

the cut. The cut is visualized by modifying the marching cubes algorithm to recognize the

separation of the two mass points (Figure 4-11). In the dynamic responserepresentation,

















a) before the mass point is b) after the mass point is
removed removed

Figure 4-10. Removing mass points affect the surface visualization


the two mass points connected by a removed connection will be' I__- d with a 'left'

and 'right' values (-6-). Assume the geometry of the cut is a rectangle. A connection is

removed if it is intersected by the rectangle. The mass point connected by the connection

that lies on the left (right) side of the rectangle will be I__ d with 'left' ('right') value.

The marching cubes is modified to create the triangles from the cube twice. The first

(second) one treats all 'left' ('right') mass points as voxels inside the object and all 'right'

('left') points as voxels outside the object. The second one treats all 'right' mass points

as voxels inside the object and all 'left' points as voxels outside the object. A similar

approach was also used by Triquet et al. [94]. The implementation of the shader for the

marching cubes algorithm is explained below.









a) before the connections are removed b) after the connections are removed

Figure 4-11. Removing connections affect the surface visualization









CHAPTER 5
APPLICATION SCENARIO

An application (Figure 5-1) is created for developing and testing our deformable

object simulator. The resulting deformable object can he saved and deploi- .1 in another

application that requires such a deformable object (Figure 5-2).


Application for creating deformable object


Figure 5-1.


Currently our deformable object is used in TIPS. The haptic-enabled toolkit for

illustration of procedures in surgery (TIPS) [7], [8] is a medical illustration and simulation

for authoring a medical scene by an experienced surgeon to be repeatedly learned by

medical students and residents. The application is created and developed by the SurfLab

research group at the University of Florida (UF) in collaboration with other ITF staff from

the department of surgery.

The current case study under development in TIPS is the removal of the adrenal

gland. This operation requires a safe dissection of the fatty tissue to expose the adrenal

























b) the 16x16x16 deforniable
object (90 FPS)


a) the original niesh


c) the 32x32x32 deforniable
object (28 FPS)















f) the 100x100x100 deforniable
object (2.0 FPS)


d) the 40x60x20 deforniable e) the 64x64x64 deforniable
object (21 FPS) object (6.1 FPS)

Figure 5-2. Modelingf a stomach


vein [8]. Our deformable object simulator is integrated into the software for simulating the

fatty tissue (Figure 5-3).

In general, our deformable object can he used to model other soft tissue that need

to be palpated, grasped, and cut by the virtual surgical tool manipulated by the user

(Figure 5-4). The stomach model, with grid size of :32x:32x:32, runs at 40 fps on a computer

equipped with an Intel Core 2 Duo 6600 2.4GHz, 1GB of memory, and a NVIDIA Geforce

8800 GTS :320MB graphics card.












































Figure 5-3. Fatty tissue on top of the left kidney is modeled by our deformable object


:I *






a) b) ) d)

Figure 5-4. Sequence of operations on the stomach; a) before cutting b) after a few
cuttings c) initially grabbed d) grabbed and moved









CHAPTER 6
CONCLUSION

A deformable object simulator is implemented to simulate a dynamic behavior of a

deformable object in real time. The deformable object simulator consists of three closely

coupled models: dynamic response, collision detection, and visualization. The deformable

object's dynamic response is modeled by a 3D regular grid of a mass-spring system. The

interactions of the deformable object with other objects in the simulation environment are

resolved by the collision detection model. The visualization of the deformable object is a

surface triangular mesh generated in real time by a modified marching cubes algorithm.

All three models are stored and computed in the GPU. All currently available GPU

shaders, namely, vertex, geometry, and fragment shaders, are used to make the simulation

and visualization of the deformable object run in real time. Trade-offs have to be made

and are listed in order of importance from most to least important:

Speed (computation cost and mathematical complexity),
Robustness (stability and consistency)
Flexibility (topology and material property changes),
Geometry accuracy (resolution),
Accuracy (realistic or plausible),
Memory usage.

The deformable object is suitable, but not limited, for use in interactive surgical

simulation. In TIPS [7], [8], the deformable object is used to simulate fatty tissues.

A number of improvements and extensions can be applied to the deformable object

simulator. One extension is to make the deformable object simulator capable of modeling

objects that are not fit well with the 3D regular grid, such as a thin torus. Instead of

fitting a 3D regular grid to such an object, we can use a set of 3D regular grids to cover

the object. For a thin torus four 3D regular grids can be used. This will reduce the

memory size, since the set of 3D regular grids will take less space (i.e., memory) than

one big 3D regular grid that fits the whole object. Each 3D regular grid will be fit with a

mass-spring model. The deformable object simulator has to provide the interface among










the mass-springf models that are .Il11 Il:ent to one another. The extra computation cost will

be compensated by the smaller number of mass points, in which translated into less pixels

are executed in the GPU shaders.









REFERENCES


[1] PHANTOM@)OmniTMHaptic Device,
http: //www. sensable.com/haptic-phantom-omni.htm, 2007.

[2] C. R. Johnson and C. D. Hansen, The V/isualization Handbook. Elsevier, 1st ed., 2004.

[3] K(. Engel, M. Hadwiger, J. M. K~niss, C. Rezk-Salama, and D. Weiskopf, Real- Time
Volume Graphics. AKE Peters, 1st ed., 2006.

[4] A. Pentland and J. Williams, "Good Vibrations: Model Dynamics for Graphics and
Animation," Proc. 16th Ann. Conf. Computer Graphics and Interactive Techniques
(SIGGRAPH '89), pp. 215-222, ACjIl Press, 1989.

[5] R. Barzel, J. F. Hughes, and D. N. Wood, "Plausible Motion Simulation for
Computer Graphics Animation," Comp~uter Animation and Simulation '96,
pp. 183-197, 1996.

[6] R. Barzel, "Faking Dynamics of Ropes and Springs," IEEE Comp~uter Graphics and
Applications, vol. 17, pp. 31-39, May-June 1997. ISSN 0272-1716.

[7] M. K~im, S. Punak, J. Cendan, S. K~urenov, and J. Peters, "Exploiting Graphics
Hardware for Haptic Authoring," M~edicine M~eets Virtual E~RloH;, pp. 255-260,
Studies in Health Technology and Informatics (SHTI), IOS Press, Amsterdam, 2006.

[8] M. K~im, T. Ni, J. Cendan, S. K~urenov, and J. Peters, "A Haptic-Enabled Toolkit
for Illustration of Procedures in Surgery (TIPS)," M~edicine M~eets Virtual E~RloH;,
pp. 209-214, Studies in Health Technology and Informatics (SHTI), IOS Press,
Amsterdam, 2007.

[9] N. J. Soper, L. L. Swanstram, and W. S. Eubanks, M~astery of Endoscopic and
Lap~aroscopic Surgery. Lippincott Williams & Wilkins, 2"d ed., 2005.

[10] U. G. Kilhnapfel, H. K(. Qakmak, and H. MaaB5, "Endoscopic Surgery Training Using
Virtual Reality and Deformable Tissue Simulation," Comp~uters and Graphics, vol. 24,
no. 5, pp. 671-682, 2000.

[11] G. Sziikely, C. Brechbiihler, J. Dual, R. Enzler, J. Hug, R. Hutter, N. Ironmonger,
M. K~auer, V. Meier, P. Niederer, A. Rhomberg, P. Schmid, G. Schweitzer, M. Thaler,
V. Vuskovic, G. Troster, U. Haller, and M. B li1: I "Virtual Reality-Based Simulation
of Endoscopic Surgery," Presence: Teleoperators and V/irtual Environments, vol. 9,
pp. 310-333, June 2000.

[12] AllRefer. com, http: //www.allrefer. com/, 2007.

[ 13] Y. C. Fung, Biomechanics: M~echanical Properties of Living Tissues. Springer, 2"d ed.,
Jan. 15 1993.










[14] A. Liu, F. Tendick, K(. Cleary, and C. K~aufmann, "A Survey of Surgical Simulation:
Applications, Technology, and Education," Presence: Teleoperators and V/irtual
Environments, vol. 12, no. 6, pp. 599-614, 2003.

[15] N. Ayache and H. Delingette, eds., Surgery Simulation and Soft Tissue M~odeling,
vol. 2673 of Lecture Notes in Computer Science, Springfer-Verlagf Inc., 2003. This book
contains the written contributions to the Int'1 Symp. on Surgery Simulation and Soft
Tissue Modeling (IS4T:\ 2003).

[16] D. Terzopoulos, J. Platt, A. Barr, and K(. Fleischer, "Elastically Deformable Models,"
Proc. 14th Ann. Conf. Computer Grap~hics and Interactive Techniques (SIGGRAPH
'87), pp. 205-214, AC' Il Press, 1987.

[17] D. Terzopoulos and K(. Fleischer, "Modeling Inelastic Deformation: Viscoelasticity,
Plasticity, Fracture," Proc. 15th Ann. Conf. "Compluter Grap~hics and Interactive
Techniques (SIGGRAPH '88), pp. 269-278, ACjIl Press, 1988.

[18] D. Terzopoulos and A. Witkin, "Physically Based Models with Rigid and Deformable
Components," IEEE Computer Grap~hics and Applications, vol. 20, issue 6, pp. 41-51,
IEEE, Nov. 1988.

[19] D. Metaxas and D. Terzopoulos, "Dynamic Deformation of Solid Primitives with
Constraints," Proc. 19th Ann. Conf. "Compluter Grap~hics and Interactive Techniques
(SIGGRAPH '92), pp. 309-312, ACjIl Press, 1992.

[20] S. F. F. Gibson and B. Mirtich, "A Survey of Deformable Modeling in Computer
Graphics," tech. rep., Mitsubishi Electric Research Laboratories, Nov. 1997.

[21] T. W. Sederberg and S. R. Parry, "Free-Form Deformation of Solid Geometric
Models," Proc. 18th Ann. Conf. Computer Grap~hics and Interactive Techniques
(SIGGRAPH '86), pp. 151-160, ACjIl Press, 1986.

[22] A. H. Barr, "Global and Local Deformations of Solid Primitives," Proc. 11th Ann.
Conf. Computer Grap~hics and Interactive Techniques (SIGGRAPH '84), pp. 21-30,
ACi l Press, 1984.

[23] S. Coquillart, "Extended Free-Form Deformation: a Sculpturing Tool for 3D
Geometric Modeling," Proc. 17th Ann. Conf. Computer Grap~hics and Interactive
Techniques (SIGGRAPH '90), pp. 187-196, ACjIl Press, 1990.

[24] A. Rappoport, A. Sheffer, and M. Bercovier, "Volume-Preserving Fr-ee-Form Solids,"
IEEE Trans. Visualization and Computer Grap~hics, vol. 2, no. 1, pp. 19-27, 1996.

[25] G. Hirota, R. Maheshwari, and M. C. Lin, I I- Volume-Preserving Free form
Deformation Using Multi-Level Optimization," Symp. Solid M~odeling and Applica-
tions, pp. 234-245, 1999.










[26] P. Faloutsos, M. van de Panne, and D. Terzopoulos, "Dynamic Free-Form
Deformations for Animation Synthesis," IEEE Trans. Visualization and Computer
Graphics, vol. 3, no. 3, pp. 201-214, 1997.

[27] S. Schein and G. Elber, "Discontinuous Free Form Deformations," Pr i.: .~: Conf.
Computer Graphics and Applications, pp. 227-236, 2004.

[28] G. Sela, S. Schein, and G. Elber, "Real-Time Incision Simulation Using Discontinuous
Free Form Deformation," ISM~S, pp. 114-123, 2004.

[29] X. Provot, "Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth
Behavior," Proc. Graphics Irn/. ilr..: Conf., pp. 147-154, May 1995.

[30] T. I. Vassilev, B. Spanlang, and Y. Ch13. 11! .11.u EU I.` Cloth Animation on Walking
Avatars," Computer Graphics Forum, vol. 20, no. 3, 2001.

[31] R. Bridson, R. Fedkiw, and J. Anderson, "Robust Treatment of Collisions, Contact
and Friction for Cloth Animation," Proc. 29th Ann. Conf. Computer Graphics and
Interactive Techniques (SIGGRAPH 'OS), pp. 594-603, AC iL Press, 2002.

[32] L. Chittaro and D. Corvaglia, "3D Virtual Clothing: from Garment Design to Web3D
Visualization and Simulation," Proc. Eighth Int'1 Conf. SD Web i,, 7 ,,:,.l..,it; (WebSD
'OS), pp. 73-84, AC' Il Press, 2003.

[33] J. Lenoir, P. Meseure, L. Grisoni, and C. C'I.. II.>u, "Surgical Thread Simulation,"
ESAIM: PROCEEDINGS, vol. 12, pp. 102-107, November 2002.

[34] J. Lenoir, L. Grisoni, P. Meseure, Y. Riimion, and C. OsI .Illou, "Smooth Constraints
for Spline Variational Modeling," GRAPHITE, pp. 58-64, 2004.

[35] F. Cordier, P. Volino, and N. Magnenat-Thalmann, lIst.~ gI .1ni Deformations
Between Bodies and Clothes," J. Visualization and Computer Animation, vol. 12,
no. 1, pp. 45-53, 2001.

[36] L. P. Nedel and D. Thalmann, "Real Time Muscle Deformations Using Mass-Spring
Systems," Proc. Computer Graphics Int'l, F.-E. Welter and N. M. Patrikalakis, eds.,
pp. 156-165, IEEE Computer Society, June 22-26 1998.

[37] Y. Z11 .1, E. C. Prakash, and E. Sung, "Real-Time Physically-Based Facial
Expression Animation Using Mass-Spring System," Proc. Computer Graphics Int'l,
pp. 347-350, IEEE Computer Society, 2001.

[38] Y. C. Fung and P. Tong, Classical and Computational Solid M~echanics. World
Scientific Publishing Company, 1st ed., Oct. 2001.

[39] J. Georgii and R. Westermann, \! I---Spring Systems on the GPU," Simulation
M~odelling Practice and The.-<;, vol. 13, no. 8, pp. 693-702, 2005.










[40] P. Volino and N. Magnenat-Thalmann, "Comparing Efficiency of Integration Methods
for Cloth Simulation," Proc. Computer Grap~hics Int'l, pp. 265-274, 2001.

[41] M. Hauth, O. Etzmuss, and W. Strasser, "Analysis of Numerical Methods for the
Simulation of Deformable Models," The V/isual Comp~uter, vol. 19(7-8), pp. 581-600,
Springfer, Dec. 2003.

[42] E. K~eeve, S. Girod, and B. Girod, "Craniofacial Surgery Simulation," Proc. Fourth
Int'1 Conf. on V/isualization in Biomedical Compet/,.:,:l (V/BC '96), pp. 541-546, 1996.

[43] D. Bourguignon and M.-P. Cani, "Controlling Anisotropy in Mass-Spring Systems,"
Proc. F:::.-ye~r g.1;.. Workshop Comp~uter Animation and Simulation (EGCAS '00),
N. Thalman-Magfnenat, D. Thalman, and B. Arnaldi, eds., pp. 113-124, Springfer,
Aug. 21-22 2000.

[44] R. Webster, R. Haluck, R. Ravenscroft, B. Mohler, E. Crouthamel, T. Frack,
S. Terlecki, and J. Sheaffer, "Elastically Deformable 3D Organs for Haptic Surgical
Simulation," M~edicine M~eets V/irtual Ri~odil;, pp. 570-572, 2002.

[45] K(. S. Choi, H. Sun, P. A. Heng, and J. C. Y. Cheng, "A Scalable Force Propagation
Approach for Web-Based Deformable Simulation of Soft Tissues," Proc. Seventh Int'1
Conf. SD Web i,, 7 ,,:,.l..,it; (WebSD 'OS), pp. 185-193, ACijl Press, Feb. 24-28 2002.

[46] K(.-S. Choi, H. Sun, P.-A. Heng, and J. Zou, "Deformable Simulation Using Force
Propagation Model with Finite Element Optimization," Comp~uters and Grap~hics,
vol. 28, no. 4, pp. 559-568, 2004.

[47] C. Bruyns and M. P. Ottensmeyer, "The Development of a Physically Based Virtual
Animal Model Using Soft-Tissue Parameter Te by~! Aug. 25 2002.

[48] J. Georgii, F. Echtler, and R. Westermann, 11.1, 1 II I !ve Simulation of Deformable
Bodies on GPUs," Proc. Simulation and V/isualisation 2005, pp. 247-258, 2005.

[49] J. Georgii and R. Westermann, "A Multigrid Framework for Real-Time Simulation
of Deformable Volumes," Proc. Second Workshop V/irtual Ri~ork/i~ Interaction and
Ph,;;-..~ al Simulation, pp. 50-57, 2005.

[50] J. Georgii and R. Westermann, 11.1, 1 II I !ve Simulation and Rendering of
Heterogeneous Deformable Bodies," Proc. Vision, M~odeling and V/isualization,
pp. 383-390, 2005.

[51] J. Mosegaard, P. Herborg, and T. S. Serensen, "A GPU Accelerated Spring
Mass System for Surgical Simulation," M~edicine M~eets V/irtual Ri~odil;, vol. 111,
pp. 342-348, January 2005.

[52] J. Mosegaard and T. S. Serensen, "GPUAccelerated Surgical Simulators for Complex
Morphology," Proc. IEEE Conf. Virtual E~R.i;;: (/ (R '05), pp. 147-154, 323, IEEE
Computer Society, March 2005.










[53] T. S. Serensen and J. Mosegaard, "An Introduction to GPU Accelerated Surgical
Simulation," Biomedical Simulation: Third Int'1 Symp?., (ISBM~S '06), M. Harders and
G. Szkely, eds., vol. 4072 of Lecture Notes in Comp~uter Science, pp. 93-104, Springer
Berlin / Heidelberg, 2006.

[54] T. M. Atanackovic and A. Guran, Tit ..,y of fl~r-1.:~../o for Scientists and Engineers.
Birkhauser, 1st ed., May 2000.

[55] A. Alexandrou, Princip~les of Fluid M~echanics. Prentice Hall, 1st ed., Jan. 15 2001.

[56] P. Tong and J. N. Rossettos, Finite-Element M~ethod: Basic Technique and Imp~lemen-
tation. The MIT Press, 1st ed., Jan. 15 1977.

[57] T. J. R. Hughes, The Finite Element M~ethod: Linear Static and D;,irne.i F'inite
Element A,...el;;-.: Prentice Hall, 1st ed., 1987.

[58] S. S. Rao, The Finite Element M~ethod in Engineering. Butterworth-Heinemann ,
3rd ed., 1999.

[59] M. Bro-Nielsen and S. Cotin, "Real-Time Volumetric Deformable Models for Surgery
Simulation Using Finite Elements and Condensation," Comp~uter Grap~hics Forum,
vol. 15, pp. 57-66, Aug. 1996. Proc. Eurographics '96. ISSN 1067-7055.

[60] M. Bro-nielsen, "Finite Element Modeling in Surgery Simulation," Apr. 03 1998.

[61] M. Miller, J. Dorsey, L. McMillan, R. Jagnow, and B. Cutler, "Stable Real-Time
Deformations," Proc. ACM~~ SIGGRAPH/F:::. Icll,.. Symp. Comp~uter Animation
(SCA 'OS), pp. 49-54, AC iL Press, 2002.

[62] M. Miller, M. Teschner, and M. Gross, "Physically-Based Simulation of Objects
Represented by Surface Meshes," Proc. Computer Grap~hics Int'l, pp. 26-33, IEEE
Computer Society, 2004.

[63] I. A. Essa, S. Scarloff, and A. Pentland, "A Unified Approach for Physical and
Geometric Modeling for Graphics and Animation," Technical Report 179, M.I.T.
Media Lab Vision and Modeling Group, Dec. 1991. 17 pages.

[64] D. L. James and D. K(. Pai, "DyRT: Dynamic Response Textures for Real Time
Deformation Simulation with Graphics Hardware," Proc. 29th Ann. Conf. Computer
Graphics and Interactive techniques (SIGGRAPH 'OS), pp. 582-585, AC iL Press,
2002.

[65] D. L. James and D. K(. Pai, "ArtDefo: Accurate Real Time Deformable Objects,"
Proc. 26th Ann. Conf. Computer Grap~hics and Interactive Techniques (SIGGRAPH
'99), pp. 65-72, AC iL Press/Addison-Wesley Publishing Co., 1999.

[66] I. F. Costa and R. Balaniuk, "LEM An Approach for Real Time Physically
Based Soft Tissue Simulation," Proc. IEEE Int'1 Conf. Robotics and Automation,
pp. 2337-2343, 2001.










[67] J. Teran, S. Blemker, V. N. T. Hing, and R. Fedkiw, "Finite Volume Methods for
the Simulation of Skeletal Muscle," Proc. AC'~f SIGGRAPH/F:::.-ye~rlg.1 :. Symp.
Comnputer Animnation (SCA 'OS), pp. 6i8 74, Eurographics Association, 2003.

[68] G. Debunne, M. Desbrun, M.-P. Cani, and A. H. Barr, "Dynamic Real-Time
Deformations Using Space & Time Adaptive Cl asspllve Proc. -\il, Ann. Conf.
Computer Graphics and Interactive Techniques (SIGGRAPH '01), pp. 31-36, AC iL
Press, 2001.

[69] Y.-J. Lim, J. Hu, C.-Y. C'!s vIa, and N. Tardella, "Soft Tissue Deformation and
Cutting Simulation for the Multimodal Surgery Training," Proc. 19th IEEE Symp?.
Comp~uter-Based M~edical S;;-/. at- (CBM~S '06), pp. 635-640, IEEE Computer Society,
2006.

[70] C. Basdogan, M. Sedef, M. Harders, and S. Wesarg, "VR-Based Simulators for
Training in Minimally Invasive Surgery," IEEE Comp~uter Graphics and Applications,
vol. 27, no. 2, pp. 54-66, 2007.

[71] M. LeDuc, S. Paii .ll 4 b and J. Dill, "Toward Modeling of a Suturing Task,"
Proc. Graphics lIn/. fr..: Conf., pp. 273-279, CIPS, Canadian Human-Computer
Communication Society, AKE Peters, June 2003. ISBN 1-56881-207-8, ISSN 0713-5424.

[72] H. Z1, Ilr_ S. Payandeh, and J. Dill, "Simulation of Progressive Cutting on Surface
Mesh Model," Oct. 07 2002.

[73] W. E. Lorensen and H. E. Cline, il .I-ching Cubes: A High Resolution 3D Surface
Construction Algorithm," Proc. 14th Ann. Conf. Comue rpis n neatv
Techniques (SIGGRAPH '87), pp. 163-169, ACjIl Press, 1987.

[74] S. F. F. Gibson, "Constrained Elastic Surface Nets: Generating Smooth Surfaces
from Binary Segmented Data," Proc. First Int'1 Conf. Medical Image Corly,. 1. y and
Comp~uter-Assisted Intervention (1~/TCCAI '98), pp. 888-898, Springer-\ ~11 q 1998.

[75] J. D. Foley, A. van Dam, S. K(. Feiner, and J. F. Hughes, Comp~uter Graphics:
Principles and Practice. Boston, MA, USA: Addison-Wesley Longman Publishing Co.,
Inc., 2"d ed., 1990.

[76] J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. K~riger, A. E. Lefohn, and
T. J. Purcell, "A Survey of General-Purpose Computation on Graphics Hardware,"
STAR Proc. F:::.-ye~rg.1;:. 2004, C. Schlick and W. Purgathofer, eds., pp. 21-51,
Eurographics Association, Sept. 2004.

[77] J. K~riger, "GPGPU and raytracing," AC'~f SIGGRAPH 2007 courses (SIGGRAPH
'07), p. 12, AC' Il Press, 2007.

[78] NV/IDIA CUDA Comp~ute Un. Jl Device Architecture: Pray uriterll,: y Guide, V/ersion
1.0, June 2007.










[79] R. Strzodka, M. Do--_ r 11 and A. K~olb, "Scientific Computation for Simulations on
Programmable Graphics Hardware," Simulation M~odelling Practice and The.-,;
Special Issue: P,. :l,rl,;;;;;;ald.- Graphics Hardware, vol. 13, pp. 667-680, Nov 2005.

[80] L. Verlet, "Computer "Exp.~ Hin,! Il- on Classical Fluids. I. Thermodynamical
Properties of Lennard-Jones Molecules," Ph,;;-:. arl Review, vol. 159, p. 98, Jul 1967.

[81] L. Hilde, P. Meseure, and C. C'I n~llou, "A Fast Implicit Integration Method for
Solving Dynamic Equations of Movement," Proc. ACM~~ Symp?.VitlRil
Software and T Ar t.J. -it~;, (V/RST '01), pp. 71-76, AC iL Press, 2001.

[82] D. Baraff and A. Witkin, "Large Steps in Cloth Simulation," Proc. 25th Ann. Conf.
Computer Graphics and Interactive Techniques (SIGGRAPH '98), pp. 43-54, AC iL
Press, 1998.

[83] C. Rezk-Salama, M. Scheuering, G. Soza, and G. Greiner, E I-I Volumetric
Deformation on General Purpose Hardware," Graphics Hardware, K(. Akeley and
U. Neumann, eds., pp. 17-24, Eurogfraphics Association, 2001.

[84] R. Westermann and C. Rezk-Salama, "Real-Time Volume Deformations," Comp~uter
Graphics Forum, vol. 20, no. 3, pp. 443-451, 2001.

[85] K(. Erleben, J. Sporring, K(. Henriksen, and H. Dohlmann, Ph; -;-Based Animation.
C'I l.) 1. River Media, 1st ed., 2005.

[86] J. Mosegaard and T. S. Serensen, "Real-Time Deformation of Detailed Geometry
Based on Mappings to a Less Detailed Physical Simulation on the GPU," Proc.
Est. ynith...: Workshop V/irtual Environments, vol. 11, pp. 105-111, Eurogfraphics
Association, 2005.

[87] H. E. ClaIn W. E. Lorensen, S. Ludke, C. R. Crawford, and B. Teeter, "Two
Algorithms for the Reconstruction of Surfaces from Tomograms," M~edical Ph ;,i .
vol. 15, pp. 320-327, 1988.

[88] A. K~adosh, D. Cohen-Or, and R. Yagel, "Tricubic Interpolation of Discrete Surfaces
for Binary Volumes," IEEE Trans. Visualization and Comp~uter Graphics, vol. 9(4),
pp. 580-586, 2003.

[89] M. C!. is, A. E. K~aufman, and R. Yagel, V/olume Graphics. Springer, 1st ed., 2000.

[90] R. T. Whitaker, "Reducing Aliasing Artifacts in Iso-Surfaces of Binary Volumes,"
Proc. IEEE Symp?. Volume visualization (VVIS '00), pp. 23-32, AC iL Press, 2000.

[91] M. Shimizu and Y. Nakamura, "Constructing Detailed Solid and Smooth Surfaces
from Voxel Data for Neurosurgical Simulation," Comp~utational Science and Its
Applications (ICCSA '05), O. Gervasi, M. L. Gavrilova, V. K~umar, A. Lagank,
H. P. Lee, Y. Mun, D. Taniar, and C. J. K(. Tan, eds., vol. 3482 of Lecture Notes in
Computer Science, pp. 1013-1022, Springfer, 2005.










[92] A. Vlachos, J. Peters, C. Boyd, and J. L. Mitchell, "Curved PN Triangles," Proc.
Symp?. Interactive SD Il'arl;,.: (ISD '01), pp. 159-166, ACijl Press, 2001.

[93] P. Bourke, "Polygonising a Scalar Field,"
http://local.wasp.uwa.edu.au/~pbourke/geomtyplgns/ 1994.

[94] F. Triquet, L. Grisoni, P. Meseure, and C. OnI I!!o~u, "Realtime Visualization of
Implicit Objects with Contact Control," Proc. First Int'1 Conf. Computer Grap~hics
and Interactive Techniques in Australasia and South East Asia (GRAPHITE 'OS),
pp. 189-196, AC' Il Press, 2003.









BIOGRAPHICAL SKETCH

Sukitti Punak, a Bangkok native, received his vocational graduate certificate in

electronics from K~ing Mongkut's Institute of Technology North Bangkok (Bangkok,

Thailand), B.E. in electrical engineering from K~ing Mongkut's University of Technology

Thonburi (Bangkok, Thailand), M.S. in computer science from Chulalongkorn University

(Bangkok, Thailand), and M.S. in electrical engineering from Georgia Institute of

Technology (Georgia, USA). He pursued his Ph.D. study to fulfill his career passion of

becoming a computer graphics researcher. His main research interest is in computer

graphics for animation, rendering, and visualization.





PAGE 1

1

PAGE 2

2

PAGE 3

3

PAGE 4

Iamdeeplygratefultomyadvisor,Dr.JorgPeters,forhisunendingpatience,guidance,andencouragement.Iwouldalsoliketothanktheothermembersofmycommittee;Dr.PaulFishwick,Dr.AnandRangarajan,Dr.AlperUngor,andDr.CarlCranefromdepartmentofmechanicalandaerospaceengineering(MAE).IthankDr.TimDavisforsubstitutingDr.Fishwickonmydefense.IwanttothankmycolleaguesinandouttheSurfLabwhoallbecamegreatfriends.Ithankdepartmentofcomputerandinformationscienceandengineering(CISE)foritsnancialsupport.IalsothankSergeiN.KurenovforgivingmetheopportunitytoworkwithpayonsimulationprojectsfortheDepartmentofSurgeryatUF.Withoutadoubt,PeterJ.Dobbins,aCISElecturer,helpedmetodevelopmycollegeteachingskillsduringmyTAdutiesforhisclassesovertheyears.Iamindebtedtohimforthat. 4

PAGE 5

page ACKNOWLEDGMENTS ................................. 4 LISTOFTABLES ..................................... 7 LISTOFFIGURES .................................... 8 LISTOFSYMBOLS .................................... 10 ABSTRACT ........................................ 12 CHAPTER 1INTRODUCTION .................................. 13 1.1HowAccurateshouldDeformableObjectsbe? ................ 13 1.2DeformableObjectsinSurgicalSimulation .................. 14 1.3DeformableObjectandSimulation ...................... 16 1.4Contributions .................................. 16 1.5Outline ...................................... 17 2BACKGROUND ................................... 18 2.1DeformableModelFrameworks ........................ 18 2.2Free-FormDeformation ............................. 19 2.3Mass-SpringSystem .............................. 19 2.3.1RelatedWorkontheMass-SpringSystem ............... 21 2.3.2Mass-SpringSystemsontheGPU ................... 23 2.4FiniteElements ................................. 24 2.5RelatedWorkontheFiniteElementMethod ................. 26 2.6Mass-SpringSystemvs.FiniteElementMethod ............... 27 3DEFORMABLEOBJECTMODELING ...................... 30 3.1DeformableObjectModelingFramework ................... 30 3.2Voxelization:TransformingaSurfacetoa3DRegularGrid ......... 31 3.3Settingupa3DMass-SpringSystem ..................... 35 3.4DynamicResponse ............................... 37 3.4.1OrdinaryDierentialEquationSolvers ................ 37 3.4.1.1ExplicitEulerintegration .................. 38 3.4.1.2Verletintegration ....................... 39 3.4.2DataStructureontheGPU ...................... 41 3.4.3ForceComputation ........................... 41 3.4.4ParameterAdjustmentandConstraints ................ 42 3.5CollisionDetection,TopologyChanges,andHapticSensation ....... 43 3.6Visualization .................................. 44 5

PAGE 6

............................. 48 3.6.2GradientEstimation .......................... 50 3.6.3ImprovingtheSurfaceSmoothness ................... 51 4IMPLEMENTATION ................................. 55 4.1DataStructureontheGPU .......................... 55 4.2DynamicResponse ............................... 59 4.2.1OrdinaryDierentialEquationSolver ................. 60 4.2.2ForceComputation ........................... 60 4.2.3RelaxationConstraintAdjustor .................... 62 4.3CollisionDetectionandResponse ....................... 63 4.4Visualization .................................. 65 4.4.1MarchingCubes ............................. 65 4.4.2CurvedPNTriangles .......................... 66 4.5TopologyChanges ............................... 67 5APPLICATIONSCENARIO ............................ 69 6CONCLUSION .................................... 72 REFERENCES ....................................... 74 BIOGRAPHICALSKETCH ................................ 82 6

PAGE 7

Table page 2-1Advantagesofthemass-springsystemoveroftheniteelementmethod ..... 29 2-2Disadvantagesofthemass-springsystemcomparedtotheniteelementmethod 29 2-3Mass-springsystemvs.niteelementmethod(basedonthe orderofimportance listedonpage 13 ) ................................... 29 7

PAGE 8

Figure page 1-1Pelviclaparoscopy .................................. 14 3-1Volumetricmodelenclosedinsidethe3Dregulargrid. .............. 31 3-2Anodecanbeconnectedtoitsadjacentneighborsinthis3Dregulargrid .... 32 3-3Creatingabinaryvolumedatasetbyvoxelizatingapolygonalsurfacemesh .. 33 3-4IndividualstepsoftheGPUvoxelizationalgorithm ................ 34 3-5Exampleofvoxelizingatriangleonameshmodelbyasoftwarealgorithm. .. 35 3-6Exampleofmemorylayout .............................. 36 3-7Simulatecutsandcauteriesofacubeobject .................... 45 3-8APHANTOMROmniTMhapticdevice ....................... 46 3-9Sphererenderedbya(100x100x100)3DTexturevisualizationcomparedwithasphererenderedbya(25002verticesand50000faces)meshvisualization .... 47 3-10Spheredeformationvisualizedbya(100x100x100)3DTexturevisualization .. 47 3-11Fifteentopologicallydistinctpatternsareusedtotesselateasurfaceintersectingacube ......................................... 49 3-12Gradientestimationforavoxelattheboundary ................. 51 3-13Comparisonofgradientestimations;bytheface,edge,vertex,andalldirections. ............................................. 53 3-14VisualizationresultsfromapplyingthecurvedPNtrianglesalgorithmafterthemarchingcubesalgorithm. ............................. 54 4-1Deformableobjectframeworkdiagram ....................... 56 4-2Modelingprocess ................................... 57 4-3Masspointconnectivityby3x3texels ........................ 58 4-4AnRGBAtexelforconnectivitiesofamasspointtoitsneighbors. ........ 58 4-5Simulation:ODEsolvershader ........................... 61 4-6Simulation:Relaxationconstraintshader ...................... 62 4-7Simulation:Collisiondetectionshader ....................... 64 8

PAGE 9

.......................... 66 4-9Visualization:MarchingcubesandPNtrianglesshader .............. 67 4-10Removingmasspointsaectthesurfacevisualization ............... 68 4-11Removingconnectionsaectthesurfacevisualization ............... 68 5-1Applicationforcreatingdeformableobject ..................... 69 5-2Modelingastomach ................................. 70 5-3Fattytissueontopoftheleftkidneyismodeledbyourdeformableobject ... 71 5-4Sequenceofoperationsonthestomach ....................... 71 9

PAGE 10

3DCartesiangrid Aregular,axisalignedsamplingofdatainthreedimensionswhereitstopologyisaunitcube(structured)latticewithclearlydenedneighborhoodvoxels. 3Dregulargrid Aregular,axisalignedsamplingofdatainthreedimensionswhereitstopologyisarectangular(structured)latticewithclearlydenedneighborhoodvoxels. FFD Free-formdeformation FEM Finiteelementmethod GPU Graphicsprocessing/processorunit Homespring Aspringthatconnectsaparticletoitsinitialorrestposition Laparoscopicsurgery Laparoscopyorminimallyinvasivesurgery(MIS)isasurgicaltechniquethatcutssmallopeningsorholesinapatient'sabdomentopasssurgicalinstrumentstooperateinsidethepatient. Masspoint Aparticle,thathasapointgeometryandanitemass,representsanodeinamass-springsystem. Mass-springsystem Aparticlesysteminwhicheachnodeinthesystemisconnectedtosomeothernodesbysprings. MIS Minimallyinvasivesurgery(seelaparoscopicsurgery) MSS Mass-springsystem ODE Ordinarydierentialequation Plausiblebehavior Abehaviorthatcouldhappen.Itdoesnothavetoberealistic,butitappearsworthyofbelief. Shader AsetofsoftwareinstructionsthatisexecutedonGPU,usuallyforrendering-relatedcomputations. Structuredgrid Astructuredgrid(suchasCartesian,regular,rectilinear,curvilinear,andblock-structuredgrid)consistsofhexahedralcells,inwhichconnectivityisimplicit([ 2 ]onpage75). 10

PAGE 11

Anunstructuredgridcanbecomposedof,forexample,tetrahedra,hexahedra,prisms,orpyramids,inwhichconnectivitymustbeencodedexplicitly([ 2 ]onpage75). Voxel Avolumeelementwithitscenterservesasagridpointofa3Dgrid([ 3 ]onpage18). Voxelization Theprocessofconvertingageometricrepresentation(polygonalsurface)ofasyntheticobjectintoasetofvoxelsarrangedinavolumedataset(3Dregulargrid). 11

PAGE 12

12

PAGE 13

4 ],[ 5 ],[ 6 ]areconsideredacceptable.Plausibilityiso-handauser-dependent,subjectivenotion.Inthecontextofthisdissertation,itismadeconcreteasconstraintsonrobustness,exibility,geometricresolutionandboundsonphysicalaccuracywithinaparticularapplicationscenario,namelysurgicalprocedureillustration.Besidesreducingcomputationalcomplexity,asecondmajorreasonforsettlingforaplausiblemodelisthatoftenanaccuratemodeldoesnotexist.Thisisduetothenonlinearnatureofthedeformableobjectlackofdataorvariabilityofhumanperception(seeSection 1.2 (a){(e)).Thirdly,inthesurgicalillustrationandteachingenvironment[ 7 ],[ 8 ],physicalandvisualpropertiesneedtobeuser-adjustable,on-the-y.Theymayevenbechosennon-realisticallytooverstateapoint.Inthefollowing,wethereforeproposeaframeworkforplausiblemodelingdeformableobjectsoptimizinginorderofimportance: 13

PAGE 14

9 ]onpage146).Usingvirtualdeformableobjectsandforce-feedbackdevicesforsurgeryillustrationisespeciallywell-matchedwithlaparoscopicsurgery,alsocalledminimallyinvasivesurgery(MIS)[ 10 ],[ 11 ],wherethesurgeonviewstheoperatingarenaonlyviavideoandinteractsviainstrumentswithouttouchingthesurgicalareabyhand(Figure 1-1 ).Atypicalsurgicalillustrationenvironmenthasthefollowingcomponents: Pelviclaparoscopy(reprintedfrom[ 12 ], freelyaccessiblefromtheInternet ) Tobeaneectivealternativetrainingsystem,thesimulatorhastobeabletointeractwiththeuserinrealtimeoratleastatanacceptableinteractiverate.Suchaninteractivesimulationsystemneedstomeettwomainrequirements.Itneedstobefastenoughtogenerateatleast10(ideally60)framespersecondforvisualizationandatleast300(ideally1000)updatespersecondforhapticsensation[ 11 ]. 14

PAGE 15

a. 13 ].Duetoviscoelasticeects,astissueisstretchedrepeatedlylessloadistypicallynecessarytoproducethesameelongation.Withsofttissuessuchasskin,unliketypicalengineeringmaterialssuchasmetals,verylargedeformationsarepossible.Hence,inthecaseofsofttissuemodelingforarealisticsurgicalsimulation,thesimulatorhastodealwithlargedeformationsofanisotropic,heterogeneous,andnonlinearviscoelasticmaterials. b. c. 14 ].Researchisnecessarytodeterminewhatvisualandhapticcuessurgeonsuse,andhowsensitivetheyare,forexample,indetectingchangesintissueduetodamage,hiddenstructures,ordisease[ 14 ]. d. 15 ].Therefore,themodelhastobesimpliedinordertoreducetheimplementationcomplexityandtooptimizecomputationaleciency.Forexample,tosimplifyviscoelasticity,Fung[ 13 ]proposedamodelcalledthepseudo-elasticmodelthatusespreconditioningofthetissuewhileusingonlytwoseparateelasticmaterials,oneduringloadingandanotherduringunloading. e. 15

PAGE 16

16

PAGE 17

2 reviewsbackgroundandliteratureofmodelingdeformableobjects.Chapter 3 introducesourframeworkfordeformableobjectmodeling,i.e.,thedynamicresponse,collisiondetectionandvisualizationrepresentations.Chapter 4 discussesthecreationofthedeformableobjectsimulatorforourdeformableobjectmodeling.Inthischapter,theimplementationofthedeformableobjectsimulatorusingGPUshadersisexplained.Chapter 5 describesapplicationinthehaptic-enabledtoolkitforillustrationofproceduresinsurgery(TIPS)[ 7 ],[ 8 ].Chapter 6 concludesthedissertation. 17

PAGE 18

2.6 ,wearguewhyweoptedforamass-springsystemtorepresentthephysicalcomponentofourmodel.TheadvantagesanddisadvantagesoftheMSSoveroftheFEMaresummarizedinTables 2-1 and 2-2 .Table 2-3 comparestheMSStotheFEMbasedonthe orderofimportance listedonpage 13 10 ]: 18

PAGE 19

16 ],[ 17 ],[ 18 ],[ 19 ]whodenedaphysicallybasedclassofdeformableobjects(curves,surfaces,andsolids). 20 ].Basically,FFDchangestheshapeofanobjectbydeformingthespaceinwhichtheobjectiscontained.Thetermfree-formdeformation,introducedbySederbergandPerry[ 21 ],isageneralizedBarr'sapproach[ 22 ]byembeddinganobjectinalatticeofgridpointsofsomestandardgeometricshape,suchasacubeorcylinder.ThebasicFFDtechniquehasbeenextendedbyseveralothers:includingextendedFFD(EFFD)[ 23 ]formodeling;volume-preservingFFD[ 24 ],[ 25 ]withvolumepreservationproperty;dynamicFFD(DFFD)[ 26 ]withphysicalpropertiesforanimationpurposes;anddiscontinuousFFD(DFFD)[ 27 ],[ 28 ]forincisionsimulation.Thesetechniquesaresimpleandfastsincenophysicalconsiderationsaredirectlyinvolved.However,itisunclearhowtoincorporatephysicalpropertiestocontroltheobject'sdeformationreactingtoforces.Hence,thesetechniquesarehardlyemployedinsurgicalsimulation. 19

PAGE 20

29 ],[ 30 ],[ 31 ],[ 32 ],ropes[ 33 ],[ 34 ],skin[ 35 ],muscles[ 36 ],andfaces[ 37 ].Anobjectismodeledasacollectionofmasspointsconnectedbyspringsinalatticestructure.ThespringforcesoftenobeyHooke'slaw,statingthat\Thepowerofanyspringybodyisinthesameproportionwiththeextension."[ 38 ].However,nonlinearspringscanbeusedtomodeltissuessuchashumanskinthatexhibitinelasticbehavior.Inadynamicsystem,Newton'ssecondlawofmotionofasinglemasspointorparticleis[ 20 ],[ 10 ],[ 39 ]: _v=M1(CvKx+f)_x=v 20

PAGE 21

40 ],[ 41 ],suchasimplicitorexplicitEulerintegrationmethod,isusedtocomputexandvasfunctionsoftime.Inaquasi-staticsystem,thedynamicpartofthedynamicequationisneglected(x=_x=0)andtheequationbecomes: 42 ]usedalayeredmass-springsystemtomodelapatient'sfaceforcraniofacialsurgeryplanning.Thefacialtissuewasassumedtobehomogeneous;Wealsousethesameassumptionforourdeformableobject.Thenon-linearstress-strainwasmodeledbyusingabiphasicspringconstant.Anadditionalforcewasaddedtopreservethevolumeofthetissue.Thesimulationranoinetoshowandpredictthepreoperativeandpostoperativeappearanceofthepatientafteracraniofacialsurgicalprocedure.NedelandThalmann[ 36 ]usedthemass-springsystemtoanimateskeletalmuscledeformations.Theyalignedspringswithactionlinesofthemuscleandusedanothersetofspringstoproducethemuscleshape.Aspecialspringwasalsoaddedtoaccountforthebendingandtwistingofthemusclesurface.However,themethodmadenoattempttocutthemodeledmuscle.Itsimulatedonlymuscledeformationwhichraninreal-time.Theconceptofmultiplespringsisalsousedinourdeformableobject.Kuhnapfeletal.[ 10 ]usedavolumetricmass-springsystemtomodeldeformableobjects,suchasbloodvesselsanddeformabletissue,intheirminimallyinvasivesurgerysimulatorcalledKISMET.TheirKISMETalsoincludeddeformableobjectsmodeledbytheniteelementmethod.Thepaperdidnotdescribedhowcuttingwasimplementedonthedeformableobjectsandwhetherthecutcouldbeperformedonlyonthemass-springbasedmodelortheniteelementbasedmodelorboth.Ourdeformableobjectisalso 21

PAGE 22

43 ]derivedananisotropicmodelbasedonthemass-springsystem.Anobjectcreatedfromthismodelwaseithertiledwithtetrahedralorhexahedralmeshes.Theaxesofanisotropicdirectionsweredenedandsetbytheuser.Allinternalforceswerecalculatedfromtheseaxesinsteadofalongthemeshedges.Ourdeformableobjectisalsoananisotropicmodel,sincethespring'srestlengthand/orstinessforeachx,y,andzdirectioncanbesetindependentlyfromoneanother.Websteretal.[ 44 ]usedanimplicitpredictionsolvertosolvetherstorderdierentialequationsofamass-springmodelrepresentingonlythesurfaceofanobject.Aprecomputationofthesolutionofthelinearsystemwasrequiredinordertospeedupthecomputation.Thesimulatedmodelhadsimplecomputationandrespondedwellwheninteractingwithahapticdevice.However,achangeinthetopologyoftheobject,suchasbyacut,wouldrequiresolvingaverydierentlinearsystem.Therefore,themethodwasnotsuitableformodelingadeformableobjectbeingcut.Choietal.deneforcepropagationmodel(FPM)[ 45 ],whichlimiteddeformationofsofttissuestoalocalregionofthemodeldenedbythedepthofforcepropagationinordertospeedupthecomputationtime.TheFPMbecameatypicalmass-springmodeliftheforcepropagationreachedallofthenodesintheobject.LatertheytriedtoformulatetheFPMbycomparingandadjustingthespringstinessanddampingconstantofeachspringtoemulatethedeformationofaprecomputedniteelementmodel[ 46 ].However,thedeformationofthemodelwiththistechniquecouldonlyemulatethedeformationoftheprecomputedniteelementmodel.Itwasunclearhowthemodelwouldbedeformedwithdierentforcesthantheonesencounteredinthesetupphase.TheideaofusingmaterialpropertiestosetspringpropertieswasalsousedbyBruynsetal[ 47 ].Theymeasuredandusedphysicallyderivedstinessconstantsofrattissuefromaniteelementanalysistosetthestinessparametersofspringswiththe2DYoung's 22

PAGE 23

39 ]followedbyananalysisforspring-basedcomputationvs.mass-point-basedcomputationontheGPUforclothsimulation[ 48 ].Theirresultsshowedthatspring-basedcomputationwasslightlyfaster,e.g.,1282took0.72and0.74msforspring-basedandmass-point-basedcomputation,respectively.Latertheyimprovedtheirsystemtoincludeamultigridimplicitsolver[ 49 ],andheterogeneousmaterial[ 50 ].Their3Ddatasetwasa3Dunstructuredgridconsistingoftetrahedra.Thesimulateddeformableobjectraninrealtimeorataninteractiveratedependontheresolutionofthegrid.Themethoddidnotsuitablefortopologychanges,sinceatopologychangerequiresthedataontheunstructuredgridtobechanged.ThechangeofthedatastructurewouldrequirethedatastoredontheGPU'stexturememorytoberearranged.ThisoperationwouldtakeasmuchtimeasthepreprocessingtimeforloadingtheoriginalunstructuredgridtotheGPU'smemory.Hence,themethoddidnotuseforsimulatingasofttissuethatwouldbecutbyasurgicaltool.MosegaardandSrensen[ 51 ],[ 52 ],[ 53 ]usedGPUcomputationforsimulatingthedeformationsofahumanheartduringanopensurgery.Theirmass-springsystemwasa3DCartesiangridofahumanheart.Thedataforthemass-springsystemwereobtainedfromsubsamplingtheCTdatasetoftheheart.Forvisualization,theyusedthemarchingcubesalgorithmtoreconstructasurfacetriangularmeshfromtheoriginalCTdataset. 23

PAGE 24

54 ],i.e.,adeformablebodywithmassandenergiesdistributedeverywhereinthebodythatcansupportshearforces.Fortissuemodeling,thefocusisinmodelingthedisplacement.Theobjectiveistoconsidertheequilibriumofthedeformableobjectactedonbyexternalforces.Theobject'sdeformationisafunctionoftheseactingforcesandtheobject'smaterialproperties.Usingtheprincipleofminimumpotentialenergy,theobjectreachesequilibriumwhenits 24

PAGE 25

20 ]: =UW(2{5)whereUisthetotalstrainenergyoftheobject,andWisthepotentialenergyof(orworkdoneby)theexternalloads[ 55 ](causedbyconcentrated,surface,andbodyforces)actingontheobject.Todeterminetheequilibriumshapeoftheobject,bothUandWareexpressedintermsoftheobject'sdeformation,whichisrepresentedbyafunctionofthematerialdisplacementovertheobject.Thetotalpotentialenergyreachesaminimumwhenthederivativeofwithrespecttothematerialdisplacementfunctioniszero.Thisresultsinacontinuousdierentialequilibriumequationthatmustbesolvedfortheobject'sdisplacement.Sinceitisnotalwayspossibletondaclosed-formanalyticsolutionofthisdierentialequation,anumberofnumericalmethods,suchastheniteelementmethod(FEM),areusedtoapproximatetheobject'sdeformation.BasicstepsinusingtheFEMtocomputetheobject'sdeformation[ 20 ]areasfollows: 1. Deriveanequilibriumequationfromthepotentialenergyequationintermsofmaterialdisplacementofthecontinuum. 2. Choosesuitableniteelementsandassociatinginterpolationfunctionsforthespecicproblem.Dividetheobjectintoelements. 3. Foreachelement,denethecomponentsoftheequilibriumequationintermsoftheinterpolationfunctionsandtheelement'snodedisplacements. 4. Combinethesetofequilibriumequationsforalloftheelementsintheobjectintoasinglesystem.Solvethesystemforthenodedisplacementsoverthewholeobject. 5. Usethenodedisplacementsandtheinterpolationfunctionsofaparticularelementtocomputedisplacementsorotherrequiredquantities(suchasinternalstressorstrain)forpointsinsidetheelement.MoredetailedtreatmentoftheFEMcanbefoundintextbookssuchas[ 56 ],[ 57 ],or[ 58 ]. 25

PAGE 26

59 ],[ 60 ].Thismethodimprovedthespeedofthesimulationbutrequiredpreprocessing.Itwas,therefore,notsuitablefortissueswhoseshapeortopologycouldbechangedduetocuttingandsuturing.TheKISMETsoftwareforaminimallyinvasivesurgery(MIS)byKuhnapfeletal.[ 10 ]usedtheirso-calledFFEM(FastFEM).TheFFEMcalculatedthelineardeformationofonlythesurfacenodesinthevolumetric3Dmesh,eitherbymeshsortingorbymodelcondensation.Thereasonswerethatonlythesenodescouldinteractwithsurgicalinstrumentsandonlythesenodeswerevisible.Thus,themethodreducedmemoryusageandcomputationalcomplexitybyusingmeshcondensationandsueredthesamedrawbacksasofBro-Nielsenetal.Mulleretal.[ 61 ]presentedatechniquecalledstinesswarpingtosolvetheincorrectdeformationproblemofthelinearFEMcausedbylargedeformations.Withaprecomputationofthelinearstinessmatrix,thetimecomplexityofthemethodwassimilartothelinearFEM,whichdidnotruninrealtime.AparallelcomputingsystemwasusedtoanimatetheniteelementmodelsinrealtimebySzekelyetal[ 11 ].Theystatedthattheonlywaytohaveacomplexniteelementsystemrunninginrealtimewastouseaparallelcomputerwhichsupportedfullyparallelalgorithmsfortheexplicittimeintegrationscheme.Asoftwaresimulationofa3Dlatticeofprocessorswasimplementedforthesimulation.Therewerenofollow-upimplementationofaphysicalphototypeoftheproposedparallelcomputersystem.TheFEMbasedoncubicalelementsofuniformsizewasusedbyMulleretal.[ 62 ]togenerateavolumetricmeshofanobjectfromitssurfacemesh.Thistechniqueallowedasurfacemeshtopossessaphysicallybasedelasticproperty,andcouldbedeformedorfracturedbasedonitsassociationwithitsassociatedvolumetricmesh.The 26

PAGE 27

15 ]describedtheirworkonsofttissuemodelingforsurgerysimulationsatINRIA 4 ],[ 63 ],[ 64 ],boundaryelementmodels(BEM)[ 65 ],longelementsmodels(LEM)[ 66 ],nitevolumemethod(FVM)[ 67 ],andresolutionadaptivemodels[ 68 ],arenotreviewedhere,sincetheywerevariationsoftheniteelementmethodandsueredthesamedrawbackthattheywerenotsuitabletomodelobjectsthatunderwenttopologychangeataninteractiverateduetorequiredpreprocessingoftheirsystem. 69 ].Themass-springsystem(MSS)reducesavolumetric3Dobjecttoanetworkofmassnodesconnectedwith1DHookeansprings.SuchsimplicationmakestheMSSecienttocompute,easytoimplement,andeasytomodifythemodel'stopologyevenonaparallelcomputingenvironment.Onthedownside,thesimplicationalsomakestheMSSlessaccurateanddiculttocongurethemodel'sbehavior,sinceallthematerialsthatmakeuptheobjectaresimplylumpedtogetherasdiscretemasspointsconnectedtooneanotherbysprings.TheMSScanexhibitoscillation

PAGE 28

46 ].TheFEMisunsuitableforuseinreal-timesurgerysimulation,duetothehighcomputationtimerequiredbyanumericalintegrationtosolvethecomplexsystem.Hence,theFEMisamethodthatiswellsuitedforproductdesignandtesting,whereahighcomputationtimeisjustiedbytheaccuracyofsimulatedmodels.Withtheavailabilityoffastcomputers,therehasbeenatrendinreal-timeanimationtousemoresophisticatedandaccuratemodelsbasedontheFEM,ratherthanusingsimplemodelsbasedonthemass-springsystem.Theobject'sdeformationbehaviorcanbespeciedusingonlyafewparameters.However,someofcomputationalcomplexityincreasesquadraticallywiththeincreasingnumberofelements[ 70 ].Inreal-timeapplication,eithertheresolution(numberofelements)hastobekeptsmallorpreprocessinghastobeapplied,whichresultsinthereductionofexibility.Forexample,eachtopologychangerequiresrecalculationandassemblyoftheelementmassandstinessmatrices,whichiscomputationallyintensive[ 70 ].TheMSS,ontheotherhand,islessaccurate,butveryecientincomputationtime.Achangeoftopologysimplyrequiresthecorrespondingchangeofthespringconnectivity.TheadvantagesanddisadvantagesoftheMSSoveroftheFEMaresummarizedinTables 2-1 and 2-2 .Table 2-3 comparestheMSStotheFEMbasedonthe orderofimportance listedonpage 13 .Insummary,theMSSismoresuitablethantheFEMformodelingdeformableobjectsinreal-timeapplication,eventhoughitrequiresmorecarein 28

PAGE 29

Table2-1. Advantagesofthemass-springsystemoveroftheniteelementmethod ComparisonMass-SpringSystemFiniteElementMethod ComplexityLowXHighComplexityincrementLinearXQuadraticImplementationSimpleXComplexParallelismEachmasspointXEachelementMaptoGPU-basedcomputingHighXLowCostoftopologychangeLowXHigh Disadvantagesofthemass-springsystemcomparedtotheniteelementmethod ComparisonMass-SpringSystemFiniteElementMethod StabilityUnstableunderconditionsStableXAccuracyLowHighXPropertyadjustmentComplicatedSimpleX Mass-springsystemvs.niteelementmethod(basedonthe orderofimportance listedonpage 13 ) ComparisonMass-SpringSystemFiniteElementMethod SpeedXRobustnessXFlexibilityXGeometryresolutionXPhysicalaccuracyXMemoryusage 29

PAGE 30

1. Obtainathree-dimensional(3D)regulargridthatrepresentsthemodeledobject. 2. Setuptheconnectivitiesandproperties,suchasspringproperties,oftheobject. 3. Foreachspecictimestep,simulatetheobject'sdeformationduetoitsowninternalforcesandexternalforcesexertingonit. 4. Foreachspecictimestep,simulatetheobject'sdeformationduetothecollisionoftheobjectwithsurgicaltools. 5. Foreachspecictimeframe,rendertheobjectforuserinteraction.Duetotheintrinsicallyimplicitconnectivityofthe3Dregulargrid,whichisatypeof3Dstructuredgrids,representingthemodeledobject(Fig 3-1 ).Elementsandconnectionsamongtheelementsofthemodelcanbeadded,changed,replaced,orremovedtocreateatopologychange.Thistopologychangemimicsadeformationresultingfromanoperation,suchascutting,suturing,orcauterizing.Tobeabletotradespeedforaccuracy,thedeformableobjectisseparatedintothreerepresentations:dynamicresponse,collisiondetection,andvisualization.Thiswaydynamicresponse(step3),collisiondetection(step4),andvisualization(step5)canbeimplementedandhandledseparately. 30

PAGE 31

Volumetricmodelenclosedinsidethe3Dregulargrid. Thedynamicresponsechosenforthisframeworkisavolumetricmass-springmodelarrangedina3Dregulargrid.Eachmasspointinthemodelhasspringconnectivityofupto26neighboringlattice(Figure 3-2 )plus1forthehomespring,whichisaspringconnectingthemasspointtoitsinitialorrestposition[ 71 ],[ 72 ].Toaccommodateachangeoftopologyinrealtime,thevisualizationrepresentationisalevelsetsurfaceapproximatedbyatriangularmesh,generatedinrealtimefromthe3Dregulargridbythemarchingcubesalgorithm[ 73 ].Thefollowingsectionsexplaintheframeworkstepsmentionedabove: transformingasurfaceto3Dregulargriddatabyvoxelization settingupa3Dmass-springsystem dynamicresponse collisiondetection ,and visualization 2 ],[ 3 ].Also,dataalreadycontainedina3Dregulargridcanbeuseddirectly.Itcanbeeither 31

PAGE 32

Anodecanbeconnectedtoitsadjacentneighborsinthe3Dregulargridbyupto26connections+1forthehomespring.WhereF=Front,B=Back,N=North,S=South,E=East,W=West,andCforcenter,i.e.,thehomespring. subsampled(orsupersampled)toreduce(orincrease)datasizetothedesiredmodeldatasize.Here,wefocusonobtaininga3Dregulargridfromvoxelizingtheinputsurfacemeshformodelingadeformableobject.Surfacemeshesareubiquitousandcanbegeneratedquicklybyanalgorithmor3Dmodelingsoftware,suchas Blender .Thevoxelizationcanbedonequicklyandecientlyonanypolygonalsurfacemeshrepresentinganarbitraryobject.Thisadvantageallowsustobeabletomodelanysolidobjectthatcanberepresentedbyapolygonalmesh(Fig 3-3 ).Noticethataliasingartifactscanbeobservedfromthevoxelizedvolumedata.Thehigherthevoxelizedresolution,thenerthealiasingartifacts.Thisisduetothefactthatthevoxelizedvolumedataarebinary,i.e.,eachvoxelisclassiedtobeeither`inside'or`outside'themodeledobject.Thealiasingartifactsoccurwhenwetrytoextracttheobject'ssurfacefromthebinaryvoxelizedvolumedata.Theoriginalsurfacealwaysintersectsaspecicspacebetweenapairof`inside'and`outside'voxels,i.e.,anedgeofacube.Thisinformationisnotavailablewiththebinaryvolumedata,i.e.,theinformation 32

PAGE 33

74 ].Toalleviatethisproblem,theexactintersectionsofthesurfacemeshwiththeedgesofthecubesduringthevoxelizationcanbestoredandlaterusedforrenderingtheobject.Inourimplementation,thesedataarestoredasinterpolationvaluesinaGPUtexture.Unfortunately,wecannotusethenormalsfromthesurfacemeshforvisualization,sincethenormalsalwaysvarywiththedeformationofthesurface. Creatingabinaryvolumedatasetbyvoxelizatingapolygonalsurfacemesh(reprintedfrom[ 3 ], freelyaccessiblefromtheInternet ) ApolygonalmeshcanbevoxelizedbyGPUorCPUcomputation.ForobtainingthemodeldatabyGPUcomputation,theGPUisusedtocreatethesliceplanesforthemodeldata.Asliceplaneisarectangularsurfacethatcontainsscalarorcolorinformationbasedonthevaluesofthevolumedatawherethesliceispositioned.Theingredientsaretherenderingofthefrontandbackfacesofthemeshandaclippingplanetoclipthemeshintotheclippedandunclippedpart.Theclippingplaneissetupwiththesamepositionandorientationasthecurrentsliceplane.Withoutlossofgeneralitytheunclippedpartissettothespacebehindtheclippingplane.Therefore,therstslicecanbeaclipped 33

PAGE 34

3-4a .Withback-facecullingenabled(Figure 3-4b ),theGPUrendersthefrontfacesofthemeshwithforegroundcolortoaframebuerofdesiredrectangularsize(Figure 3-4c ).Thenwithfront-facecullingenabled,theGPUrendersthebackfacesofthemeshwithbackgroundcolortotheframebuer(Figure 3-4d ).Theframebuernowcontainsthecrosssectionofthemesh(Figure 3-4e ).Thedataintheframebueristhencopiedtothecurrentslice.Thenextsliceofthemodeldatacanbecreatedbyshiftingtheclippingplanetothenextpositionandre-renderingthefrontandbackfacesofthemeshwithaforementionedstepsabove.Theprocessisrepeateduntilthewholevolumedataiscreated,i.e.,untilthetotalnumberofslicesisreached. IndividualstepsoftheGPUvoxelizationalgorithm(reprintedfrom[ 3 ], freelyaccessiblefromtheInternet ) ForthemodeldataobtainedbyCPUcomputation,rstthescalarvaluesofallvoxelsaresettoavaluethatrepresentsan`unset'state,theneachtriangleofthemeshistraversed.Aboundingboxisthencreatedtocoverthetriangle.Insideandontheboundaryofthecreatedboundingboxarethepolygonandsampledvoxels(Figure 3-5 ).Eachsampledvoxelisclassiedaslyinginfrontoforbehindtheplaneofthefrontfaceofthetriangle.Ifthevoxelisbehindorontheplane,itisassumedtobeinsidethemodelanditsscalarvalueissetto`inside'themodel.Otherwise,itsscalarvalueissetto`outside'themodel.Ifthesampledvoxelisalreadyclassied,thenadecisionhastobemadetofavoreitherthe`inside'or`outside'element.Inourimplementation,ifthevoxelisfoundtolieinfrontoftheplaneandthevoxel'svalueisalreadysetto`inside',thenthe 34

PAGE 35

75 ]onpage979)classiestherestofthemodeldatatoeither`inside'or`outside'themeshbasedonthevoxelvaluessetupfromtheprevioustraversalprocess. Exampleofvoxelizingatriangleonameshmodelbyasoftwarealgorithm. 76 ],[ 77 ].TheGPUisdesignedforcompute-intensiveandhighlyparallelcomputationsspecicallyforgraphicsrendering.ComparedtoCPU,mostoftransistorsintheGPUaredevotedtodataprocessingratherthandatacachingandowcontrol[ 78 ].Sincethemovementofeachmasspointinthemass-springsystemcausedbytheinternalandexternalforcesactingonthesystemcanbecomputedindependentlyofoneanother,thecomputationcanbemappedtoadata-parallelcomputation.Therefore,theGPUcanbeusedfordynamicresponse,collisiondetection,andvisualizationofourdeformableobjectata 35

PAGE 36

79 ](Figure 3-6 ).ThememoryaccessaddressforaCPUissequentialor`1D',whilethe Exampleofmemorylayoutfora)theGPUandb)CPUshowingthattheGPUhasafastermemoryaccessthanoftheCPU.Wherethedarkerthegray,thefastertheaccess[ 79 ]. memoryaccessaddressforaGPUisparallelor`2D'.Asvolumetricsimulationdataareorganizedasa3Darrayoracollectionof2Darrays,memoryaccesstimesareoptimalifthe2Dmemoryaccessdistancetothecurrentmemorylocationissmall[ 79 ].Therefore,this2DmemoryaccessprovidedbytheGPUtswellwithoursimulationdata.Volumetricdataofourdeformableobjectarearrangedina3Dregulargrid,whereeachdataelementiscalledavoxelandeightvoxelsformalogicalcube.Eachvoxelismappedtoamasspointwithspringsthatconnectitspositiontoitsneighboringmasspointsinthe3Dregulargrid.Hence,thetotalnumberofmasspointsisequaltothetotalnumberofvoxels.Onlythe`inside'and`outside'voxelsinthe3Dregulargridwillbeprocessedbyourdeformableobjectsimulator.Thevolumetricdatainthe3DregulargridmapsnaturallytoaGPU3Dtexture.Thisallowsimplicitaccesstospatialneighbornodes(Figure 3-2 onpage 32 ).However,another3Ddatastructureissetupforlookingupconnectionsexplicitly.Theideabehindthisconnectivitydatastructureistoprovideexibilityindatasetup.Dierent 36

PAGE 37

37

PAGE 38

80 ].ThederivationsoftheexplicitEulerintegrationandtheVerletintegrationaredescribedinthesubsectionsbelow.Otherexplicitintegrationmethodsarenotconsideredhere,sinceaslightaccuracygaindoesnotoutweighthespeedlossduetohighertimecomplexitythathindersthesimulationspeed.Whileanyimplicitintegrationmethodprovidesamuchhigherstabilityofthesystem,itrequiresalinearsystemtobesolvedateachtimestep,i.e.,eachmasspointcannotbesolvedindependently[ 41 ],[ 81 ],[ 82 ].Itmeanswheneverthereisatopologicalchangeofthemodel,theODEsystemhastobereconstructed.Therefore,thesamereasonisappliedfornotchoosinganimplicitintegrationmethod.Hence,onlytheexplicitEulerintegrationandtheVerletintegrationmethodsaresuitableforourdeformableobjectmodelingframework. 38

PAGE 39

41 ]. 80 ].Fromtherst-orderEulerintegrationequation, 2h2x(t)+1 6h3...x(t)+O(h4)x(th)=x(t)h_x(t)+1 2h2x(t)1 6h3...x(t)+O(h4) (3{10) 39

PAGE 40

2h+O(h2):(3{13)SincetheVerletintegrationdoesnotneedtokeeptrackofvelocity,thenexttimestepsolutioncanbecomputedinonestepbyEquation 3{12 .Theabsenceofthevelocitytermmakestheimplementationofconstraintsbetweenparticlessimpler,suchashandlingacollisionresponse.Wheneveraparticlepenetratesanobject,theparticleissimplymovedoutoftheobjectviatheshortestpath.Thesubsequentnewimplicitvelocitywillbethesubtractionofthenewpositionfromthepreviouspositionthattouchestheobject'ssurface.Hence,theimplicitvelocitywillbeslidalongthesurface.Alsowheneveraparticle'spositionisadjusted,itsvelocitywillbetakencareofimplicitlybytheVerletintegration.TheimplicitlyapproximatedvelocityintheVerletintegrationresultsinmoredampingintheparticlesystem.ThisextradampingmakestheVerletintegrationmethodhavebetterstabilitythantheexplicitEulerintegrationmethod.AnotheradvantageoftheVerletintegrationmethodovertheexplicitEulerintegrationmethodisthesizeofstorage.TheVerletintegrationneedstheprevious,currentandnextpositions,whiletheexplicitEulerintegrationneedsthecurrentandnextpositionsandthecurrentandnextvelocities.TheseadvantagesareenoughforchoosingtheVerletintegrationovertheexplicitEulerintegrationforourdeformableobjectsimulator. 40

PAGE 41

41

PAGE 42

3.5 CollisionDetection,TopologyChanges,andHapticSensation). 42

PAGE 43

29 ].Overall,thisconstraintmakesthemodelappearlesselasticandspeedsuptheconvergenceofthedynamicresponseofthesystemtowardanequilibriumstage.IttswellwiththeVerletintegrationduetotheabsenceoftheexplicitvelocitytermintheVerletintegration.Hence,stabledefaultparametersaresetforinitializingthedeformableobject,andtheusercanempiricallyadjusttheparametersofthemass-springmodeltochangeitsdynamicbehavior. 3.5 ).Thisissimilartocautery|theprocessofdestroying(abnormal)tissuebyburningorsearingusinganagentorinstrument. 43

PAGE 44

3.5 ).Eachconnectionistreatedasalinesegment.Thecollisiondetectionndswhetherthelinesegmentintersectswiththeboundingprimitive(orthesetofboundingprimitives)thatrepresentsthesharppartofthetool.Iftheintersectionoccurs,theconnectionisremovedfromthemass-springsystem.[HapticSensation]Toprovidehapticsensationtotheuser,thephysicaldevicerepresentingthevirtualsurgicaltoolthatismanipulatedbytheusermustbeabletoprovideforcefeedback.WeusesaPHANTOMROmniTMhapticdevice[ 1 ](Figure 3-8 ),whichprovidessixdegree-of-freedomfortoolmanipulationandthreedegree-of-freedom(alongx,y,andzdirection)forforcefeedback.Thecollisiondetectionwillrecordpenetrationdistanceofeachmasspointinthemass-springsystemwiththevirtualsurgicaltoolinaGPU3Dtexture.ThedataarereadfromthetexturebytheCPU.TheCPUcalculatestheaveragesumofthedataandusesittosettheforcefeedbackonthehapticdevicetoprovidetheuserwithsenseoftouch.Afterthedynamicresponseandcollisiondetectionhaverunforanumberofxedtimestepstoadvancethedeformableobject'sdynamicbehaviorthroughtime,thevisualizationcandisplaythedeformableobjecttothescreen. 44

PAGE 45

Simulatecutsandcauteriesofacubeobject.a)Adeformablecubeiscauterybyb)removingmasspointsandcutbyc)removingconnections. 45

PAGE 46

APHANTOMROmniTMhapticdevice(reprintedfrom[ 1 ], freelyaccessiblefromtheInternet ) Threeoptionsforvisualizationwereconsidered:3Dtexture,raycasting,andmeshapproximation.Raycastingisthemostpopularimage-ordermethodfordirectvolumerendering[ 3 ].Itgeneratesanimagecontainingboththeoutsideandinsideofavolumetricobjectbytracingarayoflightfromalightsourcetotheobject'ssurfaceand,ifapplicable,throughtheinsideoftheobjectthatisreectedtotheviewer'seyes,forexample,likeacameralens.Alotofraycastingtechniqueshavebeendevelopedforreal-timevolumerendering[ 2 ],[ 3 ].However,withinteractionsofdeformableobjectsandsurgicalinstrumentsinasurgicalsimulation,theraycasting(ordirectvolumerendering)methodisstilltoocomputationallyexpensiveandhindersthesimulationfromrunninginrealtime.Visualizingavolumetricmodelwithboththeinsideandoutsidepartcanbeaccomplishedbyrenderinga3Dtexturethatismappedontothevolumetricmodel[ 2 ],[ 3 ].Eachdataofthevolumetricobjectismappedtoatexelinthe3Dtextureviatexturecoordinates.Usingtrilinearinterpolation,thevisualizationrenderseachpixelonthescreenfromacombinationofthetexelsandthedatainthe3Dregulargrid[ 83 84 ].Themajordrawbackofthe3Dtexturevisualizationisthatthesmoothnessoftherenderingdependsonthesizeofthe3Dregulargrid(Figure 3-9 ).Adeformationofthemodelcanbesimulatedbyadjustingthetexturecoordinateassociatedwiththedeformed 46

PAGE 47

3-10 ).Also,theobject'sdeformationspaceislimitedbythedimensionofthe3Dtextureintheworldspace. Figure3-9. Sphererenderedbya(100x100x100)3DTexturevisualizationcomparedwithasphererenderedbya(25002verticesand50000faces)meshvisualization Figure3-10. Spheredeformationvisualizedbya(100x100x100)3DTexturevisualization Thethirdoptionwastoassociateasurfacemeshwiththevolumetricobject.Eachvertexofthemeshwasmappedtoaboundarydataofthevolumetricobject.Thesurfacedeformationwasthenatransformationoftheboundarydatatothevertex[ 85 ],[ 52 ].Meshrenderinggaveagoodsmoothapproximationofthevolumetricmodel,butitwashollowinside.Acutonthemodelwouldresultinacutonthemesh[ 86 ].Thiscutwouldexposethemodelasahollowobject.Onepossibilitywastosuperimposebothonthescreen;themeshastheskinofthemodeland3Dtextureasthematerialinsidethemodel.Ourstudydidnottestonthiscombination.Instead,weresortedtoanothermeshapproximationoption.Sincethevisualizationmustbeabletomodifyitstopologywhichisassociatedwiththesimulatedobject'stopologythatundergoeschangesdueto,forexample,cutting,a 47

PAGE 48

73 ],[ 87 ](anditsvariations)isthemostwidelyusedmethodfortheextractionofisosurfacesfrom3Dvolumetricdata[ 2 ].Thealgorithmgeneratespolygonalrepresentationsof3Dvolumetricdatadirectlyfroma3Dvolumetricdatasetbytessellatingalogicalcubeconstructedfromeightvoxelsinthedataset.Thesurfaceboundaryofthemodelcontainedinsidethedatasetcanintersectacubeaccordingtoaclassicationofeachcubevertexintoinsideoroutsidethesurface.Theclassicationoftheeightverticesofthecuberesultsin256possiblecongurations,butonly15topologicallydistinctpatternsexistsfromthe256congurations(Figure 3-11 ).Toshadethesurfaceofthe3Dmeshprojectedontotheviewplanefordisplay,anintensityiscalculatedfromthecomponentoftheunitnormalvectorparalleltotheviewdirection[ 87 ].Thegradientvectoroftheintensity3Ddataestimatesthesurfacenormaldirection,sincethegradientisperpendiculartosurfacesofconstantdensity. 2agy=f(x0;y0+b;z0)f(f(x0;y0b;z0)] 2bgz=f(x0;y0;z0+c)f(f(x0;y0;z0c)] 2c Equation 3{15 isagradientestimationbycentraldierencesofthethreecomponentsoftheintensityfunction.Invisualization,thegradientsareusedtoprovidecontrastthatdependsonthesurfaceorientationtotherenderedimage.However,the3Dregulargriddatasetobtainedfromvoxelizationofaninputmeshmodeldoesnothavegray-scaleintensity.Insteaditisabinarydataset.Thisisamajordisadvantageofanydiscreterepresentations,suchasourvoxel-baseddata,sinceits 48

PAGE 49

Fifteentopologicallydistinctpatternsareusedtotesselateasurfaceintersectingacube.Thegreenverticesareinsidethesurface,whiletheredverticesareoutside.Eachpatternseparatestheverticesinsidethesurfacefromoutsidethesurfacebyatriangularmeshintersectingtheedges[ 73 ],[ 87 ]. resolutionisnite.Thisartifactisobviouswhensuchasurfacemodelisviewedfromupclose.Ahigher-orderinterpolationcouldbeusedtoimprovetheobject'ssurfacesmoothness,sothatthesurfacelookedsmoothevenwithclose-upviews.Oneofsuchhigher-orderinterpolationmethodswasatricubicinterpolationbasedalgorithm[ 88 ].Thismethodusedatricubicreconstructiontocreateasmoothsurfacefromabinarydiscrete3Ddataset,whereasampledvoxelwasonlyclassiedaseitherlying`inside'or`outside'theobject.ThetricubicinterpolationfunctionwasbasedonaunivariatecubicHermiteinterpolation,whereeachvertexvofacubeinthediscrete3Ddatasetwasassigned8values:adistancevalueand7derivativevalues.Thecomputationcostofthealgorithmwasthatof12evaluationsofunivariatecubicpolynomialsandof21innerproductsofvectorsoflength 49

PAGE 50

89 ]onpage76).Duetothecomputationcomplexity,thisalgorithmcouldnotexecutefastenoughforaninteractiveapplicationwithdeformableobjects.Insteadoflocallysmooththesurface,othermethodscreatedagloballysmoothsurfacefromthebinaryvolumedata.Thesemethods,suchasonesbasedonthetechniqueofconstrainedelasticsurfacenets[ 74 ],[ 90 ],wereeitheriterativemethodsorrequiredpreprocessing[ 91 ]onthebinaryvolumedata,whichhavetobestatic.Theydidnotrunfastenoughforareal-timeapplicationfeaturingunscripteddeformableobjectswithoutspecialhardware,suchasaspecialhigh-endgraphicscardoraparallelcomputersystem.Inourstudy,thecentraldierencemethodisusedtoestimatethegradientsofthebinaryvoxeldata.Nextweexplainshowourgradientestimationiscomputed. 50

PAGE 51

3-12 ).Asimilargradientapproximationmethodwasalsousedby[ 52 ]. Figure3-12. Gradientestimationforavoxelattheboundary Thegradientestimatorsuggestedintheoriginalmarchingcubesalgorithm[ 87 ],usesonly3directions(foragrey-scaleintensity3Ddataset),i.e.,theaxisaligneddirectionsorfacedirectionsinvolving6neighborvoxels.However,everyvoxel,notontheboundary,isadjacentto26othervoxelsinthe3Dregulargriddataset.Thegradientestimator,therefore,canbeclassiedintothefacedirections(6voxels),thevertexdirections(8voxels),andtheedgedirections(12voxels).Ourstudyfoundthatthecombinationofallgradientestimatorsgavethebestresult(Figure 3-13 ). 92 ]isasubdivision-basedalgorithmforimprovingthevisualqualityofatriangularmesh.Thealgorithmtookeachtriangleofthemeshandreplacedthetrianglewithacurvedpatchandahigher-ordernormalvariation.Theatgeometry(vertexpositions)ofthetrianglewassubstitutedbythegeometryofathree-sidedcubicBezierpatch.Thevertexnormalsofthetrianglewerereplacedbythe 51

PAGE 52

3-14 );.Theresultshowedthatthealgorithmimprovedthevisualizationofsmall3Ddatasets.However,itdegradedthevisualizationofbigger3Ddatasets.Thiswascausedbythetriangularmeshgeneratedfromthemarchingcubesthatcontainedirregulartriangles.Therefore,inourdeformableobjectmodelingthecurvedPNtrianglesalgorithmisonlysuitableforsmall3Dregulargriddatasets.Basedonourstudyanddesigndiscussedabove,wecanstartcreatingourdeformableobjectsimulator.Chapter 4 explainshowtoimplementourdeformableobjectsimulator. 52

PAGE 53

Comparisonofgradientestimations;bytheface,edge,vertex,andalldirections. 53

PAGE 54

VisualizationresultsfromapplyingthecurvedPNtrianglesalgorithmafterthemarchingcubesalgorithm. 54

PAGE 55

4-1 ).TheimplementationofourdeformableobjectsimulatorisinC++withOpenGL2.1andOpenGLshadinglanguage(GLSL)1.2.Thesimulatorconsistsofthreemainrepresentations:dynamicresponse,collisiondetection,andvisualizationexplainedinchapter 3 .Thedynamicresponseinteractswithinsideandoutsidesimulativefactors,suchasconnectingspringsinthesystemandagravitationalforce,involvingbothinternalandexternalforces.Thecollisiondetectionconstrainsthemasspointsinthesystemfrompenetratingotherobjects,suchasasurgerytool,inthesimulationenvironment.Whilethevisualizationinteractswiththeviewingenvironment,suchasrenderingspecularhighlightsonthedeformableobjectilluminatedbyalightsource(Figure 4-2 ).Eachrepresentation,exceptthecollisiondetection,consistsoftwomodules.Therearetwocollisiondetectionrepresentations:onefordeformationbycollisionandanotheronefortopologychangebycollision.FirstourdatastructureontheGPUisdiscussedfollowedbytheimplementationofeachrepresentation. 55

PAGE 56

Deformableobjectframeworkdiagram 56

PAGE 57

Modelingprocess.Userinteractionandvisualizationareshownbya)andb). Sinceeachmasspointcanhaveupto26adjacentneighborsplus1forthehomespring(Figure 4-3a ),themasspointconnectivitytoitsneighborcanbekeptinatextureofsize3x3texels(Figure 4-3b ).Therefore,thewidthandheightoftheconnectivitytextureisthreetimesbiggerthanapositiontexture.Eachlocation,sayFNW(Front-North-West),canbeusedforstoringspringstiness(anddamping).Whereazerovaluerepresentnoconnection,andpositivevaluesrepresentspringstiness.Therefore,thisconnectivitytextureprovideshighexibilityforsetting(3x3x3=27,lastthreeisfromRGBpertexel)springparameterspereachmasspoint.Thisallowsfordierentspringstinessestobeusedfordierentregionsinthemodel.Whilethe3x3connectivitydatastructureprovideshighexibilityforsettingspringparameters,itishardlyneededinsimulatingadeformableobject.Therefore,amorepracticalchoiceistouseonlyone(RGBA)texelforencodingtheconnectivity.Eachcomponent(R,G,B,andA)ofthetexelisasingle8-bitunsignedintegerintherangeof0to255(Figure 4-4 ).Eachbitrepresentsaagbitforaconnection;`0'or`1'forno 57

PAGE 58

Amasspointconnectivityby3x3texels;a)thecentermasspoint(x;y)ofthepositiontextureisassociatedwithb)the3x3connectivitytexturethatprovidesnineRGBtexelsforlookinguptheconnectivityofthecentermasspointtoits26neighborsplus1forthehomespring.WhereC:=Center,F:=Front,B:=Back,N:=North,S:=South,E:=East,andW:=West. Figure4-4. AnRGBAtexelforconnectivitiesofamasspointtoitsneighbors. 58

PAGE 59

4-1 ).SinceaGPUtexturecannotbeboundasreadandwriteatthesametime,anothertextureforchangingconnectivityisneededforsimulatingacutonthemodel.Thesimulatorcheckseachconnectionfromtheread-onlyconnectivitytextureandremovestheconnectionfromthewrite-onlyconnectivitytextureiftheconnectioniscut.Thetexturesarethenswapped,sothatthenewconnectivitycantakeeect.Thesameread/writesituationisalsoneededtoreadthecurrentandpreviouspositionsofeachmass-pointstoredinaread-onlytextureandtowriteoutitsnewpositiontoawrite-onlytexture.Thepreviousandcurrentpositionsareneededbecausethesimulator'sODEsolverisbasedontheVerletintegration.Thesethreetexturesare,therefore,arrangedasacircularbuer,cyclingfromthepreviouspositiontexturetothecurrentpositiontexture,fromthecurrentpositiontexturetothenextpositiontexture,andfromthenextpositiontexturebacktothepreviouspositiontexture.Afterthe3DdataareloadedtotheGPU'smemory,theCPUcancontrolthesimulation,performingtaskssuchastoenableordisablethecollisiondetection,andchangetheparametersofthemass-springsystem,suchasspringstinessandthetimestep.Inthenextsectionwewillshowhoweachrepresentationworks. 59

PAGE 60

80 ]isusedinourdeformableobjectsimulatorforsolvingtheODEsforthedynamicbehaviorofthe3Dmass-springsystem.TheVerletintegrationequation(Equation 3{12 onpage 40 )foreachmass-pointinthemass-springsystemis 60

PAGE 61

Simulation:ODEsolvershader AGPUfragmentshaderissetuptocalculatethenextpositionofeachmass-pointparallellyontheGPU(Figure 4-5 ).Itcomputesboththeinternalandexternalforcebeingexertedoneachmass-point.Theshaderlooksuptheprevious(-A-)andcurrent(-B-)positionsofamasspointfromthe3Dtexturesbasedonatexturecoordinateidentifyingthepoint'slogicallocationinthe3Dlatticegrid.Thesimulationparameters,suchasspringstinessconstantandtimestep,areread(-C-)fromSimulationInfotexture.Italsoiterativelylooksuptheconnectivity(-D-)ofthemasspointtothemasspoint'sadjacentneighborsprovidedbytheconnectivitytexture.Ifaconnectionexists,theshaderfetchesthe(current)positionoftheconnectedneighborandcomputestheinternalforceofthespringconnectingthemass-point'scurrentpositiontotheneighbor.Theseinternalforcesareaddedbasedonthenumberofconnectedneighborstothemasspoint.Anexternalforce,e.g.,agravitationalforce,canbeaddedintothiscomputationpass.Foracollisionwithotherobjects,constraint-baseddisplacementisusedinsteadofestimating 61

PAGE 62

4.3 CollisionDetectionandResponse).ThenextpositionofmasspointiiscomputedbyEquation 4{2 andwrittento(-1-)NextPositiontexture. 4-6 )issimilartotheODEshaderabove(Figure 4-5 ).However,itdoesnotneedtoknowthepreviouspositionofthemass-point,onlythecurrentpositionisneeded.Therelaxationconstraintistolimitallspringlengthstobewithinamin/maxlengththreshold[ 29 ].Ifaspringisextendedtoofar,anosetvectorisappliedtobothmass-pointsconnectedtoeachotherbythespringtomovethemcloserinordertoreducethelengthofthespringtowithinthemaximumlengththreshold.Ifaspringistoocompressed,anosetvectorisappliedtobothmass-pointsconnectedtoeachotherbythespringtomovethemfartherapartinordertoincreasethelengthofthespringtowithintheminimumlengththreshold. Figure4-6. Simulation:Relaxationconstraintshader 62

PAGE 63

4-7 ).Withoutlossofgenerality,weassumethesurgicaltoolisrepresentedbyaboundingsphere.Theshaderreadsthecurrent(-B-)positionfromCurrentPositionTexture.Italsoreadsthesimulationparameters(-C-)fromSimulationInfotexture.TheshadercomputestheintersectiondistancedbetweentheboundingsphereSiofthemasspointwiththe 63

PAGE 64

Simulation:Collisiondetectionshader boundingsphereStofthesurgicaltool. 64

PAGE 65

3.5 onpage 43 .Anothershaderisneededforcollisiondetectionthatcreatetopologychangestothedeformableobject.Thisshaderismorecomplicatedthanthepreviouscollisiondetectionshader(Figure 4-8 ).Theshaderneedstoknowtheconnectivity(-D-)ofthemasspoint,sothatitcanchangetheconnectivity(-4-)ofthemasspoint.Theshaderisusedforremovingthemasspointsand/ortheconnectionsthatintersectwiththeboundingsphereofthesurgicaltool.Thetopologychangeonthemass-springsystemwillaecthowtheobjectisrenderedbythevisualizationrepresentation.ThetopologychangeduetocollisionresponsealongwithhowtovisualizeitaredescribedinSection 4.5 TopologyChanges,aftertheimplementationofthevisualizationhasbeendescribed. 4-9 ). 73 ]isawidelyusedalgorithmforextractingasurfacetriangularmeshfroma3Dgridofscalardatasampledfromascalareld.Toimplementthealgorithm,atriangleandedgetables,forlookingupthelistoftrianglesthatneedstoberenderedaccordingtothecubecongurationvalue(Figure 3-11 onpage 49 ),havetobeset.Thesetablesareobtainedfrom PaulBourke'sPolygonisingAScalarField [ 93 ].Thetriangleandedgetablesarekeptin(-F-)VisualizationInfotexture.Foreachcubeinthe3Dregulargrid,theshaderreadseightvoxelsofthecubefrom(-B-)CurrentPositiontexture.AGPUgeometryshaderisusedtodeterminesthecubecongurationvalueandusesthevaluetoreadthelistoftrianglefrom(-F-)thetables.Foreachtriangleinthelist,theshadercomputesthevertexpositions,vertexestimatednormals 65

PAGE 66

Simulation:Collisiondetectionshaderwiththecapabilityofmakingconnectivitychangestothedeformableobject (Equation 3{16 onpage 51 ),and3Dtexturecoordinatesfor3Dtexturemapping.Theshaderthenrendersthetriangletothescreen.Forvisualizingalogicalcubethathasbeencutbyavirtualtool,themarchingcubesalgorithmismodiedtovisualizethecutcube.ThemodiedvisualizationisdescribedinSection 4.5 TopologyChanges. 3.6.3 onpage 51 ,forsmall3DregulargriddatasetsPNtriangles[ 92 ]canbeusedtoreplaceeachtrianglegeneratedfromthemarchingcubesalgorithmwithathree-sidedcubicBezierpatchwithquadraticnormals.Thealgorithmisaddedintothegeometryshaderasavisualizationoption(see[ 92 ]forthealgorithmdetail). 66

PAGE 67

Visualization:MarchingcubesandPNtrianglesshader 4.3 ,thetopologyoftheobjectcanbechangedbytheintersectionsofthevirtualtoolwiththemasspointsand/orconnectionsinthemass-springsystemthatrepresentstheobject.Foreachremovedmasspoint,eachofitsconnectionswillbetraversedinordertoremovetheconnectionfromitsneighbor,sincetheconnectionissymmetric(Figure 4-10 ).Theremovedmasspointhasnoeectonthevisualizationbythemarchingcubesalgorithm.Foreachremovedconnection,theconnectionisremovedfromtheconnectivityofthetwomasspointsthatareconnectedbytheconnection.Sincetheremovedconnectionrepresentsacutonthesurfacemesh,thevisualizationdatahastobemodiedtodisplaythecut.Thecutisvisualizedbymodifyingthemarchingcubesalgorithmtorecognizetheseparationofthetwomasspoints(Figure 4-11 ).Inthedynamicresponserepresentation, 67

PAGE 68

Removingmasspointsaectthesurfacevisualization thetwomasspointsconnectedbyaremovedconnectionwillbetaggedwitha`left'and`right'values(-6-).Assumethegeometryofthecutisarectangle.Aconnectionisremovedifitisintersectedbytherectangle.Themasspointconnectedbytheconnectionthatliesontheleft(right)sideoftherectanglewillbetaggedwith`left'(`right')value.Themarchingcubesismodiedtocreatethetrianglesfromthecubetwice.Therst(second)onetreatsall`left'(`right')masspointsasvoxelsinsidetheobjectandall`right'(`left')pointsasvoxelsoutsidetheobject.Thesecondonetreatsall`right'masspointsasvoxelsinsidetheobjectandall`left'pointsasvoxelsoutsidetheobject.AsimilarapproachwasalsousedbyTriquetetal.[ 94 ].Theimplementationoftheshaderforthemarchingcubesalgorithmisexplainedbelow. Removingconnectionsaectthesurfacevisualization 68

PAGE 69

5-1 )iscreatedfordevelopingandtestingourdeformableobjectsimulator.Theresultingdeformableobjectcanbesavedanddeployedinanotherapplicationthatrequiressuchadeformableobject(Figure 5-2 ). Figure5-1. Applicationforcreatingdeformableobject CurrentlyourdeformableobjectisusedinTIPS.Thehaptic-enabledtoolkitforillustrationofproceduresinsurgery(TIPS)[ 7 ],[ 8 ]isamedicalillustrationandsimulationforauthoringamedicalscenebyanexperiencedsurgeontoberepeatedlylearnedbymedicalstudentsandresidents.Theapplicationiscreatedanddevelopedbythe SurfLab researchgroupattheUniversityofFlorida(UF)incollaborationwithotherUFstafromthedepartmentofsurgery.ThecurrentcasestudyunderdevelopmentinTIPSistheremovaloftheadrenalgland.Thisoperationrequiresasafedissectionofthefattytissuetoexposetheadrenal 69

PAGE 70

Modelingastomach vein[ 8 ].Ourdeformableobjectsimulatorisintegratedintothesoftwareforsimulatingthefattytissue(Figure 5-3 ).Ingeneral,ourdeformableobjectcanbeusedtomodelothersofttissuethatneedtobepalpated,grasped,andcutbythevirtualsurgicaltoolmanipulatedbytheuser(Figure 5-4 ).Thestomachmodel,withgridsizeof32x32x32,runsat40fpsonacomputerequippedwithanIntelCore2Duo66002.4GHz,1GBofmemory,andaNVIDIAGeforce8800GTS320MBgraphicscard. 70

PAGE 71

Fattytissueontopoftheleftkidneyismodeledbyourdeformableobject Sequenceofoperationsonthestomach;a)beforecuttingb)afterafewcuttingsc)initiallygrabbedd)grabbedandmoved 71

PAGE 72

7 ],[ 8 ],thedeformableobjectisusedtosimulatefattytissues.Anumberofimprovementsandextensionscanbeappliedtothedeformableobjectsimulator.Oneextensionistomakethedeformableobjectsimulatorcapableofmodelingobjectsthatarenottwellwiththe3Dregulargrid,suchasathintorus.Insteadofttinga3Dregulargridtosuchanobject,wecanuseasetof3Dregulargridstocovertheobject.Forathintorusfour3Dregulargridscanbeused.Thiswillreducethememorysize,sincethesetof3Dregulargridswilltakelessspace(i.e.,memory)thanonebig3Dregulargridthattsthewholeobject.Each3Dregulargridwillbetwithamass-springmodel.Thedeformableobjectsimulatorhastoprovidetheinterfaceamong 72

PAGE 73

73

PAGE 74

[1] PHANTOMROmniTMHapticDevice ,http://www.sensable.com/haptic-phantom-omni.htm,2007. [2] C.R.JohnsonandC.D.Hansen,TheVisualizationHandbook.Elsevier,1sted.,2004. [3] K.Engel,M.Hadwiger,J.M.Kniss,C.Rezk-Salama,andD.Weiskopf,Real-TimeVolumeGraphics.AKPeters,1sted.,2006. [4] A.PentlandandJ.Williams,\GoodVibrations:ModelDynamicsforGraphicsandAnimation,"Proc.16thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'89),pp.215{222,ACMPress,1989. [5] R.Barzel,J.F.Hughes,andD.N.Wood,\PlausibleMotionSimulationforComputerGraphicsAnimation,"ComputerAnimationandSimulation'96,pp.183{197,1996. [6] R.Barzel,\FakingDynamicsofRopesandSprings,"IEEEComputerGraphicsandApplications,vol.17,pp.31{39,May{June1997.ISSN0272-1716. [7] M.Kim,S.Punak,J.Cendan,S.Kurenov,andJ.Peters,\ExploitingGraphicsHardwareforHapticAuthoring,"MedicineMeetsVirtualReality,pp.255{260,StudiesinHealthTechnologyandInformatics(SHTI),IOSPress,Amsterdam,2006. [8] M.Kim,T.Ni,J.Cendan,S.Kurenov,andJ.Peters,\AHaptic-EnabledToolkitforIllustrationofProceduresinSurgery(TIPS),"MedicineMeetsVirtualReality,pp.209{214,StudiesinHealthTechnologyandInformatics(SHTI),IOSPress,Amsterdam,2007. [9] N.J.Soper,L.L.Swanstrom,andW.S.Eubanks,MasteryofEndoscopicandLaparoscopicSurgery.LippincottWilliams&Wilkins,2nded.,2005. [10] U.G.Kuhnapfel,H.K.Cakmak,andH.Maa,\EndoscopicSurgeryTrainingUsingVirtualRealityandDeformableTissueSimulation,"ComputersandGraphics,vol.24,no.5,pp.671{682,2000. [11] G.Szekely,C.Brechbuhler,J.Dual,R.Enzler,J.Hug,R.Hutter,N.Ironmonger,M.Kauer,V.Meier,P.Niederer,A.Rhomberg,P.Schmid,G.Schweitzer,M.Thaler,V.Vuskovic,G.Troster,U.Haller,andM.Bajka,\VirtualReality-BasedSimulationofEndoscopicSurgery,"Presence:TeleoperatorsandVirtualEnvironments,vol.9,pp.310{333,June2000. [12] AllRefer.com ,http://www.allrefer.com/,2007. [13] Y.C.Fung,Biomechanics:MechanicalPropertiesofLivingTissues.Springer,2nded.,Jan.151993. 74

PAGE 75

A.Liu,F.Tendick,K.Cleary,andC.Kaufmann,\ASurveyofSurgicalSimulation:Applications,Technology,andEducation,"Presence:TeleoperatorsandVirtualEnvironments,vol.12,no.6,pp.599{614,2003. [15] N.AyacheandH.Delingette,eds.,SurgerySimulationandSoftTissueModeling,vol.2673ofLectureNotesinComputerScience,Springer-VerlagInc.,2003.ThisbookcontainsthewrittencontributionstotheInt'lSymp.onSurgerySimulationandSoftTissueModeling(IS4TM2003). [16] D.Terzopoulos,J.Platt,A.Barr,andK.Fleischer,\ElasticallyDeformableModels,"Proc.14thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'87),pp.205{214,ACMPress,1987. [17] D.TerzopoulosandK.Fleischer,\ModelingInelasticDeformation:Viscoelasticity,Plasticity,Fracture,"Proc.15thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'88),pp.269{278,ACMPress,1988. [18] D.TerzopoulosandA.Witkin,\PhysicallyBasedModelswithRigidandDeformableComponents,"IEEEComputerGraphicsandApplications,vol.20,issue6,pp.41{51,IEEE,Nov.1988. [19] D.MetaxasandD.Terzopoulos,\DynamicDeformationofSolidPrimitiveswithConstraints,"Proc.19thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'92),pp.309{312,ACMPress,1992. [20] S.F.F.GibsonandB.Mirtich,\ASurveyofDeformableModelinginComputerGraphics,"tech.rep.,MitsubishiElectricResearchLaboratories,Nov.1997. [21] T.W.SederbergandS.R.Parry,\Free-FormDeformationofSolidGeometricModels,"Proc.13thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'86),pp.151{160,ACMPress,1986. [22] A.H.Barr,\GlobalandLocalDeformationsofSolidPrimitives,"Proc.11thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'84),pp.21{30,ACMPress,1984. [23] S.Coquillart,\ExtendedFree-FormDeformation:aSculpturingToolfor3DGeometricModeling,"Proc.17thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'90),pp.187{196,ACMPress,1990. [24] A.Rappoport,A.Sheer,andM.Bercovier,\Volume-PreservingFree-FormSolids,"IEEETrans.VisualizationandComputerGraphics,vol.2,no.1,pp.19{27,1996. [25] G.Hirota,R.Maheshwari,andM.C.Lin,\FastVolume-PreservingFreeformDeformationUsingMulti-LevelOptimization,"Symp.SolidModelingandApplica-tions,pp.234{245,1999. 75

PAGE 76

P.Faloutsos,M.vandePanne,andD.Terzopoulos,\DynamicFree-FormDeformationsforAnimationSynthesis,"IEEETrans.VisualizationandComputerGraphics,vol.3,no.3,pp.201{214,1997. [27] S.ScheinandG.Elber,\DiscontinuousFreeFormDeformations,"PacicConf.ComputerGraphicsandApplications,pp.227{236,2004. [28] G.Sela,S.Schein,andG.Elber,\Real-TimeIncisionSimulationUsingDiscontinuousFreeFormDeformation,"ISMS,pp.114{123,2004. [29] X.Provot,\DeformationConstraintsinaMass-SpringModeltoDescribeRigidClothBehavior,"Proc.GraphicsInterfaceConf.,pp.147{154,May1995. [30] T.I.Vassilev,B.Spanlang,andY.Chrysanthou,\FastClothAnimationonWalkingAvatars,"ComputerGraphicsForum,vol.20,no.3,2001. [31] R.Bridson,R.Fedkiw,andJ.Anderson,\RobustTreatmentofCollisions,ContactandFrictionforClothAnimation,"Proc.29thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'02),pp.594{603,ACMPress,2002. [32] L.ChittaroandD.Corvaglia,\3DVirtualClothing:fromGarmentDesigntoWeb3DVisualizationandSimulation,"Proc.EighthInt'lConf.3DWebtechnology(Web3D'03),pp.73{84,ACMPress,2003. [33] J.Lenoir,P.Meseure,L.Grisoni,andC.Chaillou,\SurgicalThreadSimulation,"ESAIM:PROCEEDINGS,vol.12,pp.102{107,November2002. [34] J.Lenoir,L.Grisoni,P.Meseure,Y.Remion,andC.Chaillou,\SmoothConstraintsforSplineVariationalModeling,"GRAPHITE,pp.58{64,2004. [35] F.Cordier,P.Volino,andN.Magnenat-Thalmann,\IntegratingDeformationsBetweenBodiesandClothes,"J.VisualizationandComputerAnimation,vol.12,no.1,pp.45{53,2001. [36] L.P.NedelandD.Thalmann,\RealTimeMuscleDeformationsUsingMass-SpringSystems,"Proc.ComputerGraphicsInt'l,F.-E.WolterandN.M.Patrikalakis,eds.,pp.156{165,IEEEComputerSociety,June22{261998. [37] Y.Zhang,E.C.Prakash,andE.Sung,\Real-TimePhysically-BasedFacialExpressionAnimationUsingMass-SpringSystem,"Proc.ComputerGraphicsInt'l,pp.347{350,IEEEComputerSociety,2001. [38] Y.C.FungandP.Tong,ClassicalandComputationalSolidMechanics.WorldScienticPublishingCompany,1sted.,Oct.2001. [39] J.GeorgiiandR.Westermann,\Mass-SpringSystemsontheGPU,"SimulationModellingPracticeandTheory,vol.13,no.8,pp.693{702,2005. 76

PAGE 77

P.VolinoandN.Magnenat-Thalmann,\ComparingEciencyofIntegrationMethodsforClothSimulation,"Proc.ComputerGraphicsInt'l,pp.265{274,2001. [41] M.Hauth,O.Etzmuss,andW.Strasser,\AnalysisofNumericalMethodsfortheSimulationofDeformableModels,"TheVisualComputer,vol.19(7-8),pp.581{600,Springer,Dec.2003. [42] E.Keeve,S.Girod,andB.Girod,\CraniofacialSurgerySimulation,"Proc.FourthInt'lConf.onVisualizationinBiomedicalComputing(VBC'96),pp.541{546,1996. [43] D.BourguignonandM.-P.Cani,\ControllingAnisotropyinMass-SpringSystems,"Proc.EurographicsWorkshopComputerAnimationandSimulation(EGCAS'00),N.Thalman-Magnenat,D.Thalman,andB.Arnaldi,eds.,pp.113{124,Springer,Aug.21{222000. [44] R.Webster,R.Haluck,R.Ravenscroft,B.Mohler,E.Crouthamel,T.Frack,S.Terlecki,andJ.Sheaer,\ElasticallyDeformable3DOrgansforHapticSurgicalSimulation,"MedicineMeetsVirtualReality,pp.570{572,2002. [45] K.S.Choi,H.Sun,P.A.Heng,andJ.C.Y.Cheng,\AScalableForcePropagationApproachforWeb-BasedDeformableSimulationofSoftTissues,"Proc.SeventhInt'lConf.3DWebtechnology(Web3D'03),pp.185{193,ACMPress,Feb.24{282002. [46] K.-S.Choi,H.Sun,P.-A.Heng,andJ.Zou,\DeformableSimulationUsingForcePropagationModelwithFiniteElementOptimization,"ComputersandGraphics,vol.28,no.4,pp.559{568,2004. [47] C.BruynsandM.P.Ottensmeyer,\TheDevelopmentofaPhysicallyBasedVirtualAnimalModelUsingSoft-TissueParameterTesting,"Aug.252002. [48] J.Georgii,F.Echtler,andR.Westermann,\InteractiveSimulationofDeformableBodiesonGPUs,"Proc.SimulationandVisualisation2005,pp.247{258,2005. [49] J.GeorgiiandR.Westermann,\AMultigridFrameworkforReal-TimeSimulationofDeformableVolumes,"Proc.SecondWorkshopVirtualRealityInteractionandPhysicalSimulation,pp.50{57,2005. [50] J.GeorgiiandR.Westermann,\InteractiveSimulationandRenderingofHeterogeneousDeformableBodies,"Proc.Vision,ModelingandVisualization,pp.383{390,2005. [51] J.Mosegaard,P.Herborg,andT.S.Srensen,\AGPUAcceleratedSpringMassSystemforSurgicalSimulation,"MedicineMeetsVirtualReality,vol.111,pp.342{348,January2005. [52] J.MosegaardandT.S.Srensen,\GPUAcceleratedSurgicalSimulatorsforComplexMorphology,"Proc.IEEEConf.VirtualReality(VR'05),pp.147{154,323,IEEEComputerSociety,March2005. 77

PAGE 78

T.S.SrensenandJ.Mosegaard,\AnIntroductiontoGPUAcceleratedSurgicalSimulation,"BiomedicalSimulation:ThirdInt'lSymp.,(ISBMS'06),M.HardersandG.Szkely,eds.,vol.4072ofLectureNotesinComputerScience,pp.93{104,SpringerBerlin/Heidelberg,2006. [54] T.M.AtanackovicandA.Guran,TheoryofElasticityforScientistsandEngineers.Birkhauser,1sted.,May2000. [55] A.Alexandrou,PrinciplesofFluidMechanics.PrenticeHall,1sted.,Jan.152001. [56] P.TongandJ.N.Rossettos,Finite-ElementMethod:BasicTechniqueandImplemen-tation.TheMITPress,1sted.,Jan.151977. [57] T.J.R.Hughes,TheFiniteElementMethod:LinearStaticandDynamicFiniteElementAnalysis.PrenticeHall,1sted.,1987. [58] S.S.Rao,TheFiniteElementMethodinEngineering.Butterworth-Heinemann,3rded.,1999. [59] M.Bro-NielsenandS.Cotin,\Real-TimeVolumetricDeformableModelsforSurgerySimulationUsingFiniteElementsandCondensation,"ComputerGraphicsForum,vol.15,pp.57{66,Aug.1996.Proc.Eurographics'96.ISSN1067-7055. [60] M.Bro-nielsen,\FiniteElementModelinginSurgerySimulation,"Apr.031998. [61] M.Muller,J.Dorsey,L.McMillan,R.Jagnow,andB.Cutler,\StableReal-TimeDeformations,"Proc.ACMSIGGRAPH/EurographicsSymp.ComputerAnimation(SCA'02),pp.49{54,ACMPress,2002. [62] M.Muller,M.Teschner,andM.Gross,\Physically-BasedSimulationofObjectsRepresentedbySurfaceMeshes,"Proc.ComputerGraphicsInt'l,pp.26{33,IEEEComputerSociety,2004. [63] I.A.Essa,S.Scarlo,andA.Pentland,\AUniedApproachforPhysicalandGeometricModelingforGraphicsandAnimation,"TechnicalReport179,M.I.T.MediaLabVisionandModelingGroup,Dec.1991.17pages. [64] D.L.JamesandD.K.Pai,\DyRT:DynamicResponseTexturesforRealTimeDeformationSimulationwithGraphicsHardware,"Proc.29thAnn.Conf.ComputerGraphicsandInteractivetechniques(SIGGRAPH'02),pp.582{585,ACMPress,2002. [65] D.L.JamesandD.K.Pai,\ArtDefo:AccurateRealTimeDeformableObjects,"Proc.26thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'99),pp.65{72,ACMPress/Addison-WesleyPublishingCo.,1999. [66] I.F.CostaandR.Balaniuk,\LEM-AnApproachforRealTimePhysicallyBasedSoftTissueSimulation,"Proc.IEEEInt'lConf.RoboticsandAutomation,pp.2337{2343,2001. 78

PAGE 79

J.Teran,S.Blemker,V.N.T.Hing,andR.Fedkiw,\FiniteVolumeMethodsfortheSimulationofSkeletalMuscle,"Proc.ACMSIGGRAPH/EurographicsSymp.ComputerAnimation(SCA'03),pp.68{74,EurographicsAssociation,2003. [68] G.Debunne,M.Desbrun,M.-P.Cani,andA.H.Barr,\DynamicReal-TimeDeformationsUsingSpace&TimeAdaptiveSampling,"Proc.28thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'01),pp.31{36,ACMPress,2001. [69] Y.-J.Lim,J.Hu,C.-Y.Chang,andN.Tardella,\SoftTissueDeformationandCuttingSimulationfortheMultimodalSurgeryTraining,"Proc.19thIEEESymp.Computer-BasedMedicalSystems(CBMS'06),pp.635{640,IEEEComputerSociety,2006. [70] C.Basdogan,M.Sedef,M.Harders,andS.Wesarg,\VR-BasedSimulatorsforTraininginMinimallyInvasiveSurgery,"IEEEComputerGraphicsandApplications,vol.27,no.2,pp.54{66,2007. [71] M.LeDuc,S.Payandeh,andJ.Dill,\TowardModelingofaSuturingTask,"Proc.GraphicsInterfaceConf.,pp.273{279,CIPS,CanadianHuman-ComputerCommnicationSociety,AKPeters,June2003.ISBN1-56881-207-8,ISSN0713-5424. [72] H.Zhang,S.Payandeh,andJ.Dill,\SimulationofProgressiveCuttingonSurfaceMeshModel,"Oct.072002. [73] W.E.LorensenandH.E.Cline,\MarchingCubes:AHighResolution3DSurfaceConstructionAlgorithm,"Proc.14thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'87),pp.163{169,ACMPress,1987. [74] S.F.F.Gibson,\ConstrainedElasticSurfaceNets:GeneratingSmoothSurfacesfromBinarySegmentedData,"Proc.FirstInt'lConf.MedicalImageComputingandComputer-AssistedIntervention(MICCAI'98),pp.888{898,Springer-Verlag,1998. [75] J.D.Foley,A.vanDam,S.K.Feiner,andJ.F.Hughes,ComputerGraphics:PrinciplesandPractice.Boston,MA,USA:Addison-WesleyLongmanPublishingCo.,Inc.,2nded.,1990. [76] J.D.Owens,D.Luebke,N.Govindaraju,M.Harris,J.Kruger,A.E.Lefohn,andT.J.Purcell,\ASurveyofGeneral-PurposeComputationonGraphicsHardware,"STARProc.Eurographics2004,C.SchlickandW.Purgathofer,eds.,pp.21{51,EurographicsAssociation,Sept.2004. [77] J.Kruger,\GPGPUandraytracing,"ACMSIGGRAPH2007courses(SIGGRAPH'07),p.12,ACMPress,2007. [78] 79

PAGE 80

R.Strzodka,M.Doggett,andA.Kolb,\ScienticComputationforSimulationsonProgrammableGraphicsHardware,"SimulationModellingPracticeandTheory,SpecialIssue:ProgrammableGraphicsHardware,vol.13,pp.667{680,Nov2005. [80] L.Verlet,\Computer\Experiments"onClassicalFluids.I.ThermodynamicalPropertiesofLennard-JonesMolecules,"PhysicalReview,vol.159,p.98,Jul1967. [81] L.Hilde,P.Meseure,andC.Chaillou,\AFastImplicitIntegrationMethodforSolvingDynamicEquationsofMovement,"Proc.ACMSymp.VirtualRealitySoftwareandTechnology(VRST'01),pp.71{76,ACMPress,2001. [82] D.BaraandA.Witkin,\LargeStepsinClothSimulation,"Proc.25thAnn.Conf.ComputerGraphicsandInteractiveTechniques(SIGGRAPH'98),pp.43{54,ACMPress,1998. [83] C.Rezk-Salama,M.Scheuering,G.Soza,andG.Greiner,\FastVolumetricDeformationonGeneralPurposeHardware,"GraphicsHardware,K.AkeleyandU.Neumann,eds.,pp.17{24,EurographicsAssociation,2001. [84] R.WestermannandC.Rezk-Salama,\Real-TimeVolumeDeformations,"ComputerGraphicsForum,vol.20,no.3,pp.443{451,2001. [85] K.Erleben,J.Sporring,K.Henriksen,andH.Dohlmann,Physics-BasedAnimation.CharlesRiverMedia,1sted.,2005. [86] J.MosegaardandT.S.Srensen,\Real-TimeDeformationofDetailedGeometryBasedonMappingstoaLessDetailedPhysicalSimulationontheGPU,"Proc.EurographicsWorkshopVirtualEnvironments,vol.11,pp.105{111,EurographicsAssociation,2005. [87] H.E.Cline,W.E.Lorensen,S.Ludke,C.R.Crawford,andB.Teeter,\TwoAlgorithmsfortheReconstructionofSurfacesfromTomograms,"MedicalPhysics,vol.15,pp.320{327,1988. [88] A.Kadosh,D.Cohen-Or,andR.Yagel,\TricubicInterpolationofDiscreteSurfacesforBinaryVolumes,"IEEETrans.VisualizationandComputerGraphics,vol.9(4),pp.580{586,2003. [89] M.Chen,A.E.Kaufman,andR.Yagel,VolumeGraphics.Springer,1sted.,2000. [90] R.T.Whitaker,\ReducingAliasingArtifactsinIso-SurfacesofBinaryVolumes,"Proc.IEEESymp.Volumevisualization(VVS'00),pp.23{32,ACMPress,2000. [91] M.ShimizuandY.Nakamura,\ConstructingDetailedSolidandSmoothSurfacesfromVoxelDataforNeurosurgicalSimulation,"ComputationalScienceandItsApplications(ICCSA'05),O.Gervasi,M.L.Gavrilova,V.Kumar,A.Lagana,H.P.Lee,Y.Mun,D.Taniar,andC.J.K.Tan,eds.,vol.3482ofLectureNotesinComputerScience,pp.1013{1022,Springer,2005. 80

PAGE 81

A.Vlachos,J.Peters,C.Boyd,andJ.L.Mitchell,\CurvedPNTriangles,"Proc.Symp.Interactive3Dgraphics(I3D'01),pp.159{166,ACMPress,2001. [93] P.Bourke,\ PolygonisingaScalarField ,"http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/,1994. [94] F.Triquet,L.Grisoni,P.Meseure,andC.Chaillou,\RealtimeVisualizationofImplicitObjectswithContactControl,"Proc.FirstInt'lConf.ComputerGraphicsandInteractiveTechniquesinAustralasiaandSouthEastAsia(GRAPHITE'03),pp.189{196,ACMPress,2003. 81

PAGE 82

SukittiPunak,aBangkoknative,receivedhisvocationalgraduatecerticateinelectronicsfromKingMongkut'sInstituteofTechnologyNorthBangkok(Bangkok,Thailand),B.E.inelectricalengineeringfromKingMongkut'sUniversityofTechnologyThonburi(Bangkok,Thailand),M.S.incomputersciencefromChulalongkornUniversity(Bangkok,Thailand),andM.S.inelectricalengineeringfromGeorgiaInstituteofTechnology(Georgia,USA).HepursuedhisPh.D.studytofulllhiscareerpassionofbecomingacomputergraphicsresearcher.Hismainresearchinterestisincomputergraphicsforanimation,rendering,andvisualization. 82