Difference between revisions of "Human body surface area"
From Pynomo
(→Construction of the nomograph) |
(→Source code) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
== Theory and background == | == Theory and background == | ||
Calculated body surface area (BSA) of human body is according to Ref. <ref>http://en.wikipedia.org/wiki/Body_surface_area</ref> | Calculated body surface area (BSA) of human body is according to Ref. <ref>http://en.wikipedia.org/wiki/Body_surface_area</ref> | ||
− | |||
<ref> Du Bois & Du Bois, ''Arch Intern Med'' 1916;17:863:</ref> | <ref> Du Bois & Du Bois, ''Arch Intern Med'' 1916;17:863:</ref> | ||
:<math>{BSA}=(71.84 \times {weight \mbox{ (kg)}}^{0.425} \times {height \mbox{ (cm)}}^{0.725})\ / \ 10000</math> | :<math>{BSA}=(71.84 \times {weight \mbox{ (kg)}}^{0.425} \times {height \mbox{ (cm)}}^{0.725})\ / \ 10000</math> | ||
− | |||
− | |||
− | |||
== Construction of the nomograph == | == Construction of the nomograph == | ||
Line 24: | Line 20: | ||
for [[type 1]] block. | for [[type 1]] block. | ||
+ | |||
==== References ==== | ==== References ==== | ||
<references /> | <references /> | ||
Line 44: | Line 41: | ||
Body Surface Area = 0.007184* (Weight(kg)**0.425)*(Height(cm)**0.725) | Body Surface Area = 0.007184* (Weight(kg)**0.425)*(Height(cm)**0.725) | ||
− | Copyright (C) 2007- | + | Copyright (C) 2007-2009 Leif Roschier |
This program is free software: you can redistribute it and/or modify | This program is free software: you can redistribute it and/or modify | ||
Line 59: | Line 56: | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
""" | """ | ||
− | from nomographer import * | + | from pynomo.nomographer import * |
# BSA (m2) | # BSA (m2) | ||
BSA_params={ | BSA_params={ | ||
− | 'u_min':0. | + | 'u_min':0.6, |
'u_max':3.0, | 'u_max':3.0, | ||
'function':lambda u:-log(u/0.007184), | 'function':lambda u:-log(u/0.007184), | ||
Line 70: | Line 67: | ||
'tick_side':'left', | 'tick_side':'left', | ||
'tick_text_levels':2, | 'tick_text_levels':2, | ||
+ | 'scale_type':'linear smart', | ||
} | } | ||
Line 80: | Line 78: | ||
'tick_levels':3, | 'tick_levels':3, | ||
'tick_text_levels':2, | 'tick_text_levels':2, | ||
− | 'scale_type':'linear', | + | 'scale_type':'linear smart', |
'title_x_shift':0.8, | 'title_x_shift':0.8, | ||
} | } | ||
Line 90: | Line 88: | ||
'function':lambda u:log(u**0.725), | 'function':lambda u:log(u**0.725), | ||
'title':r'h (cm)', | 'title':r'h (cm)', | ||
− | 'tick_levels': | + | 'tick_levels':4, |
− | 'tick_text_levels': | + | 'tick_text_levels':4, |
'tick_side':'left', | 'tick_side':'left', | ||
'title_x_shift':-0.8, | 'title_x_shift':-0.8, | ||
+ | 'scale_type':'linear smart', | ||
} | } | ||
Line 102: | Line 101: | ||
'f2_params':BSA_params, | 'f2_params':BSA_params, | ||
'f1_params':weight_params, | 'f1_params':weight_params, | ||
− | 'f3_params':height_params} | + | 'f3_params':height_params, |
+ | 'isopleth_values':[[85,'x',183]]} | ||
weight_params_lbs={ | weight_params_lbs={ | ||
Line 110: | Line 110: | ||
'function':lambda u:log(u**0.425), | 'function':lambda u:log(u**0.425), | ||
'title':r'm (lbs)', | 'title':r'm (lbs)', | ||
− | 'tick_levels': | + | 'tick_levels':4, |
'align_func':lambda u:u/2.2, | 'align_func':lambda u:u/2.2, | ||
− | 'tick_text_levels': | + | 'tick_text_levels':4, |
'tick_side':'left', | 'tick_side':'left', | ||
− | 'scale_type':'linear', | + | 'scale_type':'linear smart', |
'title_x_shift':-0.8, | 'title_x_shift':-0.8, | ||
} | } | ||
Line 120: | Line 120: | ||
block_2_params={ | block_2_params={ | ||
'block_type':'type_8', | 'block_type':'type_8', | ||
− | 'f_params':weight_params_lbs | + | 'f_params':weight_params_lbs, |
+ | 'isopleth_values':[['x']] | ||
} | } | ||
Line 131: | Line 132: | ||
'tick_levels':4, | 'tick_levels':4, | ||
'align_func':lambda u:u*2.54, | 'align_func':lambda u:u*2.54, | ||
− | 'tick_text_levels': | + | 'tick_text_levels':4, |
'tick_side':'right', | 'tick_side':'right', | ||
− | 'scale_type':'linear', | + | 'scale_type':'linear smart', |
'title_x_shift':0.8, | 'title_x_shift':0.8, | ||
} | } | ||
Line 139: | Line 140: | ||
block_3_params={ | block_3_params={ | ||
'block_type':'type_8', | 'block_type':'type_8', | ||
− | 'f_params':height_params_inch | + | 'f_params':height_params_inch, |
+ | 'isopleth_values':[['x']] | ||
} | } | ||
Line 148: | Line 150: | ||
'paper_width':15.0, | 'paper_width':15.0, | ||
'block_params':[block_1_params,block_2_params,block_3_params], | 'block_params':[block_1_params,block_2_params,block_3_params], | ||
− | 'transformations':[('rotate',0.01),('scale paper',)], | + | 'transformations':[('rotate',0.01),('polygon',),('scale paper',)], |
'title_str':r'Du Bois \& Du Bois: $BSA = 0.007184 m^{0.425} h^{0.725}$' | 'title_str':r'Du Bois \& Du Bois: $BSA = 0.007184 m^{0.425} h^{0.725}$' | ||
} | } | ||
Nomographer(main_params) | Nomographer(main_params) | ||
</source> | </source> |
Latest revision as of 19:06, 21 October 2009
Human body surface area | |
![]() | |
author | Leif Roschier |
---|
Contents
Theory and background
Calculated body surface area (BSA) of human body is according to Ref. [1] [2]
- [math]{BSA}=(71.84 \times {weight \mbox{ (kg)}}^{0.425} \times {height \mbox{ (cm)}}^{0.725})\ / \ 10000[/math]
Construction of the nomograph
A nomograph is illustrated at [3] that guided the construction of the nomograph. A type 1 was chosen and dual scales were put by using type 8 singular blocks.
Equation was written as
[math]-\log(\frac{BSA}{0.007184})+\log(w^{0.425})+\log(h^{0.725})=0 [/math]
for type 1 block.
References
- ↑ http://en.wikipedia.org/wiki/Body_surface_area
- ↑ Du Bois & Du Bois, Arch Intern Med 1916;17:863:
- ↑ http://www.projectrho.com/nomogram/compound.html
Generated nomograph
Body surface area | |
---|---|
![]() |
|
Generated portable document file (pdf): | File:Ex dubois.pdf |
Source code
""" ex_dubois.py Body Surface Area (BSA) according to Du Bois & Du Bois, Arch Intern Med 1916;17:863: Body Surface Area = 0.007184* (Weight(kg)**0.425)*(Height(cm)**0.725) Copyright (C) 2007-2009 Leif Roschier This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. """ from pynomo.nomographer import * # BSA (m2) BSA_params={ 'u_min':0.6, 'u_max':3.0, 'function':lambda u:-log(u/0.007184), 'title':r'BSA (m$^2$)', 'tick_levels':3, 'tick_side':'left', 'tick_text_levels':2, 'scale_type':'linear smart', } weight_params={ 'tag':'mass', 'u_min':15.0, 'u_max':200.0, 'function':lambda u:log(u**0.425), 'title':r'm (kg)', 'tick_levels':3, 'tick_text_levels':2, 'scale_type':'linear smart', 'title_x_shift':0.8, } height_params={ 'tag':'height', 'u_min':75.0, 'u_max':220.0, 'function':lambda u:log(u**0.725), 'title':r'h (cm)', 'tick_levels':4, 'tick_text_levels':4, 'tick_side':'left', 'title_x_shift':-0.8, 'scale_type':'linear smart', } block_1_params={ 'block_type':'type_1', 'width':10.0, 'height':10.0, 'f2_params':BSA_params, 'f1_params':weight_params, 'f3_params':height_params, 'isopleth_values':[[85,'x',183]]} weight_params_lbs={ 'tag':'mass', 'u_min':15.0*2.2, 'u_max':200.0*2.2, 'function':lambda u:log(u**0.425), 'title':r'm (lbs)', 'tick_levels':4, 'align_func':lambda u:u/2.2, 'tick_text_levels':4, 'tick_side':'left', 'scale_type':'linear smart', 'title_x_shift':-0.8, } block_2_params={ 'block_type':'type_8', 'f_params':weight_params_lbs, 'isopleth_values':[['x']] } height_params_inch={ 'tag':'height', 'u_min':75.0/2.54, 'u_max':220.0/2.54, 'function':lambda u:log(u**0.725), 'title':r'h (inch)', 'tick_levels':4, 'align_func':lambda u:u*2.54, 'tick_text_levels':4, 'tick_side':'right', 'scale_type':'linear smart', 'title_x_shift':0.8, } block_3_params={ 'block_type':'type_8', 'f_params':height_params_inch, 'isopleth_values':[['x']] } main_params={ 'filename':'ex_dubois.pdf', 'paper_height':20.0, 'paper_width':15.0, 'block_params':[block_1_params,block_2_params,block_3_params], 'transformations':[('rotate',0.01),('polygon',),('scale paper',)], 'title_str':r'Du Bois \& Du Bois: $BSA = 0.007184 m^{0.425} h^{0.725}$' } Nomographer(main_params)