This example illustrates the fitting of tri-linear initial volume meshes of the human lung lobes to the data obtained from the visible human anatomical sections to create tri-cubic (Hermite) volume meshes. Data points are projected on to the faces of the volume elements and the face parameters that minimise the sum of the square of the error(Euclidean distance) are determined. Sobelov smoothing is also incorporated as a penalty function to the objective function to control the excessive curvature of arcs and surfaces of the faces. For more details of face fitting see examples 21g and 21h and for the details of theoretical analysis of fitting see Geometric modeling of the human torso using cubic hermite elements, Bradley et. al.
The com file in this example is only for fitting of left upper lobe. For fitting of other lobes use the following com files.
left_lower.com , right_upper.com , right_middle.com , right_lower.com . All necessary input files can be found at the end of this page.
Created by Kumar Mithraratne.
![]() |
|
|
Initial Linear Volume Mesh |
Anterior View of Fitted Lobes |
Posterior View of Fitted Lobes |
${lobe} = 'left_upper' ${tot_itt}=4 ${off}=0 ${off_data}=0 fem def para;r;all_lobe;example fem def coord;r;all_lobe;example fem def base;r;all_lobe_cubic;example fem def node;r;${lobe};example fem def elem;r;${lobe};example fem update nodes derivative 1 linear fem update nodes derivative 2 linear fem update nodes derivative 3 linear fem update field from geometry fem def data;r;${lobe};example fem export data;${lobe} as ${lobe} offset ${off_data}; #fem def xi;c closest_face external #fem def xi;w;${lobe}_0 closest_face external fem def xi;r;${lobe}_0;example closest_face external fem li data error for ($fit_itt=1; $fit_itt<=$tot_itt; $fit_itt=$fit_itt+1) { fem def fit;r;${lobe}_${fit_itt};example geometry fem fit fem update node fit fem update scale_factor normalise # fem def xi;c closest_face external old # fem def xi;w;${lobe}_${fit_itt} closest_face external fem def xi;r;${lobe}_${fit_itt};example closest_face external system "echo ' ======================================================' " fem li data error system "echo ' ITERATION ${fit_itt} DONE' " system "echo ' ======================================================' " } fem def nodes;w;${lobe}_fitted fem def elem;w;${lobe}_fitted fem export nodes;${lobe}_fitted as ${lobe}_fitted offset ${off} fem export elem;${lobe}_fitted as ${lobe}_fitted offset_node ${off} offset_elem ${off}
fem list nodes
Name Modified Size
example_971.com 12-Nov-2002 1.4k all_lobe.ipcoor 12-Nov-2002 570 all_lobe.ippara 12-Nov-2002 5.9k all_lobe_cubic.ipbase 12-Nov-2002 4.4k left_lower.com 12-Nov-2002 1.4k left_lower.exdata 12-Nov-2002 103k left_lower.ipcoor 12-Nov-2002 684 left_lower.ipdata 12-Nov-2002 127k left_lower.ipelem 12-Nov-2002 14k left_lower.ipnode 12-Nov-2002 28k left_lower.ippara 12-Nov-2002 5.9k left_lower_0.ipxi 12-Nov-2002 162k left_lower_1.ipfit 13-Apr-2007 7.9k left_lower_1.ipxi 12-Nov-2002 162k left_lower_2.ipfit 13-Apr-2007 7.9k left_lower_2.ipxi 12-Nov-2002 162k left_lower_fitted.exelem 12-Nov-2002 93k left_lower_fitted.exnode 12-Nov-2002 102k left_lower_fitted.ipelem 12-Nov-2002 14k left_lower_fitted.ipnode 12-Nov-2002 158k left_lower_linear.exelem 12-Nov-2002 35k left_lower_linear.exnode 12-Nov-2002 9.1k left_upper.exdata 12-Nov-2002 127k left_upper.ipdata 12-Nov-2002 158k left_upper.ipelem 12-Nov-2002 13k left_upper.ipnode 12-Nov-2002 22k left_upper_0.ipxi 12-Nov-2002 200k left_upper_1.ipfit 13-Apr-2007 2.1k left_upper_1.ipxi 12-Nov-2002 200k left_upper_2.ipfit 13-Apr-2007 2.1k left_upper_2.ipxi 12-Nov-2002 200k left_upper_3.ipfit 13-Apr-2007 2.1k left_upper_3.ipxi 12-Nov-2002 200k left_upper_4.ipfit 13-Apr-2007 2.1k left_upper_4.ipxi 12-Nov-2002 200k left_upper_5.ipfit 13-Apr-2007 2.1k left_upper_fitted.exelem 12-Nov-2002 98k left_upper_fitted.exnode 12-Nov-2002 121k left_upper_fitted.ipelem 12-Nov-2002 13k left_upper_fitted.ipnode 12-Nov-2002 181k left_upper_linear.exelem 12-Nov-2002 38k left_upper_linear.exnode 12-Nov-2002 10k right_lower.com 12-Nov-2002 1.5k right_lower.exdata 12-Nov-2002 91k right_lower.ipdata 12-Nov-2002 114k right_lower.ipelem 12-Nov-2002 10k right_lower.ipnode 12-Nov-2002 14k right_lower_0.ipxi 12-Nov-2002 143k right_lower_1.ipfit 13-Apr-2007 3.4k right_lower_1.ipxi 12-Nov-2002 143k right_lower_2.ipfit 13-Apr-2007 3.4k right_lower_2.ipxi 12-Nov-2002 143k right_lower_3.ipfit 13-Apr-2007 3.4k right_lower_3.ipxi 12-Nov-2002 143k right_lower_fitted.exelem 12-Nov-2002 80k right_lower_fitted.exnode 12-Nov-2002 99k right_lower_fitted.ipelem 12-Nov-2002 11k right_lower_fitted.ipnode 12-Nov-2002 148k right_lower_linear.exelem 12-Nov-2002 31k right_lower_linear.exnode 12-Nov-2002 8.5k right_middle.com 12-Nov-2002 1.5k right_middle.exdata 12-Nov-2002 63k right_middle.ipdata 12-Nov-2002 79k right_middle.ipelem 12-Nov-2002 6.8k right_middle.ipnode 12-Nov-2002 12k right_middle_0.ipxi 12-Nov-2002 99k right_middle_1.ipfit 13-Apr-2007 3.4k right_middle_1.ipxi 12-Nov-2002 99k right_middle_2.ipfit 13-Apr-2007 3.4k right_middle_2.ipxi 12-Nov-2002 99k right_middle_fitted.exelem 12-Nov-2002 53k right_middle_fitted.exnode 12-Nov-2002 66k right_middle_fitted.ipelem 12-Nov-2002 7.0k right_middle_fitted.ipnode 12-Nov-2002 99k right_middle_linear.exelem 12-Nov-2002 20k right_middle_linear.exnode 12-Nov-2002 5.7k right_upper.com 12-Nov-2002 1.5k right_upper.exdata 12-Nov-2002 97k right_upper.ipdata 12-Nov-2002 122k right_upper.ipelem 12-Nov-2002 10k right_upper.ipnode 12-Nov-2002 18k right_upper_0.ipxi 12-Nov-2002 153k right_upper_1.ipfit 13-Apr-2007 6.6k right_upper_1.ipxi 12-Nov-2002 153k right_upper_2.ipfit 13-Apr-2007 8.3k right_upper_2.ipxi 12-Nov-2002 153k right_upper_3.ipfit 13-Apr-2007 8.3k right_upper_3.ipxi 12-Nov-2002 153k right_upper_fitted.exelem 12-Nov-2002 80k right_upper_fitted.exnode 12-Nov-2002 99k right_upper_fitted.ipelem 12-Nov-2002 11k right_upper_fitted.ipnode 12-Nov-2002 148k right_upper_linear.exelem 12-Nov-2002 31k right_upper_linear.exnode 12-Nov-2002 8.5k test_output.com 12-Nov-2002 15
Name Modified Size
examples_9_97_971.tar.gz 14-Apr-2007 1.4M
Status | Tested | Real time (s) | |
hpc_cm64_irix | Success | Thu Apr 1 10:53:44 2004 | 121 |
hpc_cm_irix | Success | Fri Jul 29 01:32:43 2005 | 101 |
hpc_cmo64_irix | Success | Thu Apr 1 10:52:22 2004 | 38 |
hpc_cmo_irix | Success | Sun Jul 31 01:38:26 2005 | 32 |
rs6000-aix | |||
cm | Success | Wed Mar 4 01:13:27 2009 | 9 |
cm-debug | Success | Mon Mar 2 01:23:24 2009 | 56 |
cm64 | Success | Wed Mar 4 01:13:31 2009 | 9 |
cm64-debug | Success | Tue Mar 3 01:25:36 2009 | 55 |
x86_64-linux | |||
cm | Success | Sun Mar 6 00:01:16 2016 | 4 |
cm-debug | Success | Sat Mar 5 00:03:37 2016 | 12 |
Success | hpc_cm_irix: | cmiss_test.log.retain. | |
Success | hpc_cmo_irix: | cmiss_test.log.retain. | |
rs6000-aix | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. | |
Success | cm64: | cmiss_test.log.retain. | |
Success | cm64-debug: | cmiss_test.log.retain. | |
x86_64-linux | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. |
Success | hpc_cm64_irix: | ndiff test: no significant differences with generic answer. | |
Success | hpc_cm_irix: | ndiff test: no significant differences with generic answer. | |
Success | hpc_cmo64_irix: | ndiff test: no significant differences with generic answer. | |
Success | hpc_cmo_irix: | ndiff test: no significant differences with generic answer. | |
rs6000-aix | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm64: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug: | ndiff test: no significant differences with generic answer. | |
x86_64-linux | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. |
Html last generated: Sun Mar 6 05:50:35 2016
Input last modified: Fri Apr 13 10:37:20 2007