<%BANNER%>

JointTrack

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

Material Information

Title: JointTrack An Open-Source, Easily Expandable Program for Skeletal Kinematic Measurement Using Model-Image Registration
Physical Description: 1 online resource (27 p.)
Language: english
Creator: Mu, Shang
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2007

Subjects

Subjects / Keywords: kinematic, measurement, registration, software
Mechanical and Aerospace Engineering -- Dissertations, Academic -- UF
Genre: Mechanical Engineering thesis, M.S.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: Skeletal kinematic measurement using model-image registration has been available for more than fifteen years and has proven invaluable in elucidating the dynamic function of knee replacements and other joints. However, technical complexity and the time consuming nature of the analysis have restricted utilization to a few dozen research groups. To accelerate the entry of model-image registration for skeletal kinematics into practical clinical use and to enhance research collaboration, we developed JointTrack, an open-source, easily expandable program for radiographic model-image registration. In this paper, we describe the technical considerations and design choices made, and the capabilities of the resulting programs. First, we identify a software architecture that satisfies the requirements for a flexible and extensible registration platform. Second, a data and operational structure are described that will accommodate a very wide range of 3D-to-2D model image registration capabilities. Third, the platform core and basic registration functionality are described and implemented. Finally, correctness of the fully functional implementation is verified.
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 Shang Mu.
Thesis: Thesis (M.S.)--University of Florida, 2007.
Local: Adviser: Banks, Scott A.

Record Information

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

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

Material Information

Title: JointTrack An Open-Source, Easily Expandable Program for Skeletal Kinematic Measurement Using Model-Image Registration
Physical Description: 1 online resource (27 p.)
Language: english
Creator: Mu, Shang
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2007

Subjects

Subjects / Keywords: kinematic, measurement, registration, software
Mechanical and Aerospace Engineering -- Dissertations, Academic -- UF
Genre: Mechanical Engineering thesis, M.S.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: Skeletal kinematic measurement using model-image registration has been available for more than fifteen years and has proven invaluable in elucidating the dynamic function of knee replacements and other joints. However, technical complexity and the time consuming nature of the analysis have restricted utilization to a few dozen research groups. To accelerate the entry of model-image registration for skeletal kinematics into practical clinical use and to enhance research collaboration, we developed JointTrack, an open-source, easily expandable program for radiographic model-image registration. In this paper, we describe the technical considerations and design choices made, and the capabilities of the resulting programs. First, we identify a software architecture that satisfies the requirements for a flexible and extensible registration platform. Second, a data and operational structure are described that will accommodate a very wide range of 3D-to-2D model image registration capabilities. Third, the platform core and basic registration functionality are described and implemented. Finally, correctness of the fully functional implementation is verified.
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 Shang Mu.
Thesis: Thesis (M.S.)--University of Florida, 2007.
Local: Adviser: Banks, Scott A.

Record Information

