Skip to content

Commit

Permalink
Added conda recipe for yeadon 1.3.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
moorepants committed Aug 27, 2017
1 parent 310eaac commit 6b1a471
Show file tree
Hide file tree
Showing 4 changed files with 281 additions and 0 deletions.
21 changes: 21 additions & 0 deletions conda-recipes/yeadon-1.3.0/ice_skating.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from numpy import deg2rad
import yeadon

h = yeadon.Human('male1.txt')
h.set_CFG('CA1extension', deg2rad(-29))
h.set_CFG('CA1adduction', deg2rad(9))
h.set_CFG('CA1rotation', deg2rad(-60))
h.set_CFG('CB1extension', deg2rad(-29))
h.set_CFG('CB1rotation', deg2rad(58))
h.set_CFG('A1A2extension', deg2rad(-120))
h.set_CFG('B1B2extension', deg2rad(-124))

print('Moment of inertia about vertical axis')
print('-------------------------------------')
print('arms tucked in: {0} kg-m^2'.format(h.inertia[2, 2]))

h = yeadon.Human('male1.txt')
h.set_CFG('CA1adduction', deg2rad(-90))
h.set_CFG('CB1abduction', deg2rad(90))

print('arms out: {0} kg-m^2'.format(h.inertia[2, 2]))
13 changes: 13 additions & 0 deletions conda-recipes/yeadon-1.3.0/import_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import yeadon
import yeadon.exceptions
import yeadon.human
import yeadon.inertia
import yeadon.segment
import yeadon.solid
import yeadon.ui
import yeadon.utils
import yeadon.tests
try:
import yeadon.gui
except ImportError: # mayavi not installed
pass
197 changes: 197 additions & 0 deletions conda-recipes/yeadon-1.3.0/male1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
# yeadon. (cld72@cornell.edu)
# Measurement input template.
# Lines beginning with pound are comment lines.
# There are 95 measurements, consisting of lengths, perimeters, widths, and
# depths.
#
# For details about how the measurements are to be taken, consult the journal
# article Yeadon 1989-ii or the documentation
# <http://packages.python.org/yeadon/> of this python package.
#
# CONVERSION FACTOR to convert measurements INTO meters
# (set to 1 if measurements are in meters, 0.001 if measurements are in mm,
# 0.0254 if measurements are in inches)
measurementconversionfactor : .01
#
##############################################################################
# TORSO
# Ls0 hip joint centre
# Ls1 umbilicus
# Ls2 lowest front rib
# Ls3 nipple
# Ls4 shoulder joint centre
# Ls5 acromion
# Ls6 beneath nose
# Ls7 above ear
# Ls8 top of head
#
# lengths to levels 1 through 5 are measured from Ls0, the hip centre:
Ls1L: 4.9
Ls2L: 18.8
Ls3L: 33.4
Ls4L: 47.2
Ls5L: 50.2
# lengths to levels 6 through 8 are measured from Ls5, the acromion:
Ls6L: 14.9
Ls7L: 19
Ls8L: 29.2
#
# stadium parameters:
Ls0p: 86.9
Ls1p: 75
Ls2p: 73.9
Ls3p: 80.6
Ls5p: 37.5
Ls6p: 49.8
Ls7p: 57
#
# stadium widths:
# width nor depth are measured for Ls5, acromion, because its shape is set by
# estimates from Ls4, shoulder joint centre.
Ls0w: 32.4
Ls1w: 27.4
Ls2w: 25.1
Ls3w: 28
Ls4w: 30.3
#
# depth: the presence of the shoulder joint at Ls4, the shoulder joint centre,
# makes it difficult to measure the width of the Ls4 stadium. Therefore the
# depth (=2r) of the stadium is measured instead.
Ls4d: 15.1
# torso (s) levels 5 through 8 do not have widths because they are circles EDIT.
#
##############################################################################
# LEFT ARM
#
# lengths measured from La0, shoulder joint centre:
# La1L is not measured because it is set to be .5 * La2L.
# Accordingly, La1p should be measured at the location .5 * La2L
La2L: 26.1
La3L: 33
La4L: 50.8
# lengths measured from La4, wrist joint centre:
La5L: 3
La6L: 8.8
La7L: 17.7
#
# stadium perimeters:
La0p: 28.5
La1p: 24.2
La2p: 23
La3p: 23.5
La4p: 15.4
La5p: 21
La6p: 21.5
La7p: 10.7
#
# stadium widths:
# arm levels 0-3 are do not have widths because they are circles
La4w: 5
La5w: 7.3
La6w: 9.8
La7w: 4.9
#
##############################################################################
# RIGHT ARM
#
# lengths measured from Lb0, shoulder joint centre:
# Lb1L is not measured because it is set to be .5 * Lb2L.
# Accordingly, Lb1p should be measured at the location .5 * Lb2L
Lb2L: 26.6
Lb3L: 32.4
Lb4L: 51.9
# lengths measured from Lb4, wrist joint centre:
Lb5L: 1.5
Lb6L: 7.2
Lb7L: 16.6
#
# stadium perimeters:
Lb0p: 29
Lb1p: 24.2
Lb2p: 22.7
Lb3p: 23.4
Lb4p: 15.2
Lb5p: 20.9
Lb6p: 22.4
Lb7p: 11
#
# stadium widths:
# arm levels 0-3 are do not have widths because they are circles
Lb4w: 5.2
Lb5w: 7.2
Lb6w: 9.6
Lb7w: 5
#
##############################################################################
# LEFT LEG
#
# lengths measured from Lj0, hip joint centre:
Lj1L: 10.1
# Lj2L is not measured because it is set as the average of Lj1L and Lj3L.
Lj3L: 42.6
Lj4L: 56.5
Lj5L: 81.6
# lengths measured from Lj5, ankle joint centre:
Lj6L: 2.5
# Lj7L is not measured because it is set as the average of Lj6L and Lj8L.
Lj8L: 14.9
Lj9L: 21
#
# stadium perimeters:
# Lj0p is not measured because it is set by Ls0p and Ls0w.
Lj1p: 52
Lj2p: 48.9
Lj3p: 35.1
Lj4p: 35.2
Lj5p: 25.5
Lj6p: 30.2
Lj7p: 23.3
Lj8p: 22.8
Lj9p: 18.5
#
# stadium widths:
# leg levels 0-5 and 7 do not have widths because they are circles
Lj8w: 8.7
Lj9w: 8.2
#
# stadium depths:
# this stadium is rotated 90 degrees from the other, so that its longitudinal
# axis is oriented anteroposteriorly (from back to front)
Lj6d: 11.4
#
##############################################################################
# RIGHT LEG
#
# lengths measured from Lk0, hip joint centre:
Lk1L: 9.7
# Lk2L is not measured because it is set as the average of Lk1L and Lk3L.
Lk3L: 42.2
Lk4L: 55.8
Lk5L: 80.6
# lengths measured from Lk5, ankle joint centre:
Lk6L: 2.5
# Lk7L is not measured because it is set as the average of Lk6L and Lk8L.
Lk8L: 14.5
Lk9L: 20.8
#
# stadium perimeters:
# Lk0p is not measured because it is set by Ls0p and Ls0w.
Lk1p: 55
Lk2p: 50
Lk3p: 34.8
Lk4p: 34.9
Lk5p: 23
Lk6p: 31
Lk7p: 23.7
Lk8p: 22.2
Lk9p: 19.5
#
# stadium widths:
# leg levels 0-5 and 7 do not have widths because they are circles
Lk8w: 8.6
Lk9w: 8.3
#
# stadium depths:
# this stadium is rotated 90 degrees from the other, so that its longitudinal
# axis is oriented anteroposteriorly (from back to front)
Lk6d: 11.1
50 changes: 50 additions & 0 deletions conda-recipes/yeadon-1.3.0/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{% set name = "yeadon" %}
{% set version = "1.3.0" %}
{% set sha256 = "9b1e7b39a70fb9eee864472416980ad30fa9d22616af1d41173a26908810cce8" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
fn: {{ name }}-{{ version }}.tar.gz
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
sha256: {{ sha256 }}

build:
number: 0
script: python setup.py install --single-version-externally-managed --record record.txt

requirements:
build:
- python
- setuptools

run:
- python
- numpy >=1.6.1
- pyyaml >=3.10

test:
files:
- ice_skating.py
- male1.txt
- import_test.py
commands:
- python ice_skating.py
- python import_test.py

about:
home: https://github.com/chrisdembia/yeadon/
doc_url: http://yeadon.readthedocs.org/
dev_url: https://github.com/chrisdembia/yeadon/
license: BSD-3-Clause
license_family: BSD
license_file: LICENSE.txt
summary: 'Estimates the inertial properties of a human.'
description: |
This package calculates the masses, center of mass positions, and inertia
tensors that correspond to the human inertia model developed by Yeadon in
(Yeadon, 1990). The package allows for the input of both measurements and
configuration variables (joint angles), and provides 3D visualization using
the MayaVi package.

0 comments on commit 6b1a471

Please sign in to comment.