Coder Social home page Coder Social logo

ipuch / spartacus-shoulder-kinematic-dataset Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 2.0 31.29 MB

Gathering all the litterature on shoulder kinematics, and scapulo-humeral rythm

License: GNU General Public License v3.0

Python 100.00%
biomechanics database dataset gold-standard kinematics reference shoulder upper-limb humerus clavicle

spartacus-shoulder-kinematic-dataset's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

fmoissenet anaaim

spartacus-shoulder-kinematic-dataset's Issues

[TO DO] no data for Hallstrom

This is my error message:

row_data.joint Hallstrom et al. 2006
['thorax_x', 'thorax_y', 'thorax_z', 'thorax_origin'] is filled with nan
['humerus_x', 'humerus_y', 'humerus_z', 'humerus_origin'] is filled with nan
['scapula_x', 'scapula_y', 'scapula_z', 'scapula_origin'] is filled with nan
['clavicle_x', 'clavicle_y', 'clavicle_z', 'clavicle_origin'] is filled with nan
WARNING : euler sequence is nan, for joint glenohumeral Hallstrom et al. 2006
WARNING : translation is not entirely provided, for joint glenohumeral Hallstrom et al. 2006
origin_displacement_provided : True
displacement_cs_provided : False
Joint glenohumeral has no euler sequence defined, and no translation defined, it should not be empty !!!

We omited the displacement coordinate system, and the .csv file to the data seems unprovided.
Do we keep this article?

  • waiting for author's response on Euler sequence
  • waiting for author's on translation frame

Discussion elements

METTRE DES ELEMENTS AUXQUELLES ON PENSE A LA VOLEE.

Reperes segementaires trop exotiques

Sahara et al 2006 : The scapula coordinate system is the clavicle coordinate system at abduction zero degree. The scapua frame is very exotic and not convertable to ISB standards.

Angles articulaires

  • Certains auteurs proposent des méthodes non standard :
  • Projection methods : Guttierez
  • Mettre les autres

Rythme thoracohumeral vs glenohumeral , raison technologique, ou pins no reason.

  • Charbonnier
  • Dal Maso
  • Zhang

Methodes de corrections:

  • Sulkar et al 2001 huméral ISB distal -> landmarks distaux
  • Methode de correction manquante qui ISB to glene.

Removed Graichen and Hallstrom

Flipped rotation matrices to fit isb frames and sequence

write a script that is able to recognize isb joint sequences from segment coordinates systems and euler sequence. For example: two segment coordinate systems are not isb, and nor the sequence, but when segment coordinates systems are flipped to isb, the joint sequence is isb.

[TO DO] Check Graichen et al.

No useful answers from authors
Many strange values in the extraction table
Need for Sulkar et al. correction (humerus) but actually not usable here (geometrical info missing for that)
Keep or not this paper?

Inconsistency Dal Maso et al. 2014, removed article.

Dal Maso et al. 2014 -- scapula:
Detected ISB oriented: True
Detected ISB origin: True Scapula.ANGULAR_ACROMIALIS Detected ISB oriented + origin: True

  • removed from sharepoint
  • removed from github .csv
  • removed from github data

Sahara et al. 2007, thorax not direct

Sahara et al. 2007, Segment thorax is not direct, it should be !!!

Please still consider anteroposterior axis as pointing forward as #42 has not been closed yet.

Kijima et al. 2015

This is my error message:

row_data.joint Kijima et al. 2015
['thorax_x', 'thorax_y', 'thorax_z', 'thorax_origin'] is filled with nan
['clavicle_x', 'clavicle_y', 'clavicle_z', 'clavicle_origin'] is filled with nan
WARNING : euler sequence is nan, for joint glenohumeral Kijima et al. 2015
Joint glenohumeral has no correction value in the parent segment scapula, it should be filled with a Correction.TO_ISB_ROTATION, because the segment is not isb. Current value: []
Joint glenohumeral has no correction value in the parent segment scapula, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction, because the segment is not isb. Current value: []
WARNING : No usable data for this row, in both rotation and translation...

What's important to consider:

  • parent segment scapula should be filled with a correction isb, isb_like, or kolz ...

  • updated sharepoint

  • updated .csv file on github

Matsumara et al. 2013

This is the only article for which we have a translation but reported in norms (independent of the coordinate system).

@fmoissenet is it relevant to keep that data, clinically, and for the database ?

It is harder for me to manage this extra edge case:

row_data.joint Matsumura et al. 2013
['clavicle_x', 'clavicle_y', 'clavicle_z', 'clavicle_origin'] is filled with nan
WARNING : translation is not entirely provided, for joint scapulothoracic Matsumura et al. 2013
origin_displacement_provided : True
displacement_cs_provided : False