Source Institution: UFRGP
Rights Management: Applicable rights reserved.
Classification: lcc - LD1780 2007
System ID: UFE0021784: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 E20110331_AAAACQ INGEST_TIME 2011-03-31T19:00:37Z PACKAGE UFE0021784_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
FILE SIZE 19985 DFID F20110331_AACGJR ORIGIN DEPOSITOR PATH mu_s_Page_16.pro GLOBAL false PRESERVATION BIT MESSAGE_DIGEST ALGORITHM MD5
f79ba5d6eb5e81672a3b4f569756d3cf
SHA-1
1a2b2668d7542994a68f55f6ea10c676eb675bdb
5822 F20110331_AACGGV mu_s_Page_18thm.jpg
3b341f413bcf0abbfaaa8c9140e79ff5
ad573292ecdc7f4ac21f8836995cc0d093570df7
34604 F20110331_AACGMO UFE0021784_00001.mets FULL
8593250199364aea182324e9f4e0d6f1
669d61bff598cd351673539e4b9a08e3c042125b
1053954 F20110331_AACGGW mu_s_Page_21.tif
71a705d0e76b4d0d44d03e6fdacba0c4
b3e01294634b9454d961c196824804870f940968
8694 F20110331_AACGJS mu_s_Page_17.pro
22bbed8efd94115a7a274e098371c521
2e184907fea731ad9651e4dcf54612d3386b7645
1084 F20110331_AACGFD mu_s_Page_02.QC.jpg
f8e7f265db5ab6b2ac36ed29fa859a5d
ea4bd6a86db12d32fd074d58a2947702332789bc
F20110331_AACGGX mu_s_Page_25.tif
80173e164c0c717a3073da007d2e6005
230d26c18a4c14da1ccd0b09f46fa2c8bef36782
21298 F20110331_AACGJT mu_s_Page_18.pro
d9d2fb9bb4f6f14cc065061d03ed9de4
492e28a78a4406914b8229887b2ea3b54e714b85
96776 F20110331_AACGFE mu_s_Page_25.jpg
3d10637fa7f5eadbdd07e2cb09264956
094b39525421e1da0bba1302fbc1587bb2b76f53
F20110331_AACGIA mu_s_Page_01.tif
55c676e5ee4e824167b8e32b716840e3
7b2dbe0ad66910fb3ab18b3b0802c209d2261330
45853 F20110331_AACGGY mu_s_Page_15.pro
ef0d2064826aa0a39a0d20fda74c6019
72ce44bdf58f273f0a10543ed747c81af2cef2fa
17585 F20110331_AACGJU mu_s_Page_19.pro
8dc81744c27c4bda26a6a4b715d028e0
95152bc363305b872d023750e33c83a3d7b16d1d
6545 F20110331_AACGFF mu_s_Page_12thm.jpg
39bdcd018b7e9d7cdf6a41e9500a8afe
e894cab55c444c777f9642ecde839b53a7a9d364
F20110331_AACGIB mu_s_Page_03.tif
143535198d2d8d08ebde3e1d103d005c
611a0efc00163751d7d58ae259a9a6691516ad6c
1755 F20110331_AACGGZ mu_s_Page_13.txt
bb948a4cd78a8dd6f7d53400184bf646
0533eb9780b0ffe8e801466c501047ffef009923
23014 F20110331_AACGJV mu_s_Page_21.pro
44e633f6a455eddd156656a1bb55d268
bcd982e39b11da15fef063ba588cfb43a4f648c5
1168 F20110331_AACGFG mu_s_Page_07thm.jpg
74f7813e9a948e02b12ca487d95dd42e
5617c4cfd6b75414e0be74152d2579bcd2f3b2c9
25271604 F20110331_AACGIC mu_s_Page_05.tif
ab877572ab6b3386a56a08a0d19931d2
010c58efd93c8aa20ee12a8a909db2d841eb435b
32325 F20110331_AACGJW mu_s_Page_22.pro
125e75cbed23f15dbe6bb074ffba426c
f99e7c6d69d6a684b295f4ce22424c1624b6e288
F20110331_AACGID mu_s_Page_07.tif
30c182e064b286f04f52218c516df7b3
9ae98ca55eeff5336ddc9c598ec02bcba5155614
40028 F20110331_AACGJX mu_s_Page_26.pro
92cc5064645e7a3124a38a6b01c7cfa4
81f1e6f588a2a924890375aa2eb37faaabdd49b6
15810 F20110331_AACGFH mu_s_Page_04.QC.jpg
58fbd0804a1144db6eaf74236ac96ab7
72f63ff8acdbacd9e6243a038b491a5e296344b1
F20110331_AACGIE mu_s_Page_08.tif
6ef0f5864fbbf8651d778f45c63e8e9c
c4b19d6f6e1693d5dda31e3a069904bcc6f4fcc0
35813 F20110331_AACGLA mu_s_Page_24.QC.jpg
2da211de86d3059394834ed7dea99165
b615ad7b43efdcbed6bfa500fdc03b353e04b997
7685 F20110331_AACGJY mu_s_Page_27.pro
95c3243f21ff86acea12581d419f8a6a
6cfcbf89bdf5a6a7e1d45e560c86cc3250455382
37847 F20110331_AACGFI mu_s_Page_19.jpg
fff1d50f1f7e29baddfa11674e5f8b29
078304ea0a1675a44e226b9f651117ddfd6b5d2f
F20110331_AACGIF mu_s_Page_11.tif
aeebb24a01d36b0579e7ce4f1abcbf2d
517143d38be1597f6afa6bc928b36000e221ddf6
23652 F20110331_AACGLB mu_s_Page_26.QC.jpg
ebc9860f68aee90690b1503a0d7f33ed
f737ea047f6e27149f1bec2f7debf79e35ac6a61
26829 F20110331_AACGJZ mu_s_Page_01.jpg
56bc30b2f20d5fdefdf750a9a00a3b01
4584357ad7048537931d05a8fd88b8d3c7741a3f
8883 F20110331_AACGFJ mu_s_Page_24thm.jpg
0b906a438a77fd9d81fdcc9d0f867bac
073bf16e35f1b9b4d58836cb2baed32f825879e1
F20110331_AACGIG mu_s_Page_14.tif
2839068a32b6f28a58884431ee81959e
30edaf059e304cda182e7ff5d461111977817ea2
20077 F20110331_AACGLC mu_s_Page_27.jpg
9e562de8f6395244fe10dcd35c317cdc
d61d27ae5f0e56e5a7a91756ec3976098411481a
F20110331_AACGFK mu_s_Page_04.tif
dcded0fb260e5d7a5ba7c4da35428907
8374ad5c3a1542e4afbc67860cd48686830d95d4
8423998 F20110331_AACGIH mu_s_Page_17.tif
dcc5b116514aeb3a6d53704391096ab0
16196fe9bde1eb959860fde57ff74c90e5175358
6037 F20110331_AACGLD mu_s_Page_27.QC.jpg
d2e9e837aec6a6896c46dded33091008
cb2cca0880e8ae877cdc3959562f1f57ade51c9a
F20110331_AACGFL mu_s_Page_16.tif
ebb1bd1357acd572d9045f9c8aedf590
e9a256144cd21c5030c5074854bc428b50149724
F20110331_AACGII mu_s_Page_18.tif
7565e3447fc0f89d1f0f8b8247f7cede
ad291c0271f321d556f7fc1ac8bf1cb92f0021a1
26893 F20110331_AACGLE mu_s_Page_01.jp2
88d3e7aef87549c497beaa64a4907299
f16567663b479d435beb383070b30ae859b823c1
F20110331_AACGFM mu_s_Page_13.tif
cfa50b53cd657a9435e682cbeb6cd573
ef2707f7f1fdd2f4c576bf60dcad95ef87e1bada
F20110331_AACGIJ mu_s_Page_19.tif
ea90a5617c3c73d89cd1c59979f4df57
d73ea11c84fca35ec46371185200342ec46c5701
4759 F20110331_AACGLF mu_s_Page_02.jp2
581f1a81d9250ddc8377eda972eab488
f4ddfe389098f5a716e077c9d756a0d82ab74e1f
54109 F20110331_AACGFN mu_s_Page_06.jpg
03056c32bac559c749fdd7c520f1bbbb
6bbeb20070d29c4e5a5835cda595b09eaab0d922
21802 F20110331_AACGLG mu_s_Page_03.jp2
42bbf0a89a8eb578fafeace9f6f91005
d76d607b29d02485aaf853d5a3173672a872e5bf
1051927 F20110331_AACGFO mu_s_Page_11.jp2
3e564395db88159c8621d9a91a93a12e
d119792fd945b944d20d955a75977ce8b26414fd
F20110331_AACGIK mu_s_Page_20.tif
f249e3f5cd316eef14d12ddca0f68618
6e0f4fa0f5f21e794beba5aee35afd49837368a3
1051984 F20110331_AACGLH mu_s_Page_04.jp2
12bd765f7b7bf45888cebb8fb8d0b07f
e51fb727811a5d4fb0cd15976664097a5a8c4589
512 F20110331_AACGFP mu_s_Page_01.txt
3f73f9bd89a10dad998bdbe5ce5b7db8
819844adaec80ae3dc89f7e33d1dfd6bdd76c7f0
F20110331_AACGIL mu_s_Page_23.tif
54392ac497709929d8d16201e606bd53
d62117a6f34c1de45d5e8c6b00474d2fd252e60e
12531 F20110331_AACGLI mu_s_Page_07.jp2
88e087a3f63e34d7aefd3613ae91554b
788ebc445e8270fca2001c0da9de2aa4d7201c5d
32282 F20110331_AACGFQ mu_s_Page_25.QC.jpg
8fc2cc7413b3753ee9391275fc92d0cf
713bf34895b79ce3cc3d2f447f3d5e3838470ce4
F20110331_AACGIM mu_s_Page_24.tif
8f98fd0268beb29101919864e30cc6a9
fc95c0d460efcc45b61fe7b5c60e173ba5dd34c0
91706 F20110331_AACGLJ mu_s_Page_08.jp2
4512e88a5cbe800d2025882dfafacd47
fb5925d3fcf76e7eb8a52ea8347bf27c8b9eb9ee
F20110331_AACGFR mu_s_Page_02.tif
a5efb08660c3739cb44e4fa392d9b0c1
d602690fad5dba4f432ed02db9ef467b1c378e03
F20110331_AACGIN mu_s_Page_27.tif
b75afb03d3565cfb288ab0792250b372
e14cf369ef870befc1a58affa834fdc2e5406400
115402 F20110331_AACGLK mu_s_Page_09.jp2
8e435162e3abf625fb809a1d99dcda39
0f5d0998f847ef2d8c0d15ffb0a530ffefd3b64b
1675 F20110331_AACGFS mu_s_Page_26.txt
3c2bd193fb0e25972d97119d5ce3bf24
fd1e6cbe3c1cdd9df78d97cb4228741473e546b2
84 F20110331_AACGIO mu_s_Page_02.txt
4bf2b95b3dbe5daa9b98ae8ea38db2c7
d31900b3a99240e17768488e9f6c12dce0ebef6f
47471 F20110331_AACGLL mu_s_Page_10.jp2
1ab81e496e3123f748a585d2957c6658
42a8003d81fc8551003966271c0e293350ddb480
164557 F20110331_AACGFT mu_s_Page_20.jp2
6c27e56a5e1116668353277a93285ae0
f59a74da250905d05ffff9815e6e138e7abc1047
370 F20110331_AACGIP mu_s_Page_03.txt
52a386d83fa88214523abe34fc664a10
b6308351bb2adae1e4601d5f515fde5e80c4d186
83220 F20110331_AACGLM mu_s_Page_12.jp2
629bada0d736f597837105bbc00c7752
ca5f7f778edcaae7923c44af4e7b8e946e1eeea3
252 F20110331_AACGFU mu_s_Page_07.txt
0a204b780e0f7aab8e31820dffc79045
a3ad22f2e8c5eec7a635f897314653835d16090d
2438 F20110331_AACGIQ mu_s_Page_04.txt
98fd6514d87add7199f21167dc347365
73e996e60224e19fa4d1fa25d74e00b1865554d2
1716 F20110331_AACGFV mu_s_Page_22.txt
66bdd860f75c2f0b18209da52a9ed9b3
1b3380a8f787c75236fd81903119ad6b6d2141ca
387 F20110331_AACGIR mu_s_Page_05.txt
5b8cc9f8227dc0e3939cb946e13b6078
6342f222d52a1b34336d2c62f53c9abd4875f002
930686 F20110331_AACGLN mu_s_Page_13.jp2
8b75b31f1c8a568723635483ff345308
4e7fd898d5c94a9f5e4b5a6b37462a72c2f8b6af
111818 F20110331_AACGFW mu_s_Page_11.jpg
0777f31252c205c9f9d1db0dc3c2df1e
5c22f33906e1fd0ad0c811d868d54be48b123916
2177 F20110331_AACGIS mu_s_Page_09.txt
47dc8e86b3a97d9a39ea9a735317fdfe
137694874bc21073f0fc5b08fc8f09cb1272cc31
138786 F20110331_AACGLO mu_s_Page_14.jp2
3532e117c5f26728236b1122c5ce08d6
2092fbb1b5c35d3b7e61c937211bbb4b9532541a
F20110331_AACGFX mu_s_Page_06.tif
263f16502a1c6a0bd238712f361658d2
c6e1bf6629bea0096b1e74a65cd8914e95cf87a4
2963 F20110331_AACGIT mu_s_Page_11.txt
0ad09fbf6cc1dfbc2c104369a5a7a393
1ffc02483270c1b85f9e9ab926147d99d058504a
102558 F20110331_AACGLP mu_s_Page_15.jp2
1de6cc0d07217a97c2c48030ab443c88
84505a932cf24718544538434b79f5c0032482fa
4740 F20110331_AACGHA mu_s_Page_07.pro
4708c8be974daf057e7beeb235ddd65b
49ee785d4c7516d9d688bf46bd92c54c30d7c749
9017 F20110331_AACGFY mu_s_Page_14thm.jpg
520da0be6f7c756f71af0d3f783da0a6
39d7db590c5d263b13f52dc74f514223c36f6352
1683 F20110331_AACGIU mu_s_Page_12.txt
4ef36a487b97e25ba67d6e51589ccac8
62ef5c8560f617b67be1fba9a37509d66bae03fe
46890 F20110331_AACGLQ mu_s_Page_16.jp2
15fb7c2a2a2c1a211c27f5e3e3d3d560
8670ff86f656dc73c2dbca1d81fc9316ac57e5be
989519 F20110331_AACGHB mu_s_Page_06.jp2
312bd7e7d993ac99f1a7547b4b5e7ec2
fdb82587beca927e1d377e446e0db6422730c757
55329 F20110331_AACGFZ mu_s_Page_24.pro
bddd910d05bc3047f18895bae8b857d2
26b88fbd92227d57ec129c964c8c100e9a44d861
2690 F20110331_AACGIV mu_s_Page_14.txt
0d5ff2c159b3276ade92580ec8a5b534
4adc04e14b2d85e7fb88d8ae47ad79a84645d9eb
686697 F20110331_AACGLR mu_s_Page_18.jp2
979b77d02f5d0ca192b88e62498ac9d2
283e1d143a1ffa07aad69189cfad6cf63bd43d7c
8048 F20110331_AACGHC mu_s_Page_15thm.jpg
b19e7cf11c532bdbf454b5ebf7696f88
4760ac6773fea7cc2e31538e58fec61d0525b3c5
1821 F20110331_AACGIW mu_s_Page_15.txt
8a49482e19d62a4209582e3927d3f391
fa428374aa2460f14495d00d6361d97ac2fefdd2
48717 F20110331_AACGLS mu_s_Page_21.jp2
995df20eb1dda64a4cd1aea7b95a1799
670e8b995d25143649c0388535e0f3df1f848901
F20110331_AACGHD mu_s_Page_26.tif
277a0177c062bac29392e74392672f67
b741a9d08c80e3b23ba8fa1b457b1862fbaf8176
853 F20110331_AACGIX mu_s_Page_16.txt
52f3d9d2b948732b2e69bdc832311d0c
507696e3d0cdc77fa59e60ebdfb6621003031d48
69707 F20110331_AACGLT mu_s_Page_22.jp2
351b0d8135570ef4b4f9aa3e838533d9
9e687ad6de0e9da31ea9f1ab0dcc778fc9935a8a
1836 F20110331_AACGHE mu_s_Page_08.txt
a14912dacff4d56cd75668d64da87569
123c9ad1a6522265463db78c5c202198c90ca2a6
8137 F20110331_AACGKA mu_s_Page_01.QC.jpg
989ff279dd394dced261b081bce6bc48
3588dce30d1740d5eb35b1f61b3a6f5b6b3508a0
1180 F20110331_AACGIY mu_s_Page_18.txt
1e77d7e605ef814f033ba97a7671dc27
4ff1e1035b59589a14c77d75741252893ed729c4
118438 F20110331_AACGLU mu_s_Page_24.jp2
5556e5d96610d5265b47c92d4511839d
efa5d606b01fa9bd4746c624e3e755e0c1e0533f
102028 F20110331_AACGHF mu_s_Page_25.jp2
71fcace5a20591cca113aebd01099b6e
89feeba92d69754c35ab05971498e46d6defd6bb
3521 F20110331_AACGKB mu_s_Page_02.jpg
3945e7f6cbfe8087d49c18159fc81945
a48bee4ac9c9627deaab587bb6a887e5ca137c2c
906 F20110331_AACGIZ mu_s_Page_19.txt
6fff593919af8ddfb56830129d16f95f
22f8ef949741ee2bb168a99c8bab3c3f4a53628b
20579 F20110331_AACGLV mu_s_Page_27.jp2
9e4c88fb1f7ffa8f137bb7ec90a60ba0
a66482796b5dfedfdfdc4ae0ba28787615958c7d
24876 F20110331_AACGHG mu_s_Page_12.QC.jpg
95e54b37eba14e39f713da9501a9e4d2
d6b5ebcd1c5c4bffbf56c9e346503406ec5f0889
20044 F20110331_AACGKC mu_s_Page_03.jpg
f5f6ded604090d00b6d41fd647bb8566
27acd12b9e225742b1017a3a5ea0ff1623d4f2bd
2256 F20110331_AACGLW mu_s_Page_01thm.jpg
888ab038403ec6532b14ab2b557b310f
ec60551a4ee7e0c22da08d2987df49dc98729990
54292 F20110331_AACGHH mu_s_Page_23.pro
fc72ef8a3e1a7b083bd68af244c5a30b
ebd5e95bbf3643715adb35b6910e32eacfed4daf
6715 F20110331_AACGKD mu_s_Page_03.QC.jpg
9b9f3a6f70715d2054734273be7cb020
55c76d29ffdef56bad96a749b6249e8f8a50efcb
463 F20110331_AACGLX mu_s_Page_02thm.jpg
d48473a72e169a2141455f5679385481
4403d432410e3a0083672ea21c7990fe8eaf1901
67889 F20110331_AACGKE mu_s_Page_04.jpg
08ad037d6766fc5b6fa1ca0d3a164a54
db160f727379977740015094842c4616c9331891
1781 F20110331_AACGLY mu_s_Page_03thm.jpg
e7aecabd94b43c1c9f5e351f7a4cc51c
21e7f415baf0713ab295d2879bb404a767740b32
87661 F20110331_AACGHI mu_s_Page_08.jpg
26ac15cbba4da3d3ad72f13e355bb6c0
41854f6dc492fe9606c85f330098e36719cb3366
18748 F20110331_AACGKF mu_s_Page_05.jpg
f5c6e3629aa83f7322900b627c6d5320
5e83769bae66bbf30206934a321d7cf8c91874e3
1700 F20110331_AACGLZ mu_s_Page_05thm.jpg
37e4455d8bbb94466fdd4c3c7a96f42c
02060962e98867328249e84d9b7356d070b620c8
1051966 F20110331_AACGHJ mu_s_Page_23.jp2
73472a0126126178b2ac4c23275efd81
fac8a58b4a1e22186474c754c87329bc388ab482
11734 F20110331_AACGKG mu_s_Page_07.jpg
8a86ecba4a14aff9ca2f4d3ff6d0949d
6fb5f67282173fa8dab62eff6aa99eb1857a3997
4290 F20110331_AACGHK mu_s_Page_17thm.jpg
dace7799cc8ad7be7c56ebd1e705abfd
a2b198cdd6081719404cfef838ae19156bed803c
4463 F20110331_AACGKH mu_s_Page_07.QC.jpg
76ae71db34d08b28f60b84e873509cb0
970acbeb36d1dcccd8ef9157b105c2eece2288f6
47613 F20110331_AACGHL mu_s_Page_25.pro
8280195809be6abdb28d6fa031dff8d5
5e86ce341d6280a60d6b14862839d038ef2af705
26656 F20110331_AACGKI mu_s_Page_08.QC.jpg
ffad612bd3d81e8df4137c8c6bea2a5a
33aebc004bdb3c057ce3365fbaf4dbf87121e69c
3949 F20110331_AACGHM mu_s_Page_16thm.jpg
876abe124cf04a2b077df953ae1ad295
34bee41d11be4df02eb2c3a0f6db8f19dd2fc11c
43971 F20110331_AACGKJ mu_s_Page_10.jpg
50e53e0e6172062378a128e9a1962088
d78548e159b96403849e9c3b118d236061478e93
F20110331_AACGHN mu_s_Page_09.tif
3a5fc221c2faea88b60c26ce6c5a67f6
7061b01ae6d358e57dd6dfe4e1b3e7b31ec20892
13999 F20110331_AACGKK mu_s_Page_10.QC.jpg
27306cf0fb693e492667f2678c5d56e4
111478b1f456fd50a7eacba9353b95c0d9d1c93e
87499 F20110331_AACGHO mu_s_Page_26.jp2
c781526dc09343d9ecc12b23c131dfb3
5db96dd815c7cf10092dfdae442f4bcded748b4e
34398 F20110331_AACGKL mu_s_Page_11.QC.jpg
d8a7f33c504e5a2b7621b9320a5ac472
472c5bd1ab12383d23f8e5c1f57778a4237c004e
F20110331_AACGHP mu_s_Page_15.tif
82d30583d9ce655e1a7e62c1d2678d58
a31c0af92e397af0e8163822be84c48716b09705
510 F20110331_AACGHQ mu_s_Page_17.txt
af536af6d023fd70bb0402f296ca68a3
b23b3f0efcdb352d6c426808fe8e3d104ec5417f
27446 F20110331_AACGKM mu_s_Page_13.QC.jpg
50f7db13aa009e5d57e8ffd66dc3503b
c1918ac37178cbb095ef1ab07cfd60aa93ddeb72
13919 F20110331_AACGHR mu_s_Page_16.QC.jpg
d3a547931af53aad5740efa348d18792
0c3a48cca36569b42366157ff1dbfd8b0c2be119
36693 F20110331_AACGKN mu_s_Page_14.QC.jpg
fd6503927ec222b104666980e34646ce
3ed49f4232d35c7bd20a7b456581e5dd4d6e8a11
11652 F20110331_AACGHS mu_s_Page_19.QC.jpg
f22408265cdc9e309e6bf3fc89c0a9b0
f005df8f88dadbfb1408e617de1a585313a177e6
94809 F20110331_AACGKO mu_s_Page_15.jpg
186b287067359040e244ee52dbc11b1f
7ab4f0ca555d9278a4abc34383b1fbf28eb14d83
350263 F20110331_AACGHT mu_s_Page_17.jp2
019923e2737012f764e276521f3bb24b
c16ff72ab2c35ce92f70ce0968d06e930257a92a
30404 F20110331_AACGKP mu_s_Page_15.QC.jpg
6064755af65110c064f10ce8c9683ce5
35bf4f585b68ba1bae77794a76422e4f67cdb0bf
674 F20110331_AACGGA mu_s_Page_02.pro
3a22ac85261f020a2b087bc265c0e870
e676808b1a73b56b0ef38b650ffc9c359f798a28
5837 F20110331_AACGHU mu_s_Page_05.QC.jpg
082b53ca0becdeb9277aef2cfbbe420f
f9bfd1115a783771ef30d24681cce52ed11ef052
37702 F20110331_AACGKQ mu_s_Page_17.jpg
f0cb6c46b74a9f6b4a52460d650f1165
f9262555dfa84a01e346b13c6d79c2797d44e72b
14330 F20110331_AACGGB mu_s_Page_06.QC.jpg
52f5478170a18682cb63c0db4617257c
3b6d74557cc89a71ac18fef7d270c0a9e650178d
107975 F20110331_AACGHV mu_s_Page_09.jpg
f03d9f2c044da6385860fbf76fbb092e
d4fbf7e931c550aa7eb2d4c65763983026d6beda
56995 F20110331_AACGKR mu_s_Page_18.jpg
222a19500fcb881ce727137af39edb52
df2eb8ea3b544bfae1e2fa9323aa3e7102dcac9a
35122 F20110331_AACGGC mu_s_Page_09.QC.jpg
42fad737c5f2a03a7a8928df30a8df27
1fea1276492a542994794544a08a3d20b20bfabe
55204 F20110331_AACGHW mu_s_Page_04.pro
25bf40db0574304c3686903181e35bb5
91cff3e889bffc951a569d026805ad95e621dc0d
18792 F20110331_AACGKS mu_s_Page_18.QC.jpg
9ff5aff346374d9e88e7292ca3c5bd3a
7e16e15e03cc9fc4b31b79d2125bdae3843145a2
F20110331_AACGGD mu_s_Page_22.tif
033c328313df5f7796fa2b1bf8813ab4
72257240e3f12c433cd98710ee4f8727ead18cbe
46396 F20110331_AACGHX UFE0021784_00001.xml
5c6c38ee2af8e7b2668e195d1e3e7ef8
80d79cc8881c2613ef1075ab49434e8d74b5e1ef
17717 F20110331_AACGKT mu_s_Page_20.jpg
a90269c691c37f15a872bd5d92541aef
eb519b069b34086a157c28760dbd3e54f5927843
69037 F20110331_AACGGE mu_s_Page_22.jpg
2909425103ab3e4ba7a4e5a48e4c5a18
339ecaf477e4b39da2597623ac95a6e048a59096
165 F20110331_AACGJA mu_s_Page_20.txt
5b9d849d17ff65f9f95a3e328feecedf
17b62e70ff344805f91a09a95967ad56abd832ac
5807 F20110331_AACGKU mu_s_Page_20.QC.jpg
9d6f2590bbf4087305e9f43f131b7d7a
5ddb3c217ac17d70346cb48001b7dd854c54a3f4
77631 F20110331_AACGGF mu_s_Page_12.jpg
8c2f720c03c41fadc304b798dd63d74c
ce2ef106cb5f8baee0b1b4216f2764ca9fc1c709
1419 F20110331_AACGJB mu_s_Page_21.txt
162d827369cae354452b1a2f2a42f213
74bc73ada2f18b05d1014cb335f729103baa131c
14914 F20110331_AACGKV mu_s_Page_21.QC.jpg
19acb4e90efea7b765aba9b42300e680
38f8f1c9dffd1059f8326a6bb9e7e6e10d8d23de
85310 F20110331_AACGGG mu_s_Page_13.jpg
048bf15ef59a472e8af92fe90684ca5d
c38242c48d7e9f7ba933e647ffcb51a530cdba7b
2215 F20110331_AACGJC mu_s_Page_23.txt
d510a98296ff0489fc004fb7420747b4
e28f33c0a51113e8a729e8bc6e036b5a0a0d3f5c
21338 F20110331_AACGKW mu_s_Page_22.QC.jpg
261da26618418cee3024eb6aae91f594
1012d38d05cd5a9ebf21318b1b61a58b20dc016f
13072 F20110331_AACGGH mu_s_Page_17.QC.jpg
ddb60cf5a372103b6077a7df7e5bc95a
acaa850bacf6ab95bbf19298b09c28d5665c7344
2166 F20110331_AACGJD mu_s_Page_24.txt
8e31dade416f32565770cf78836754d5
1b770a21b2015071233bd85d1ad8da179254813e
111460 F20110331_AACGKX mu_s_Page_23.jpg
05114ae59a233e5673bf15fdfbaeeab9
0b2fca608527bb7ba3d04784dfbc68c7e8bec1e8
1889 F20110331_AACGJE mu_s_Page_25.txt
9b99d9721c4302b683e255aa42ce2960
0c1733bc027ab5310c81bf985d3a99b3da6f1989
6616 F20110331_AACGMA mu_s_Page_08thm.jpg
db95fcaa024453f79e14710a4b674418
6098a6e5f14411e7c0c763a8864b21083fe9b7f0
36056 F20110331_AACGKY mu_s_Page_23.QC.jpg
a92977bf478a4a42cbb7759d7108f099
47774a756feb446bdfee6dcbb92c38216f8e5710
3976 F20110331_AACGGI mu_s_Page_06thm.jpg
cd0134082183b946e3262565b0b78866
b9e7cf2f2f58cc7a4904bc2763bda17b8590cb7c
346 F20110331_AACGJF mu_s_Page_27.txt
e5bb0b9f4c6354a134a0e9cdb19562e7
68239cfdfa660d9e19fb846c8754f5fc6a315dd4
8433 F20110331_AACGMB mu_s_Page_09thm.jpg
0c967aa2d0f6cf2701ffadfca87332dd
337e8dc5fcdc294f7e871bca5ef700addb155d96
111931 F20110331_AACGKZ mu_s_Page_24.jpg
5fcba0b32ce1e91c13b9aff687d4b25b
a8ec15df4ce9992d1bf900582e8a1c8171cb0e1f
78751 F20110331_AACGGJ mu_s_Page_26.jpg
ddf1f876b01292ed1e53ce3138ad2c01
c29aef20814659b878ec3f395bf3267bbb6e4c19
8825 F20110331_AACGJG mu_s_Page_01.pro
faa41b5d0765021fd2fccf41cf268c26
6b0143ff603298bdcbcc21d4cb0250da568e6a5e
3780 F20110331_AACGMC mu_s_Page_10thm.jpg
a8d24ccecdb5d6a5f46fbfab5f80c32a
badfc895542f669faf7c78ace6160c1d9b4670e0
45898 F20110331_AACGGK mu_s_Page_21.jpg
b07e49586c577fd0d2c05cc0b38d0b21
d04a8845ff539ea3bc1c38ef91aca2e9ce379df6
8142 F20110331_AACGJH mu_s_Page_03.pro
98931c4de9357842d8f1c381b6c6a7eb
dda61ca88be5a95727c38470224cc8658a72a8e4
8736 F20110331_AACGMD mu_s_Page_11thm.jpg
4f093b3bb88da30e33eb7f0f294d5a45
148adc294c969a24983ef24e093ca975624ae8d5
292881 F20110331_AACGGL mu_s_Page_05.jp2
7db7d05574671a1f55d524f39d5a95d8
fe244df0f0a630ac629e976625de9ee3028bc391
9390 F20110331_AACGJI mu_s_Page_05.pro
c1e4bb3bc88e1c3befceb08caab2fc16
2109103d2012c5f5ed6602b2a7172720b9f49151
7283 F20110331_AACGME mu_s_Page_13thm.jpg
d639c323f530578c00bf50aa2d19d987
e228b00726b76146ae8577b69d1c5e3cd689165c
3001 F20110331_AACGGM mu_s_Page_20.pro
0584bd15316c595ce4e504a90d6ca4f9
1dcfebc81e7f7975481213cc4fbb46346883d078
29744 F20110331_AACGJJ mu_s_Page_06.pro
94494d362ae062eac3b5a275dacfdde8
b76960c6020fbcf49654511778d063a91c89548b
3741 F20110331_AACGMF mu_s_Page_19thm.jpg
91aaaa608a2bad97bcb2d88f1fd30f84
b61b6acacf7ee7094f9bbd8ae9a6c83b6403441c
4129 F20110331_AACGGN mu_s_Page_04thm.jpg
3ebb69c7062311c4db20d602d0e220a8
5bfa2918b645a1d8da095cf8a74e3461c979fae2
40463 F20110331_AACGJK mu_s_Page_08.pro
d73c1f83b2990c00afd3f253cdfac517
0aac688fbcbcf53938d9914fb9b52e9f2e16f70b
2244 F20110331_AACGMG mu_s_Page_20thm.jpg
fb87941880ef7d310b5d2411518c061a
8630dc90ae85313cdf8036983fba9d8ab15451ba
422243 F20110331_AACGGO mu_s_Page_19.jp2
e8a50e8f93aa615be563fe7c784c8b0b
8d9f59005278e8a5636aebb273874982420915e7
4081 F20110331_AACGMH mu_s_Page_21thm.jpg
e14c73328f4f7f9b961e3d777dd08a24
0ca4244d5c7ba0dd4e949ff92b445bc77946f230
130823 F20110331_AACGGP mu_s_Page_14.jpg
b640dd44df159ceae92abdc8e8923b43
49b537f6afc4c72cb476d7ae48acbd656d787daa
53282 F20110331_AACGJL mu_s_Page_09.pro
bd067a98ffba133cf5e1b64724bed08f
b8bedbc8bd08c20c4f98e12047ca5207d3d726e5
6067 F20110331_AACGMI mu_s_Page_22thm.jpg
82dff52bdb0f7b03487c97f6232b6e6d
eaa56c86e0a9aa130c26aa55d53e78f70a3cf957
F20110331_AACGGQ mu_s_Page_10.tif
30869e01bee1c46123d03550afef4559
621dbdc555a1c4dc11bfb7292faf15cf666dc609
20464 F20110331_AACGJM mu_s_Page_10.pro
6393320587fbb8610f47dfc12bc1fc2f
dc74a55c260d304034122ed1f2568325836743c2
8914 F20110331_AACGMJ mu_s_Page_23thm.jpg
ac3aea8c03ef4fd9f85a8332d864c127
b3ada5752a09d92dfd190d08d8230562ddb54942
42781 F20110331_AACGGR mu_s_Page_16.jpg
c50492f6647ab53f617cc2ffddbb86b0
c32bc9be326fd36b0d850a9cefdb297fb6e4c736
56455 F20110331_AACGJN mu_s_Page_11.pro
a070c1745fa867ed1f7830843ec0396d
695e1ecb0978b1628abc07d770a87a813df32016
7786 F20110331_AACGMK mu_s_Page_25thm.jpg
0821f1bf17e66c3921939a73e2ec60ee
04546617623cfdc329302cd8c66cc148a361270b
F20110331_AACGGS mu_s_Page_12.tif
725fa897daf82ef8135cbb4fef441210
bb2baee01348597be39058bc8d448d7d67a063c5
38049 F20110331_AACGJO mu_s_Page_12.pro
4e29f1133766b019856c44075ca2da29
1bcd21a8ccad09947d2a3937101a483c32986e9b
6334 F20110331_AACGML mu_s_Page_26thm.jpg
ad9a5002b46ff13c9cc49d192a535175
608a7a3c3f90c7c5a3f50061fef3dc96e31005fd
821 F20110331_AACGGT mu_s_Page_10.txt
b8755c4aa656b372bce82d3e0aafbd3b
31804dfc4387592275ffe1d269e2fcbbea9403bd
40963 F20110331_AACGJP mu_s_Page_13.pro
921e1662153d36742f1aaeba0fc52694
d88b42b7be9567208baa234e727bfde31250f485
1745 F20110331_AACGMM mu_s_Page_27thm.jpg
a7178fbb3f5ed515d96f65d388762178
52f3655e051b6bbf049499bd2a23115985102571
66676 F20110331_AACGJQ mu_s_Page_14.pro
48778242e46c5f2ae93662c47ec5a36c
ae15ab73c6501a6df8f9172ea51bb9b97b0dec43
538999 F20110331_AACGMN mu_s.pdf
e88e0c21da2147b703035a9c6ebdafb2
273a643260f42bf6465c62098e6dfd7242d98b20
1239 F20110331_AACGGU mu_s_Page_06.txt
e257b819b4d252189f850a38622aa671
f9a69c5e14bbb6992ec5e2dd76f7f78f214b4082








