pyCGM2 / pyCGM2

implementation of an evolved conventional gait model
https://pycgm2.github.io/pyCGM2/
Creative Commons Attribution Share Alike 4.0 International
51 stars 23 forks source link

Exception in modelDecorator.chord #32

Closed carlosoleto closed 2 years ago

carlosoleto commented 2 years ago

We are using pyCGM2 inside Nexus 2.12 with great results, but we observed an issue as follows;

13:01:59.196    Default CGM2 - Fitting  Traceback (most recent call last): 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\runpy.py", line 174, in _run_module_as_main 
13:01:59.196    Default CGM2 - Fitting      "__main__", fname, loader, pkg_name) 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\runpy.py", line 72, in _run_code 
13:01:59.196    Default CGM2 - Fitting      exec code in run_globals 
13:01:59.196    Default CGM2 - Fitting    File "C:\Program Files (x86)\Vicon\Nexus2.12\Python\Scripts\Nexus_CGM22_Fitting.exe\__main__.py", line 9, in <module> 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Apps\ViconApps\CGM2_2\CGM2_2_Fitting.py", line 126, in main 
13:01:59.196    Default CGM2 - Fitting      forceBtkAcq=acq) 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Lib\CGM\cgm2_2.py", line 298, in fitting 
13:01:59.196    Default CGM2 - Fitting      modMotion.compute() 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Model\modelFilters.py", line 631, in compute 
13:01:59.196    Default CGM2 - Fitting      self.m_options) 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Model\CGM2\cgm.py", line 2528, in computeMotion 
13:01:59.196    Default CGM2 - Fitting      self._left_shank_motion(aqui, dictRef, dictAnat,options=options) 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Model\CGM2\cgm.py", line 3065, in _left_shank_motion 
13:01:59.196    Default CGM2 - Fitting      LAJCvalues[i,:] = modelDecorator.chord( (self.mp["LeftAnkleWidth"]+ markerDiameter)/2.0 ,pt1,pt2,pt3, beta=-self.mp_computed["LeftShankRotationOffset"] ) 
13:01:59.196    Default CGM2 - Fitting    File "c:\program files (x86)\vicon\nexus2.12\python\lib\site-packages\pyCGM2\Model\modelDecorator.py", line 181, in chord 
13:01:59.196    Default CGM2 - Fitting      raise Exception("count boundary of Chord achieve") 
13:01:59.196    Default CGM2 - Fitting  Exception: count boundary of Chord achieve 
13:01:59.196    Default CGM2 - Fitting  Process terminated with exit code: 1
13:01:59.196    Error   CGM2 - Fitting  CGM2 Script Execution Failed
13:01:59.197    Error   CGM2 - Fitting  Failed: 1 Errors and 0 Warnings

This appears to be happening if THI and TIB are too close to KNE and ANK (respectively).

Is that an issue, or is there a workaround?

Best regards.

aaa34169 commented 2 years ago

Thanks for your feedback. i alter the implementation of the chord function in version 4.0+ of pyCGM2. that will fix you issue for sure because there is no more iteration.

pyCGM2 4.0 is unfortunatly not embeded in Nexus. You need to install it. check out the website. I explain/illustrate how to install and use executable code.

feel free to contact me for any question.

regards

Fabien

carlosoleto commented 2 years ago

Thanks a lot, Fabien.

We will keep in touch.

Best regards.