[RTC] Ludewig et al. 2009

  • Sharepoint extraction table updated
  • data on git (pull request)
  • update .csv on github

This is my error message:

row_data.joint Ludewig et al. 2009
WARNING : inconsistency in the dataset
-- Ludewig et al. 2009 --
Segment.THORAX
detected ISB oriented: True
detected ISB origin: True Thorax.IJ
detected ISB oriented + origin: True
expected ISB: False

The frame is reported as not isb, but global, all the data suggest it is isb.

  1. Does the origin IJ justified if the frame is global ?
  2. Is it an ISB like by its original definition, if so I should rely on correctable = False to determine it as mentioned in #44.

Could please check on this ?

Bourne 2003 inconsistency.

row_data.joint Bourne 2003
Bourne 2003, Segment scapula is not direct. It should be.
Please still consider anteropost axis as pointing forward, as #42 is not treated yet.

Inconsistency Ludwig et al. 2009

Ludewig et al. 2009 -- thorax:
Detected ISB oriented: True
Detected ISB origin: True Thorax.IJ
Detected ISB oriented + origin: True
Expected: False

  • Tableau
  • Pushed

Add Data Charbonnier Stapag

.mat, mettre les données dans le bon format.

Do we forget about this one ?

  • The Charbonnier et al. 2004 need to be removed because humerothoracic angle is not defined! #36
  • may be some hope with the ceratti et al. 2017 in the stapag dataset
  • push data
  • update tableau on sharepoint
  • push .csv

[RTC] Matsuki et al. 2012

This is the error message:

row_data.joint Matsuki et al. 2012
['thorax_x', 'thorax_y', 'thorax_z', 'thorax_origin'] is filled with nan
['clavicle_x', 'clavicle_y', 'clavicle_z', 'clavicle_origin'] is filled with nan
Joint glenohumeral has no correction value in the parent segment scapula, it should be filled with a Correction.TO_ISB_ROTATION, because the segment is not isb. Current value: []
Joint glenohumeral has no correction value in the parent segment scapula, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction, because the segment is not isb. Current value: []
WARNING : No usable data for this row, in both rotation and translation...

The scapula frame is reported not isb, and it is indeed not isb. but no correction is provided, we should at least have to_isb_like correction.
Please correct this :)

Bourne et al. 2007 inconsistency.

Bourne et al. 2007 -- humerus:
Detected ISB oriented: False
Detected ISB origin: True Humerus.GLENOHUMERAL_HEAD Detected ISB oriented + origin: False
Expected: True

[RTC] Mastuki et al. 2014

This is the error message:

Joint sternoclavicular has a NaN value in the parent segment thorax, it should not be empty !!!

The problem is in the thorax segment; we know it's a global frame, not ISB, and not correctable. But we don't even know the orientation of the axes of the global coordinate system. I need it in order to verify we haven't missed any corrections, such as to_isb_like.

Please let me know if we can get it.

Inconsistency Cereatti et al. 2017

Cereatti et al. 2017 -- scapula:
Detected ISB oriented: True
Detected ISB origin: True Scapula.ANGULAR_ACROMIALIS Detected ISB oriented + origin: True
Expected: False

[IPUCH PRIORITY] Fung et al. 2001 inconsistency

row_data.joint Fung et al. 2001
Joint scapulothoracic has no correction value in the parent segment thorax, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction because the segment is not isb. Current value: []
Joint scapulothoracic has no correction value in the parent segment thorax, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction because the segment is not isb. Current value: []

I require a to_isb_like in the column correction, and correctable is true.

  • update sharepoint
  • update .csv file

Dal Maso data need a conversion from GH rythm to TH rythm.

We want to graph the abscissa with the TH elevation angle, not GH elevation angle.
@fmoissenet you can close this issue, I think so its done and push #4, right ?

  • Dal Maso data article are deleted on github
  • Dal Maso data article are deleted
  • Data added on github stapag
  • Tableau on sharepoint delete dalmaso
  • Tableau on sharepoint added stapag
  • Extract Stapag displacement data
  • .csv updated on github
  • .mat files must be removed on github (Cereatti 2017/S2M folder)

Double check Lawrence

Nom des fichiers + le fichier en lui-même regarder si le graphique concorde.

@ANaaim Can you confirm this is done ?

Inconcistency McClure 2001

McClure et al. 2001 -- scapula:
Detected ISB oriented: False
Detected ISB origin: False Scapula.TRIGNONUM_SPINAE Detected ISB oriented + origin: False
Expected: True

  • Tableau
  • Pushed

Engauge quality check

The large dataset of McClure et al, for which we have both engauge data and author table data for every plot, could be used to define an average engauge error (RMSE?) related to this manual data extraction.