JOINTTRACK: AN OPEN-SOURCE, EASILY EXPANDABLE PROGRAM
FOR SKELETAL KINEMATIC MEASUREMENT
USING MODEL-IMAGE REGISTRATION





















By

SHANG MU


A THESIS PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE

UNIVERSITY OF FLORIDA

2007


































2007 Shang Mu









ACKNOWLEDGMENTS

I wish to express sincere appreciation to Dr. Banks, my advisor, who gave me enormous

support on my quest. To all who waited so long either just to see it born or to actually use it, I

thank you for your patience.

Special thanks go to my father, who fostered my enthusiasm in science.










TABLE OF CONTENTS

page

ACKNOWLEDGMENT S 3..___. ... ... ...............
A CKNLIST OF TABLEDGM ENT...... ....................................................... .....................


L IS T O F F IG U R E S .......................................................................................

ABSTRAC T ...........................................................................................

1 INTRODUCTION ............. ............. ...... ............................

2 M ETHOD S ....... ....... ...... .. .............................................. ... 11

Softw are A architecture ................................. ............. ............ ... ... 11
D ata L ay e r .......................................................................................... 1 1
O operation L ay er / P lug-in s ...................................................................... ..................12
Other Fundam ental D esign A aspects .............................. ................................. ...... .. 13
3D -to-2D R registration ................. ...... ..... ................................ ................... 13
G raphical U ser Interface (G U I) .......................................................................... ... ... 14
K inem atic Outputs ............... ..... .............................. ....... .. .. ............ 15
Im plem ented Plug-ins ...................................................... ................. 16
V alid atio n ..........................................................................16

