User Tools

Site Tools


workflows

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
workflows [2017/03/14 15:04] – [Working with static scapula positions for elevevation angles bigger than 90 degrees] oliverworkflows [2018/07/10 11:57] – [Autodetect humeral elevation phases] oliver
Line 8: Line 8:
 =====Working with static scapula positions for elevation angles bigger than 90 degrees===== =====Working with static scapula positions for elevation angles bigger than 90 degrees=====
  
 +=====Autodetect humeral elevation phases =====
 +A common situation is that multiple repetitions of humeral elevation are saved in the same trial. You want to extract them to show time-normalized curves of elevation only. So you want to create phases of elevation automatically. How this can be done is shown in the documentation of the modelling element <event> as an [[http://nimue-platform.motion-science.org/doku.php?id=modellingcomponents:eventsandphases#event|complex example]].
 +
 +With a maximum of 90 degree of elevation typically skin motion artefacts are less. If you have measurements from patients, than in can be happen that they can not elevante their arms up to 90+10=100 degree. That´s why the maximum value is configurable in the model V1.5:
 +
 +
 +<code xml>
 + <Phase name="REleStartPhase" 
 +           process="post" minwidth="10"
 +           startEvent="RHS" endEvent="RTO"
 +           includes="ShoulderAbdAdd,ShoulderAnteRetro">RShoulderEleDepHDCalDirCosAngle &lt; 30.0</Phase>
 +        <Event name="REleStart" phase="REleStartPhase" method="min"
 +               includes="ShoulderAbdAdd,ShoulderAnteRetro" process="post">RShoulderEleDepHDCalDirCosAngle*1.0</Event>
 +        <!-- die 40 hat sich bei RCycleMaxElevation=90 bewaehrt, bei cylcMaxElevation=60 muss das vielleicht um 10 reduziert werden -->
 +        <Phase name="REleEndPhase" 
 +           process="post" minwidth="40"
 +           startEvent="RHS" endEvent="RTO"
 +           includes="ShoulderAbdAdd,ShoulderAnteRetro">RShoulderEleDepHDCalDirCosAngle &gt; (RCycleMaxElevation - 30.0)</Phase>
 +        <Event name="REleEnd" phase="REleEndPhase" method="max"
 +               includes="ShoulderAbdAdd,ShoulderAnteRetro" process="post">RShoulderEleDepHDCalDirCosAngle*1.0</Event> 
 +           
 +        <!-- WORKAROUND if singularities occures, show a smaller phase without them for testing -->
 +        <!--Phase name="RSHRPhase"
 +           startEvent="REleStart" endEvent="REleEnd" process="post" 
 +           contiguous="false"
 +           includes="ShoulderAbdAdd">(RShoulderEleDepHDCalDirCosAngle &gt; (RCycleMaxElevation - 30.0)) &amp;&amp; (RShoulderEleDepHDCalDirCosAngle &lt; RCycleMaxElevation)</Phase-->
 +              
 +        <!-- RShoulderEleDepHDCalDirCosAngle &lt; RCycleMaxElevation -->
 +        <!-- limit always to 90 degree instead to RCycleMaxElevatio-->
 +        <Phase name="RElePhase" 
 +           startEvent="REleStart" endEvent="REleEnd" process="post" 
 +           contiguous="false"
 +           includes="ShoulderAbdAdd,ShoulderAnteRetro">RShoulderEleDepHDCalDirCosAngle &lt; 90.0</Phase>
 +</code>
  
  
workflows.txt · Last modified: 2018/07/10 12:02 by oliver