Sahara et al. 2006

We must consider corrections for segment clavicle, at least "to_isb_like".

Joint acromioclavicular has no correction value in the parent segment clavicle, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction, because the segment is not isb. Current value: []
Joint acromioclavicular has no correction value in the parent segment clavicle, it should be filled with a Correction.TO_ISB_LIKE_ROTATION correction, because the segment is not isb. Current value: []

Graphs

Proposition de script pour générer les plots:

-Plotly
-Identifier les outliers (manière simple) ("on"-"off" mode with legend)

Inconsistency Guttierrez

Gutierrez Delgado et al. 2017 -- clavicle:
Detected ISB oriented: True
Detected ISB origin: True Clavicle.STERNOCLAVICULAR_JOINT_CENTER
Detected ISB oriented + origin: True
Expected: False

  • Tableau
  • Pushed

Kim et al. 2017 - No euler sequence

This is my error message:

row_data.joint Kim et al. 2017
['thorax_x', 'thorax_y', 'thorax_z', 'thorax_origin'] is filled with nan
['clavicle_x', 'clavicle_y', 'clavicle_z', 'clavicle_origin'] is filled with nan
WARNING : euler sequence is nan, for joint scapulothoracic Kim et al. 2017
WARNING : translation is not entirely provided, for joint scapulothoracic Kim et al. 2017
origin_displacement_provided : False
displacement_cs_provided : False
Joint scapulothoracic has no euler sequence defined, and no translation defined, it should not be empty !!!

The data seems very very sparse, do we keep this article ?
It seems we don't have much:
no data, no information on translation frame ?

  • add csv data in the sharepoit
  • push .csv
  • wait for author's response on euler
  • wait for author's confirmation on humero-thoracic angle

Update Fung et al data

Engauge data replaced by author data
New CSV currently on Florent computer > To be transferred

  • on my local computer
  • data added on github
  • Sharepoint extraction table updated
  • .csv file updated

Sugi et al. 2001 Still missing corrections on scapula

Joint glenohumeral has no correction value in the parent segment scapula, it should be filled with a Correction.SCAPULA_KOLZ_AC_TO_PA_ROTATION or a Correction.SCAPULA_KOLZ_GLENOID_TO_PA_ROTATION correction,
because the segment origin is not on an isb axis. Current value: [<Correction.TO_ISB_ROTATION: 'to_isb'>]

  • The segment scapula is not isb oriented and correctable through kolz. plz provide the right set of corrections: to_isb + any to kolz.

  • The thorax is full of nan could we at least get the directions of the global frame ?

Nishinaka et al. 2008

Very sparse data for translation only. We may have to reconsider this data later on.

Add Data Bourne 2004

Add the data of the Master Thesis of Bourne and delete the data of Bourne et al. 2007.

  • Engauge
  • Data on git
  • Tableau on sharepoint
  • Deleting on the tableau sharepoint of Bourne et al. 2007 I guess @fmoissenet
  • Deleting the data of Bourne et al. 2007 I guess @fmoissenet
  • 2004 to 2003

[RTC] Kozono et al. 2017

row_data.joint Kozono et al. 2017
Kozono et al. 2017, Segment thorax is not direct, it should be !!!

Please consider anteroposterior axis as pointing forward as #42 is not closed yet.

Update Gutierrez Delgado et al data

Engauge data replaced by author data
New CSV currently on Florent computer > To be transferred

  • on my local computer
  • data added on github
  • Sharepoint extraction table updated
  • .csv file updated

Decide if +anteroposterior is forward

It seems that we do not agree on this question. We should talk about it.

For me the
+anteroposterior is forward
+inferosuperior is upward
+mediolateral is pointing on the right

I would be alright to change +anteroposterior to +posteroanterior for the sake of logic ==> but no to -anteroposterior to say forward. (answer to the suggestion on #14 )

todo:

  • change anteroposterior for posteroanterior in sharepoint
  • update .csv on github
  • update documentation in README.md on github

Extra check on the order of corrections.

When more than two correction methods are specified for a segment. We should care about the order:

We could have this case with scapula:

  • to_isb_like, first we set the axis in the biomechanical directions
  • kolz_GC_to_PA, once we have a proper coordinate system, we can apply this correction.

But the opposite makes no sense.

Extra check to know if we are already in a isb like configuration.

Test to add verify if everything ISB but not is_isb then correctable == false and no correction available.
This is a is_isb_like from the beginning. #12

  • clarify README:
  1.     ISB true, correction nan 
    
  2.     ISB False or thorax is global, but detected true, correction False -> it means, we have a isb like segment
    
  3.     ISB False or thorax is global, detected false, correction True, it means we can correct to isb or isb like.
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.