3 R E S U L T S ...........................................................................................2 2

4 DISCU SSION .......................... ................................ .. 23

L IST O F R E FE R E N C E S ................................................................................................ 26

B IO G R A PH IC A L SK E T C H .............................................................................. .....................27




















4










LIST OF TABLES


Table


2-1. List of current plug-ins in JointTrack. ........................................ ......................................21

3-1. Comparison between pose estimation results from JointTrack and KneeTrack for 9 in
v iv o radio rap h s..................................................... ................ 2 2


page









LIST OF FIGURES


Figure pe

2-1. Data types and their reference relationship. Numbers indicate possibility of reference
m ultiplicity ............................ ........... ..... ..... ..... ................... .. ............ 17

2-2. Basic 3D-to-2D model image registration............................. ... ....................17

2-3. The JointTrack Administrative window provides basic functionality for file
input/output. ................................................................................18

2-4. The main JointTrack display window shows the current image and models
superim posed. .............................................................................18

2-5. The Interaction Control window gives the user control over registration objects, images,
and registration m methods. ........................................... ..................... .. ..... 19

2-6. The Secondary View provides a 3D view of the relative positions of the registration
objects ......................................................... ................................... 2 0









LIST OF ABBREVIATIONS

GUI: Graphical User Interface.

Ice: Internet Communications Engine.

ITK: Insight Toolkit.

VTK: Visualization Toolkit.









Abstract of Thesis Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Master of Science

JOINTTRACK: AN OPEN-SOURCE, EASILY EXPANDABLE PROGRAM
FOR SKELETAL KINEMATIC MEASUREMENT
USING MODEL-IMAGE REGISTRATION

By

Shang Mu

December 2007

Chair: Scott Banks
Major: Mechanical Engineering

Skeletal kinematic measurement using model-image registration has been available for

more than fifteen years and has proven invaluable in elucidating the dynamic function of knee

replacements and other joints. However, technical complexity and the time consuming nature of

the analysis have restricted utilization to a few dozen research groups. To accelerate the entry of

model-image registration for skeletal kinematics into practical clinical use and to enhance

research collaboration, we developed JointTrack, an open-source, easily expandable program for

radiographic model-image registration. In this paper, we describe the technical considerations

and design choices made, and the capabilities of the resulting programs. First, we identify a

software architecture that satisfies the requirements for a flexible and extensible registration

platform. Second, a data and operational structure are described that will accommodate a very

wide range of 3D-to-2D model image registration capabilities. Third, the platform core and basic

registration functionality are described and implemented. Finally, correctness of the fully

functional implementation is verified.









CHAPTER 1
INTRODUCTION

Model-image registration for the measurement of dynamic skeletal motion has been used

for orthopaedic research since 1991.1 Numerous groups have developed measurement tools

based upon model-image registration and applied these in studies of natural2 3 and prosthetic4-6

joints. Despite this research success, none of these methods has been introduced into clinical use,

only a few dozen research groups are active worldwide, no standards for testing or reporting

results are available, and collaboration is restricted by incompatible computer programs often

built on proprietary and expensive software foundations.

The principal of model-image registration for skeletal kinematic measurement is simple

and many potential clinical uses can be identified. However, the potential for these methods to

impact clinical care will not be realized until automated measurement capabilities progress far

beyond what currently is available. We believe that providing an open-source software platform

to easily implement model-image registration techniques for skeletal kinematic measurements

will catalyze efforts to develop measurement standards, enhance availability and utilization of

such measures for research and clinical use, and spur collaborative development and innovation.

Herein we report the development of JointTrack, an open-source software platform for

performing skeletal kinematic measurement with model-image registration.

Our approach to the software platform was to create a very flexible foundation code that

will permit easy implementation of functionality through a plug-in architecture. Program

functionality, in terms of the number of image planes, number of moving objects, types of

projection models, image metrics, and optimization routines is to be unrestricted by the

foundation code. In particular, the platform is intended to facilitate implementation of novel

registration methods incorporating knowledge of kinematic or mechanical constraints between









bodies, and/or the inclusion of a computational joint model as part of the registration cost

function.

In the material that follows, we describe the considerations and choices made in the

development of the JointTrack foundation code and capabilities. First, we identify a software

architecture that satisfies the requirements for a flexible and extensible registration platform.

Second, a data and operational structure are described that will accommodate a very wide range

of 3D-to-2D model image registration capabilities. Third, the platform core and basic registration

functionality are described and implemented. Finally, JointTrack is validated against the

predecessor code (KneeTrack) by comparison of implant kinematics measured from the same set

of radiographs.









CHAPTER 2
METHODS

Software Architecture

Two layers are defined for the software
The Internet Communications Engine (Ice)
S is a modern alternative to object
framework: data and operation. The data layer is the middleware such as CORBATM or
COM/DCOM/COM+, with support for C++,
core of JointTrack and is responsible for C#, Java, Python, Ruby, PHP, and Visual
Basic.
maintaining a master copy of most data. Operations Ice is easy to learn, yet provides a
Ice is easy to learn, yet provides a
powerful network infrastructure for
using the data are achieved by plug-ins, and plug- demanding technical applications. Ice
shines where technologies such as SOAP
ins comprise the operation layer. or XML-RPC are too slow, or do not
provide sufficient scalability or security. For
Sa comparison between Ice and CORBA,
An open-source tool called Ice (sidebar: please see this page.

ZeroC, Inc., Palm Beach Gardens, FL) is the Ice is free software, available with full
source, and released under the terms of
foundation for JointTrack's modular architecture. GNU General Public License (GPL).
Commercial licenses are available for
customers who wish to use Ice for closed-
Ice middleware functions handle communication source software.

between the multitude of functional software From: http://www.zeroc.com/

components. A major benefit of Ice is support for many common programming languages,

meaning different JointTrack components can be coded in many modern languages.


Data Layer

Several basic data types are defined for the 3D-to-2D registration framework (Figure 2-1).

Radiographic and fluoroscopic data can be individual or sequences of images. JointTrack defines

a Frame structure that contains one or several images acquired at the same instant in time. This

definition makes analysis of single-plane, bi-plane and multi-plane image sequences fundamental

to the JointTrack software framework.

Another data type of particular interest is ModelPose which represents the position and

orientation of a moving body. Body orientation can be described by a wide variety of different










conventions, including Euler and Cardan angle sequences of ordered rotations.7 8 Orientations

are stored as unit quaternions in the JointTrack platform core, which can be accessed in any

alternate representation to enable seamless and convenient communication between different

plug-ins using common biomechanical conventions. Some frequently used angular conventions

already are available, and support for new representations easily can be added without

modification to the interface definition.

Types in Figure 2-1 are defined similar to the following (Note: The code is in Slice, the

simple language used by Ice for interface definitions.):


class FrameData
{
int id;
Frame* proxy;
IntSeq vImages;

};
class Frame extends FrameData
{
int GetID();
FrameData GetData();
void SetData(FrameData data, JTObserver* caller);
ImageSeq GetImages();
void SetImageList(IntSeq imageIDs, JTObserver* caller);

};

The functions are implemented in the platform core. A plug-in can directly access a specific data

element of an object using these functions, or operate on a local copy of the entire object using

the GetDatao function. Additionally, a plug-in object can register itself as an observer of a data

object, and receive notification whenever a change is made to the data object.


Operation Layer / Plug-ins

Built using object-oriented programming languages, plug-ins are naturally object-oriented.

The fundamental interface can be written:









interface Plugin
{
PluginObject* New(int objtype);
void shutdown();

interface SomeObject extends PluginObject
{
... (operations are defined here)
};

A plug-in has a manager interface (the "Plugin" interface in the above code) capable of creating

a new object carrying the operations needed to achieve its goal. Multiple objects of the same type

can co-exist without interfering with each other.

Object-image registration has several stereotypic processes where algorithmic details can

vary widely, but the basic interface can be defined generally. In order to maximize modularity

and reusability, several typical types of object interfaces have been defined, including Optimizer,

Projector, ImageReader, ImageFilter and Metric. However, differentiation between two types of

functionality does not necessarily separate the implementation, and care must be taken to

combine appropriate functions. No restriction is imposed on the number of interfaces a single

object can provide.


Other Fundamental Design Aspects

An on-demand pipeline-type processing scheme very similar to that in VTK (Kitware, Inc.

http://www.vtk.org/) is utilized. Every object can have one or more input ports to receive images,

and one or more output ports to connect to input ports of other objects.


3D-to-2D Registration

The process of a basic 3D-to-2D model image registration is shown in Figure 2-2. In

JointTrack, the following object types are used:

* Projector: A projector generates 2D images from 3D models with specified poses and
projection parameters.









* Metric: A metric takes two sets of images as input, and outputs a score indicating the
similarity between the two sets of images. An image set can contain only one image or
multiple images, for example, a grey-scale image and an edge-detected version of the same
image. A multi-plane registration metric may take more than two sets of images, and may
use single-plane metrics to compute the score. A score may be scalar or vector valued.

* Optimizer: Optimizers are standard numerical optimization algorithms, such as simulated
annealing. The output of an optimizer is simply a vector of numbers.

* CostFunction: Cost functions generate scores for the optimizer. In our framework, a
CostFunction is responsible of (1) translating the output of the optimizer, which is just a
vector of numbers, into the pose(s) of one or more 3D models; (2) invoking the projection
procedure on the projector objectss; and (3) returning the score generated by a metric. A
CostFunction usually is tightly coupled with a Registration and commonly implemented in
the same plug-in as the Registration.

* Registration: Registration is responsible to organize the 3D-to-2D registration process.
Here, a proper Optimizer is connected to the Cost Function. It also connects the output of a
Projector to a proper Metric, and potentially adds certain image processing plug-ins
between them.

These components define the registration framework. The only difference from Figure 2-2

is that model poses are not directly transferred between components: instead they are first saved

to the data layer and then retrieved by appropriate components, so that translation between

different pose representations is handled automatically. This structure is not designedfor

algorithms that utilize 3D distance maps.4 9 However, a distance map algorithm is just a

combination of a projector and a metric (although i/ ith slightly different meaning from the above

definition), and can still utilize other appropriate plug-ins and the platform core.


Graphical User Interface (GUI)

Model registration often requires human supervision. At the starting point of the

registration, an initial guess is required from a human operator. To feed data into the program

and to initialize the registration, a GUI, or at least a command-line front-end has to be provided.

Next to nothing has been defined for how the user interface should work. Different

research groups are completely free to implement their own user interface for their special needs.









Because every piece of data is observable, a GUI has the ability to watch the progress of a

registration job, whereas a registration component has no obligation of taking account of

updating the GUI.

A simple GUI has been implemented that replicates the critical functionality of the

predecessor program (KneeTrack) and adds some new features. The GUI uses a windowed tool

approach, like PhotoShop for example, rather than the monolithic and complex KneeTrack

window. An administrative window (Figure 2-3) allows users to open/close projects,

import/export models and images, and save kinematics of the moving bodies. A main display

window (Figure 2-4) shows the current radiographic view with models of registration objects

superimposed. Unlike Knee-Track, this window can be arbitrarily large or small, depending on

the native size of the radiographic images. The Interaction Control window (Figure 2-5) allows

users to change how the models and image are displayed, modify parameters in basic image

processing, and control the registration process. The Secondary Display window (Figure 2-6)

shows the current relative poses of the registration objects at any viewing aspect the user wishes.

There is a simple click and drag user interface to change the viewing orientation in a manner

similar to common CAD programs.

Users can bring up configuration dialog boxes to change the settings for plug-in objects.

The GUI currently supports single-plane registration.


Kinematic Outputs

The JointTrack data layer provides an interface to save/load a single pose, and to save/load

a sequence of poses from a specific 3D model. Files are saved in comma-delimited ASCII format

to permit maximum flexibility and avoid obsolescence.









Implemented Plug-ins

Table 2-1 is an incomplete list of the plug-ins that already are implemented and tested.

Together they form a fully functional 3D-to-2D registration program with a graphical user

interface.


Validation

Validation was carried out by comparing results for a cementless total knee arthroplasty in

9 x-ray images against previous results from KneeTrack. The same mobile bearing total knee

replacement is present in all the images. JointTrack used a combined grayscale and edge metric

with simulated annealing numerical minimization. KneeTrack used an edge-distance metric with

non-linear least-squares minimization The human operator was skilled in the use of KneeTrack,

and blinded to the results until after the comparisons were made.











SExtemalCalibInfo


Frame 0 Image 0

Activity 2
A tFrame 1 I Image N


Frame N
ModelPose 0


^' CalibrationInfo


SModel


ModelPose N

Figure 2-1. Data types and their reference relationship. Numbers indicate possibility of reference
multiplicity.


Figure 2-2. Basic 3D-to-2D model image registration.














File Edit View Help
Panels
E I/O (LoadlSave) O Properties
List Items
Images 0 Frame's 1st image
0 Frames
SOnly show current activity


Copy previous Copy next


B Activity 1
2002 0411 ta 01.TIF
2002 04 11 ta 02.tif
2002 04 11 to 03.tif
2002 04 11 ta 04.,tif
200204 11 ta 05.tif
2002 04 11 ta 06.tif
B Activity 2
51-07 undist.tif




< .i i;. >


Load Project Save Project

One-button Load ]



New Activity


Load Calibration

Load Movie

Load 3D Model(s)
Import
Model Kinematics

SSingle Pose
Export
Model Kinematics

Single Pose


Figure 2-3. The JointTrack Administrative window provides basic functionality for file
input/output.


Figure 2-4. The main JointTrack display window shows the current image and models
superimposed.





18


(Jitrk tU



















Model Control
S electrnst
Select:


Display mode
C H.I11lIHi
3D
O Edge
0 Shadow


S5


Image Control
] Image is black (bones) on white (background)
[ Invert Color (for display only)
i,,r ,, OEdge OHybrid
Intensity
Lower bound 0
Upper bound 185 i

Apply Apply all set

Edge Detection
Canny edge detection:
Aperture:
Thresholds: low 4':1 high 7

Apply Apply all Reset


how All Hide All But Selected

Config Registration

Optimize NewGuess


Figure 2-5. The Interaction Control window gives the user control over registration objects,
images, and registration methods.


















19


Current Model
F-1 Hidden

























Figure 2-6. The Secondary View provides a 3D view of the relative positions of the registration
objects.










Table 2-1. List of current plug-ins in JointTrack.*
Plug-in name Object type(s) Open- Comments
provided source
libraries
used
JTRendererVTK Projector, GUI VTK
GUIwx GUI wxWidgets,
Boost C++
Libraries
OptiSimAnnealIce Opimizer Simulated annealing algorithm.
CostFuncSFMahfouz Metric/ A metric based on method from
CostFunction Mahfouz5, and a corresponding basic cost
function.
MyMahfouzRegistration Registration/ A registration routine that uses
CostFunction CostFuncSFMahfouz and
OptiSimAnnealIce.
ReaderTIFFVTK ImageReader VTK
ReaderBMPVTK ImageReader VTK
FilterCannyEdge ImageFilter CImg Canny edge detector
FilterCannyEdgeOpenCV ImageFilter OpenCV Canny edge detector from the OpenCV
library
* All plug-ins are currently implemented on Windows.









CHAPTER 3
RESULTS

There were significant differences in z-values between the two data sets (1009mm)

because the z-origin in KneeTrack was at the image plane, while the z-origin in JointTrack is at

the x-ray focus (Table 3-1).

There was a significant difference of 0.430 and 0.40 for femoral and tibial x-rotations. No

other comparisons of kinematic parameters revealed a significant difference.


Table 3-1. Comparison between pose estimation results from JointTrack and KneeTrack for 9 in
vivo radiographs.
Position (mm)* Orientation ()*
x y Z x y z
Standard deviation
0.41 0.24 4.46 0.15 0.24 0.49
of difference
Femur
component Average difference 0.18 -0.10 1009 0.43 -0.04 -0.25

t-test 0.23 0.27 <1E-3 <1E-3 0.60 0.17

Standard deviation
0.41 0.31 4.53 0.39 0.77 0.54
of difference
Tibia
component Average difference 0.04 -0.16 1009 0.40 0.07 0.25

t-test 0.76 0.16 <1E-3 0.02 0.78 0.20
*The reference coordinate system has the x-axis horizontal (positive right), y-axis vertical
(positive upward) and z-axis projecting outward from the image plane. The rotations are ordered
3-1-2 sequences for body-fixed coordinate systems.









CHAPTER 4
DISCUSSION

Over the past 15 years, three-dimensional measurements of skeletal motion by model-

image registration have provided information critical to the improvement of joint prostheses and

the understanding of natural joint mechanics. However, the development and evolution of this

measurement approach is limited to a relative few specialist groups worldwide, and practical

clinical implementation is not yet feasible. The goal of JointTrack is to provide an open-source

foundation upon which existing and newly interested parties can freely and easily add and

explore ideas for model-image registration. By facilitating easy evolution and collaboration,

JointTrack could prove a useful tool immediately for research, but may ultimately spur the

required advances for practical clinical measurement of skeletal kinematics.

The validation exercise demonstrates the same results are produced by JointTrack as its

predecessor, KneetTrack. The z-translations differed between the two applications because of a

difference in coordinate system origin, not because of a difference in pose measurement. The x-

axis rotations exhibited a statistically significant difference of less than 0.50, which is

unsurprising given different metrics and optimizers were used on a relatively small set of images.

This difference is not clinically significant, and likely would not persist if similar

metrics/optimizers or a greater number of images were used for the validation step.

In considering 3D-to-2D registration, an obvious question is 'Why not use ITK'? First,

ITK (Kitware, Inc., http://www.itk.org/) works exclusively with C++. ITK provides bindings to

scripting languages like Python and Tcl, but many common operations for 3D-to-2D registration

need to be performed by subclassing. ITK completely relies upon virtual method overriding, but

does not provide virtual function hooks in its scripting language bindings rendering useless

subclassing in Python or Tcl. The pixel by pixel access or 'access by index' scheme in ITK's









registration framework may be too expensive to cross most inter-language boundaries. In

essence, ITK's scripting language bindings provide only a basic "user" interface, not the

flexibility and power of a "developer" interface. Second, ITK is completely software based. Its

volume rendering is unacceptably slow for kinematic measurements, where often hundreds of

images per subject must be processed. The wide availability of open-source libraries and

standard methods for hardware acceleration argue for the inclusion of these capabilities in a

practical 3D-to-2D registration framework. Third, ITK appears not to provide a direct method to

create a binary projection image from a surface model, which is the most basic operation in any

3D rendering library. Black-white projection images from surface models are most often used for

metallic implants (which are radiopaque). Fourth, all current customizable registration methods

in ITK can only use single valued optimizers and cost functions (KneeTrack utilized an error

vector-based metric with non-linear least squares minimization). The goal of JointTrack is not to

replace ITK, which is a vast library incorporating a wide array of registration functions. The aim

of JointTrack is specific to performing skeletal kinematic measurement using 3D-2D model

registration techniques. By narrowing the application scope and providing application-specific

common structures, JointTrack simplifies the definition and implementation of new capabilities

and should work productively for both researchers analyzing skeletal motions and engineers

exploring new registration methods. Developers still can use ITK or other libraries for individual

JointTrack plug-ins.

The current implementation of JointTrack has some limitations. The current imaging

pipeline is simple and only supports type "byte" (in Ice) or "unsigned char" (in C++). A more

robust structure can be implemented, but at the expense of a more complicated structure and

more challenging prototyping. One option is to put image operations that require other data types









into the same plug-in to escape the limitation of the external interface. Plug-in management in

the JointTrack core can be improved. Currently, if one plug-in is dependent upon another plug-

in, a configuration file is required to locate the other plug-in. Ideally, locating and starting a

proper plug-in should be handled at run-time.

Despite these limitations, JointTrack could dramatically improve the current situation in

the field. Different optimizers, metrics, or image processing routines can be easily added. New

approaches more easily can be tested. Any component can be implemented in scripting language

for the benefit of quick implementation and debugging. Important libraries available in only one

language do not need to be ported to a different language for use in JointTrack. Perhaps most

importantly, the open source, modular nature of JointTrack will facilitate collaborative

development of novel techniques and standardized methods.

The flexibility of the JointTrack structure will permit incorporation of novel registration

methods that go beyond traditional image based metrics. For example, a computational model of

the joint may be embedded into the registration routine, e.g. as part of a CostFunction. In this

scenario, geometric interference between joint surfaces will prevent non-physiologic poses from

being tested or accepted. Muscles and ligaments will control and constrain the motion of joints.

The pose of one bone articulating with multiple bones easily can be initialized for registration

from the poses of adjacent bones (e.g. spinal vertebra or the hind-foot). These geometric and

mechanical constraints will shrink the pose optimization search space and potentially will

increase accuracy and automation for 3D-2D registration for skeletal kinematic measurements.









LIST OF REFERENCES


1. Banks SA, Riley PO, Spector C, Hodge WA. 1991. In vivo bearing motion with meniscal
bearing TKR. Orthop Trans 15: 544.

2. You BM, Siy P, Anderst W, Tashman S. 2001. In vivo measurement of 3-D skeletal
kinematics from sequences of biplane radiographs: application to knee kinematics. IEEE
Trans Med Imaging 20: 514-25.

3. Komistek RD, Dennis DA, Mahfouz M. 2003. In vivo fluoroscopic analysis of the
normal human knee. Clin Orthop Relat Res: 69-81.

4. Zuffi S, Leardini A, Catani F, et al. 1999. A model-based method for the reconstruction
of total knee replacement kinematics. IEEE Trans Med Imaging 18: 981-91.

5. Mahfouz MR, Hoff WA, Komistek RD, Dennis DA. 2003. A robust method for
registration of three-dimensional knee implant models to two-dimensional fluoroscopy
images. IEEE Trans Med Imaging 22: 1561-74.

6. Kaptein BL, Valstar ER, Stoel BC, et al. 2003. A new model-based RSA method
validated using CAD models and models from reversed engineering. J Biomech 36: 873-
82.

7. Grood ES, Suntay WJ. 1983. A joint coordinate system for the clinical description of
three-dimensional motions: application to the knee. J Biomech Eng 105: 136-44.

8. Tupling SJ, Pierrynowski MR. 1987. Use of cardan angles to locate rigid bodies in three-
dimensional space. Med Biol Eng Comput 25: 527-32.

9. Lavallee S, Szeliski R. 1995. Recovering the position and orientation of free-form objects
from image contours using 3D distance maps. IEEE Trans Pattern Anal Mach Intell 17:
378-90.









BIOGRAPHICAL SKETCH

Shang Mu received his bachelor's degree from Beihang University (Beijing University of

Aeronautics and Astronautics), Beijing, China, in 2005. He joined University of Florida

thereafter. Apart from his pursuit in engineering, his biggest interest lies in physics.





PAGE 1

JOINTTRACK: AN OPEN-SOURCE, EASILY EXPANDABLE PROGRAM FOR SKELETAL KINEMATIC MEASUREMENT USING MODEL-IMAGE REGISTRATION By SHANG MU A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2007 1

PAGE 2

2007 Shang Mu 2

PAGE 3

ACKNOWLEDGMENTS I wish to express sincere appreciation to Dr Banks, my advisor, who gave me enormous support on my quest. To all who waited so long either just to see it born or to actually use it, I thank you for your patience. Special thanks go to my father, who fo stered my enthusiasm in science. 3

PAGE 4

TABLE OF CONTENTS page ACKNOWLEDGMENTS ...............................................................................................................3 LIST OF TABLES ...........................................................................................................................5 LIST OF FIGURES .........................................................................................................................6 ABSTRACT .....................................................................................................................................8 1 INTRODUCTION ....................................................................................................9 2 METHODS .............................................................................................................11 Software Architecture .............................................................................................................11 Data Layer .......................................................................................................................11 Operation Layer / Plug-ins ..............................................................................................12 Other Fundamental Design Aspects ................................................................................13 3D-to-2D Registration ............................................................................................................13 Graphical User Interface (GUI) .......................................................................................14 Kinematic Outputs ...........................................................................................................15 Implemented Plug-ins ......................................................................................................16 Validation ...............................................................................................................................16 3 RESULTS ...............................................................................................................22 4 DISCUSSION .........................................................................................................23 LIST OF REFERENCES ...............................................................................................................26 BIOGRAPHICAL SKETCH .........................................................................................................27 4

PAGE 5

LIST OF TABLES Table page 2-1. List of current pl ug-ins in JointTrack. ....................................................................................21 3-1. Comparison between pose estimation results from JointTrack and KneeTrack for 9 in vivo radiographs. ................................................................................................................22 5

PAGE 6

LIST OF FIGURES Figure page 2-1. Data types and their reference relationshi p. Numbers indicate possibility of reference multiplicity. ........................................................................................................................17 2-2. Basic 3D-to-2D model image registration. .............................................................................17 2-3. The JointTrack Administrative window provides basic functionality for file input/output. .......................................................................................................................18 2-4. The main JointTrack display window shows the current image and models superimposed. ....................................................................................................................18 2-5. The Interaction Control window gives the us er control over regist ration objects, images, and registration methods. ...................................................................................................19 2-6. The Secondary View provides a 3D view of the relative positions of the registration objects. ...............................................................................................................................20 6

PAGE 7

LIST OF ABBREVIATIONS GUI: Graphical User Interface. Ice: Internet Comm unications Engine. ITK: Insight Toolkit. VTK: Visualization Toolkit. 7

PAGE 8

Abstract of Thesis Presen ted to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science JOINTTRACK: AN OPEN-SOURCE, EASILY EXPANDABLE PROGRAM FOR SKELETAL KINEMATIC MEASUREMENT USING MODEL-IMAGE REGISTRATION By Shang Mu December 2007 Chair: Scott Banks Major: Mechanical Engineering Skeletal kinematic measurement using modelimage registration has been available for more than fifteen years and has proven invaluab le in elucidating the dynamic function of knee replacements and other joints. However, technica l complexity and the time consuming nature of the analysis have restricted utilization to a fe w dozen research groups. To accelerate the entry of model-image registration for skeletal kinematics into practical clinical use and to enhance research collaboration, we developed JointTrack, an open-source, easily expandable program for radiographic model-image registration. In this paper, we describe the te chnical considerations and design choices made, and the capabilities of the resulting programs. First, we identify a software architecture that satisfies the requireme nts for a flexible and extensible registration platform. Second, a data and operational structur e are described that will accommodate a very wide range of 3D-to-2D model im age registration capabilities. Thir d, the platform core and basic registration functionality are described and implemented. Fina lly, correctness of the fully functional implementation is verified. 8

PAGE 9

CHAPTER 1 INTRODUCTION Model-image registration for the measuremen t of dynamic skeletal motion has been used for orthopaedic research since 1991. 1 Numerous groups have de veloped measurement tools based upon model-image registration and a pplied these in studies of natural 2, 3 and prosthetic 4-6 joints. Despite this research succe ss, none of these methods has been introduced into clinical use, only a few dozen research groups are active worl dwide, no standards for testing or reporting results are available, and collaboration is restricted by incompatible computer programs often built on proprietary and expensive software foundations. The principal of model-image registration fo r skeletal kinematic measurement is simple and many potential clinical uses can be identified. However, the potential for these methods to impact clinical care will not be realized until automated measurement capabilities progress far beyond what currently is available. We believe that providing an open-source software platform to easily implement model-image registration te chniques for skeletal kinematic measurements will catalyze efforts to develop measurement stan dards, enhance availability and utilization of such measures for research and clinical use, and spur collaborative development and innovation. Herein we report the development of JointT rack, an open-source software platform for performing skeletal kinematic measur ement with model-image registration. Our approach to the software platform was to create a very flexible foundation code that will permit easy implementation of functionali ty through a plug-in architecture. Program functionality, in terms of the number of image planes, num ber of moving objects, types of projection models, image metrics, and optimization routines is to be unrestricted by the foundation code. In particular, the platform is intended to facilitate implementation of novel registration methods incorporati ng knowledge of kinematic or m echanical constraints between 9

PAGE 10

bodies, and/or the inclusion of a computational joint model as part of the registration cost function. In the material that follows, we describe the considerations and choices made in the development of the JointTrack foundation code and capabilities. First, we identify a software architecture that satisfies the requirements for a flexible and extensible registration platform. Second, a data and operati onal structure are described that wi ll accommodate a very wide range of 3D-to-2D model image registra tion capabilities. Third, the platfo rm core and basic registration functionality are described and implemented. Fi nally, JointTrack is validated against the predecessor code (KneeTrack) by co mparison of implant kinematics measured from the same set of radiographs. 10

PAGE 11

CHAPTER 2 METHODS Software Architecture Two layers are defined for the software framework: data and operati on. The data layer is the core of JointTrack and is responsible for maintaining a master copy of most data. Operations using the data are achieved by plug-ins, and plugins comprise the operation layer. An open-source tool called Ice (sidebar: ZeroC, Inc., Palm Beach Gardens, FL) is the foundation for JointTracks modular architecture. Ice middleware functions handle communication between the multitude of functional software components. A major benefit of Ice is support for many common programming languages, meaning different JointTrack components can be coded in many modern languages. The Internet Communications Engine (Ice) is a modern alternative to object middleware such as CORBA or COM/DCOM/COM+, with support for C++, C#, Java, Python, Ruby, PHP, and Visual Basic. Ice is easy to learn, yet provides a powerful network infrastructure for demanding technical applications. Ice shines where technologies such as SOAP or XML-RPC are too slow, or do not provide sufficient scalability or security. For a comparison between Ice and CORBA, please see this page. Ice is free software, available with full source, and released under the terms of GNU General Public License (GPL). Commercial licenses are available for customers who wish to use Ice for closedsource software. From: http://www.zeroc.com/ Data Layer Several basic data types are defined for the 3D-to-2D registration framework (Figure 2-1). Radiographic and fluoroscopic data can be individual or sequences of images. JointTrack defines a Frame structure that contains one or several images acquired at the same instant in time. This definition makes analysis of single-plane, bi-plane and multi-plane image sequences fundamental to the JointTrack software framework. Another data type of particul ar interest is ModelPose which represents the position and orientation of a moving body. Body orientation can be described by a wide variety of different 11

PAGE 12

conventions, including Euler and Cardan angle sequences of ordered rotations. 7, 8 Orientations are stored as unit quaternions in the JointTrack platform core, which can be accessed in any alternate representation to enable seamless and convenient communicat ion between different plug-ins using common biomechanical conventions. Some frequently used angular conventions already are available, and support for new representations easily can be added without modification to the interface definition. Types in Figure 2-1 are defined similar to the following (Note: The code is in Slice, the simple language used by Ice for interface definitions.): class FrameData { int id; Frame* proxy; IntSeq vImages; }; class Frame extends FrameData { int GetID(); FrameData GetData(); void SetData(FrameData data, JTObserver* caller); ImageSeq GetImages(); void SetImageList(IntSeq imageIDs, JTObserver* caller); }; The functions are implemented in the platform co re. A plug-in can directly access a specific data element of an object using these functions, or ope rate on a local copy of the entire object using the GetData() function. Add itionally, a plug-in object can register itself as an observer of a data object, and receive notification whenever a change is made to the data object. Operation Layer / Plug-ins Built using object-oriented programming language s, plug-ins are naturally object-oriented. The fundamental inte rface can be written: 12

PAGE 13

interface Plugin { PluginObject* New(int objtype); void shutdown(); }; interface SomeObject extends PluginObject { (operations are defined here) }; A plug-in has a manager interface (the Plugin interface in the above code) capable of creating a new object carrying the operations needed to achieve its goal. Multiple objects of the same type can co-exist without inte rfering with each other. Object-image registration has several stereoty pic processes where al gorithmic details can vary widely, but the basic interface can be defi ned generally. In order to maximize modularity and reusability, several typical t ypes of object interfaces have b een defined, including Optimizer, Projector, ImageReader, ImageFilter and Metric. However, differentiation between two types of functionality does not necessarily separate th e implementation, and car e must be taken to combine appropriate functions. No restriction is imposed on the number of interfaces a single object can provide. Other Fundamental Design Aspects An on-demand pipeline-type processing scheme ve ry similar to that in VTK (Kitware, Inc. http://www.vtk.org/ ) is utilized. Every object can have one or more input ports to receive images, and one or more output por ts to connect to input ports of other objects. 3D-to-2D Registration The process of a basic 3D-to-2D model imag e registration is shown in Figure 2-2. In JointTrack, the following object types are used: Projector: A projector generates 2D images from 3D models with specified poses and projection parameters. 13

PAGE 14

Metric: A metric takes two sets of images as input, and outputs a score indicating the similarity between the two sets of images. An image set can contain only one image or multiple images, for example, a grey-scale image and an edge-detected version of the same image. A multi-plane registration metric may ta ke more than two sets of images, and may use single-plane metrics to compute the score. A score may be scalar or vector valued. Optimizer: Optimizers are standard numerical optim ization algorithms, such as simulated annealing. The output of an optimizer is simply a vector of numbers. CostFunction: Cost functions generate scores fo r the optimizer. In our framework, a CostFunction is responsible of (1) translating the output of th e optimizer, which is just a vector of numbers, into the pose(s) of one or more 3D models; (2) invoking the projection procedure on the projector object(s); and (3) returning the score generated by a metric. A CostFunction usually is tightly coupled with a Registration and commonly implemented in the same plug-in as the Registration. Registration: Registration is responsible to organi ze the 3D-to-2D registration process. Here, a proper Optimizer is connected to the Co st Function. It also connects the output of a Projector to a proper Metric and potentially adds certain image processing plug-ins between them. These components define the registration fr amework. The only difference from Figure 2-2 is that model poses are not directly transferred between components: instead they are first saved to the data layer and then retrieved by appropr iate components, so that translation between different pose representations is handled automatically. This structure is not designed for algorithms that utiliz e 3D distance maps. 4, 9 However, a distance map algorithm is just a combination of a projector and a metric (although with slightly different meaning from the above definition), and can still utilize other appropr iate plug-ins and the platform core. Graphical User Interface (GUI) Model registration often requires human s upervision. At the st arting point of the registration, an initial gu ess is required from a human operator. To feed data into the program and to initialize the registration, a GUI, or at least a command-line front-end has to be provided. Next to nothing has been defined for how the user interface should work. Different research groups are completely free to implement their own user interface for their special needs. 14

PAGE 15

Because every piece of data is observable, a GUI has the ability to watch the progress of a registration job, whereas a regi stration component has no obligation of taking account of updating the GUI. A simple GUI has been implemented that repl icates the critical functionality of the predecessor program (KneeTrack) a nd adds some new features. The GUI uses a windowed tool approach, like PhotoShop for example, rather than the monolithic and complex KneeTrack window. An administrative window (Figure 2-3) allows user s to open/close projects, import/export models and images, and save kinematics of the moving bodies. A main display window (Figure 2-4) shows the cu rrent radiographic view with models of registration objects superimposed. Unlike Knee-Track, this window can be arbitrarily large or small, depending on the native size of the radiographic images. The Interaction Control windo w (Figure 2-5) allows users to change how the models and image are displayed, modify parameters in basic image processing, and control the registration process. The Secondary Display window (Figure 2-6) shows the current relative poses of the registration objects at any viewing aspe ct the user wishes. There is a simple click and drag user interface to change the viewing orientation in a manner similar to common CAD programs. Users can bring up configuration dialog boxes to change the settings for plug-in objects. The GUI currently supports single-plane registration. Kinematic Outputs The JointTrack data layer provi des an interface to sa ve/load a single pose, and to save/load a sequence of poses from a specific 3D model. Files are saved in comma-delimited ASCII format to permit maximum flexibility and avoid obsolescence. 15

PAGE 16

Implemented Plug-ins Table 2-1 is an incomplete list of the plugins that already are implemented and tested. Together they form a fully functional 3D-to-2D registration program with a graphical user interface. Validation Validation was carried out by co mparing results for a cementless total knee arthroplasty in 9 x-ray images against previous results from KneeTrack. The same mobile bearing total knee replacement is present in all the images. JointTra ck used a combined grayscale and edge metric with simulated annealing numerical minimization. KneeTrack used an edge-distance metric with non-linear least-squares minimiza tion The human operator was skil led in the use of KneeTrack, and blinded to the results until after the comparisons were made. 16

PAGE 17

Figure 2-1. Data types and their re ference relationship. Numbers indicate possibility of reference multiplicity. Figure 2-2. Basic 3D-to-2D model image registration. 17

PAGE 18

Figure 2-3. The JointTrack Administrative wind ow provides basic functionality for file input/output. Figure 2-4. The main JointTrack display wi ndow shows the current image and models superimposed. 18

PAGE 19

Figure 2-5. The Interaction Contro l window gives the user contro l over registration objects, images, and registration methods. 19

PAGE 20

Figure 2-6. The Secondary View provi des a 3D view of the relative positions of the registration objects. 20

PAGE 21

Table 2-1. List of current plug-ins in JointTrack.* Plug-in name Object type(s) provided Opensource libraries used Comments JTRendererVTK Projector, GUI VTK GUIwx GUI wxWidgets, Boost C++ Libraries OptiSimAnneal_Ice Opimizer Simulated annealing algorithm. CostFuncSFMahfouz Metric/ CostFunction A metric based on method from Mahfouz 5 and a corresponding basic cost function. MyMahfouzRegistration Registration/ CostFunction A registration routine that uses CostFuncSFMahfouz and OptiSimAnneal_Ice. ReaderTIFFVTK ImageReader VTK ReaderBMPVTK ImageReader VTK FilterCannyEdge ImageFilter CImg Canny edge detector FilterCannyEdgeOpenCV ImageFilter OpenCV Canny edge detector from the OpenCV library All plug-ins are currently implemented on Windows. 21

PAGE 22

CHAPTER 3 RESULTS There were significant differe nces in z-values between the two data sets (1009mm) because the z-origin in KneeTrack was at the image plane, while the z-origin in JointTrack is at the x-ray focus (Table 3-1). There was a significant difference of 0.43 and 0.4 for femoral and tibial x-rotations. No other comparisons of kinematic paramete rs revealed a significant difference. Table 3-1. Comparison between pose estimation results from JointTrack and KneeTrack for 9 in vivo radiographs. Position (mm)* Orientation ( )* x y Z x y z Standard deviation of difference 0.41 0.24 4.46 0.15 0.24 0.49 Average difference 0.18 -0.10 1009 0.43 -0.04 -0.25 Femur component t-test 0.23 0.27 <1E-3 <1E-3 0.60 0.17 Standard deviation of difference 0.41 0.31 4.53 0.39 0.77 0.54 Average difference 0.04 -0.16 1009 0.40 0.07 0.25 Tibia component t-test 0.76 0.16 <1E-3 0.02 0.78 0.20 *The reference coordinate system has the x-axis horizontal (positive right), y-axis vertical (positive upward) and z-axis projecting outward fr om the image plane. The rotations are ordered 3-1-2 sequences for body-fixe d coordinate systems. 22

PAGE 23

CHAPTER 4 DISCUSSION Over the past 15 years, three-dimensional measurements of skeletal motion by modelimage registration have provided information critic al to the improvement of joint prostheses and the understanding of natural joint mechanics. However, the development and evolution of this measurement approach is limited to a relative few specialist groups worldwide, and practical clinical implementation is not yet feasible. The go al of JointTrack is to provide an open-source foundation upon which existing a nd newly interested parties can freely and easily add and explore ideas for model-image registration. By facilitating easy evolut ion and collaboration, JointTrack could prove a useful tool immediately for research but may ultimately spur the required advances for practical clinical measurement of skeletal kinematics. The validation exercise demonstrates the same results are produced by JointTrack as its predecessor, KneetTrack. The z-translations diffe red between the two app lications because of a difference in coordinate system origin, not becau se of a difference in pose measurement. The xaxis rotations exhibited a stat istically significant difference of less than 0.5, which is unsurprising given different metrics and optimizers were used on a relatively small set of images. This difference is not clinically significan t, and likely would not persist if similar metrics/optimizers or a greater number of im ages were used for the validation step. In considering 3D-to-2D registration, an obvious question is Why not use ITK? First, ITK (Kitware, Inc., http://www.itk.org/ ) works exclusively with C++. ITK provides bindings to scripting languages like Python and Tcl, but many common operations for 3D-to-2D registration need to be performed by subclassing. ITK co mpletely relies upon vi rtual method overriding, but does not provide virtual functi on hooks in its scripting langua ge bindings rendering useless subclassing in Python or Tcl. The pixel by pixe l access or access by index scheme in ITKs 23

PAGE 24

registration framework may be too expensive to cross most inter-language boundaries. In essence, ITKs scripting language bindings pr ovide only a basic user interface, not the flexibility and power of a dev eloper interface. Second, ITK is completely software based. Its volume rendering is unacceptably slow for kine matic measurements, where often hundreds of images per subject must be processed. The wi de availability of ope n-source libraries and standard methods for hardware acceleration argue for the inclusion of these capabilities in a practical 3D-to-2D registration framework. Third, ITK appears not to provide a direct method to create a binary projection image from a surface model, which is the most basic operation in any 3D rendering library. Black-white projection images from surface models are most often used for metallic implants (which are radiopaque). Fourth all current customizable registration methods in ITK can only use single valued optimizers a nd cost functions (KneeTra ck utilized an error vector-based metric with non-linear least squares mi nimization). The goal of JointTrack is not to replace ITK, which is a vast library incorporati ng a wide array of regist ration functions. The aim of JointTrack is specific to performing skel etal kinematic measurement using 3D-2D model registration techniques. By narro wing the application scope and providing application-specific common structures, JointTrack simplifies the defi nition and implementation of new capabilities and should work productively for both researcher s analyzing skeletal motions and engineers exploring new registration methods Developers still can use ITK or other libraries for individual JointTrack plug-ins. The current implementation of JointTrack has some limitations. The current imaging pipeline is simple and only suppor ts type byte (in Ice) or u nsigned char (in C++). A more robust structure can be implement ed, but at the expense of a mo re complicated structure and more challenging prototyping. One op tion is to put image operations that require other data types 24

PAGE 25

into the same plug-in to escape the limitation of the external interface. Plug-in management in the JointTrack core can be im proved. Currently, if one plug-in is dependent upon another plugin, a configuration file is required to locate the other plug-i n. Ideally, locating and starting a proper plug-in should be handled at run-time. Despite these limitations, JointTrack could dram atically improve the current situation in the field. Different optimizers, me trics, or image processing r outines can be easily added. New approaches more easily can be tested. Any component can be implemented in scripting language for the benefit of quick implementation and de bugging. Important libraries available in only one language do not need to be porte d to a different language for us e in JointTrack. Perhaps most importantly, the open source, modular nature of JointTrack will facilitate collaborative development of novel technique s and standardized methods. The flexibility of the JointTrack structure will permit incorporation of novel registration methods that go beyond traditional image based metr ics. For example, a computational model of the joint may be embedded into the registration r outine, e.g. as part of a CostFunction. In this scenario, geometric inte rference between joint surfaces will prevent non-physiologic poses from being tested or accepted. Muscles and ligaments w ill control and constrain the motion of joints. The pose of one bone articulating with multiple b ones easily can be initialized for registration from the poses of adjacent bones (e.g. spinal vertebra or the hind-foot). These geometric and mechanical constraints will shrink the pose op timization search space and potentially will increase accuracy and automation for 3D-2D regi stration for skeletal kinematic measurements. 25

PAGE 26

LIST OF REFERENCES 1. Banks SA, Riley PO, Spector C, Hodge WA. 1991. In vivo bearing motion with meniscal bearing TKR. Orthop Trans 15: 544. 2. You BM, Siy P, Anderst W, Tashman S. 2001. In vivo measuremen t of 3-D skeletal kinematics from sequences of biplane radiogr aphs: application to knee kinematics. IEEE Trans Med Imaging 20: 514-25. 3. Komistek RD, Dennis DA, Mahfouz M. 2003. In vivo fluoroscopic analysis of the normal human knee. Clin Orthop Relat Res: 69-81. 4. Zuffi S, Leardini A, Catani F, et al. 1999. A model-based method for the reconstruction of total knee replacement kinematics. IEEE Trans Med Imaging 18: 981-91. 5. Mahfouz MR, Hoff WA, Komistek RD Dennis DA. 2003. A robust method for registration of three-dimensional knee implan t models to two-dimensional fluoroscopy images. IEEE Trans Med Imaging 22: 1561-74. 6. Kaptein BL, Valstar ER, Stoel BC, et al. 2003. A new model-based RSA method validated using CAD models and models fr om reversed engineering. J Biomech 36: 87382. 7. Grood ES, Suntay WJ. 1983. A joint coordinate system for the clinic al description of three-dimensional motions: application to the knee. J Biomech Eng 105: 136-44. 8. Tupling SJ, Pierrynowski MR. 1987. Use of carda n angles to locate rigid bodies in threedimensional space. Med Biol Eng Comput 25: 527-32. 9. Lavallee S, Szeliski R. 1 995. Recovering the posi tion and orientation of free-form objects from image contours using 3D distance maps IEEE Trans Pattern Anal Mach Intell 17: 378-90. 26

PAGE 27

BIOGRAPHICAL SKETCH Shang Mu received his bachelors degree from Beihang University (Beijing University of Aeronautics and Astronautics), Beijing, China, in 2005. He joined University of Florida thereafter. Apart from his pursu it in engineering, his biggest interest lies in physics. 27