Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update spinal segments using Frostell et al. paper #16

Closed
jcohenadad opened this issue Aug 1, 2023 · 4 comments · Fixed by #18
Closed

Update spinal segments using Frostell et al. paper #16

jcohenadad opened this issue Aug 1, 2023 · 4 comments · Fixed by #18
Assignees
Labels
enhancement New feature or request

Comments

@jcohenadad
Copy link
Member

jcohenadad commented Aug 1, 2023

Context

After discussing with several researchers (incl. Nawal Kinany, Ilaria Ricchi, Rob Barry, Olivia Kowalcyk), and verifying the validity of the current spinal levels of the PAM50 template, we came to the conclusion that there is a 'missing' level at around C7, shifting all the caudal levels upwards. Consequently, the PAM50 spinal level file needs to be corrected.

Solution

A consensus strategy to update it, is to rely on the article by Frostell et al. Figure 1 from the paper is a good illustration of the spinal vs. vertebral segment location:

image

Methods

Table 3 from Frostell et al. indicates the location of spinal segments as a proportion of the cord:

image

So the plan is to identify the beginning of C1 and the end of S5 from the PAM50, and then place the spinal levels from these two upper/lower reference points.

The most rostral location of the C1 nerve rootlets seem to correspond to slice z=984:

Screen Shot 2023-08-01 at 3 50 45 PM

The most caudal portion of the spinal cord seems to be located at the L1-L2 disc (which is also what is reported in Frostell et al.'s article), at slice z=40:

image

Implementation

My plan is to update the script that were used to generate the previous version of the spinal levels based on the Cadotte et al. article.

Related to #3 (issues #10 #12)

@jcohenadad jcohenadad self-assigned this Aug 1, 2023
@jcohenadad jcohenadad added the enhancement New feature or request label Aug 1, 2023
@jcohenadad
Copy link
Member Author

jcohenadad commented Aug 1, 2023

Question: should I modify the script under this sct-dev repos or instead should we create a script inside this repos? (I would go for the latter) @joshuacwnewton @mguaypaq

@mguaypaq
Copy link
Member

mguaypaq commented Aug 1, 2023

Since the sct-dev repo is intended as an archive, I would go with your second option as well. You can do it this way to have a useful git history:

  1. Make a new branch as usual so that there can be a PR review later.
  2. Copy the unmodified scripts you need from the sct-dev repo into this repo. Make a commit with this, and in the commit message, you can put a link to the sct-dev repo and mention the exact commit id, so that it's easy to trace.
  3. Make whatever modifications you want as extra commits.

Also, I'm noticing that the sct-dev repo is currently private, is this intentional? I would assume that we can make it public, and then archive it (so that it becomes read-only, and clearly marked as historical).

@jcohenadad
Copy link
Member Author

Also, I'm noticing that the sct-dev repo is currently private, is this intentional?

I suppose it is intentional, but I don't remember what was the intention. Maybe @joshuacwnewton remembers

@joshuacwnewton
Copy link
Member

joshuacwnewton commented Aug 3, 2023

I don't recall the intention either. The only reason I could think of is... perhaps something was moved to sct-dev that was originally in a private repo? But I don't think that's the case, as looking at the history of the repo, it looks like all files in sct-dev are ones that were originally a part of the mainline spinalcordtoolbox repo.

Because of this, I support Mathieu's suggestion of making it public + archived. I'll do that right now.

joshuacwnewton pushed a commit to spinalcordtoolbox/spinalcordtoolbox that referenced this issue Apr 22, 2024
…l estimation (Frostell et al.) (#4449)

## Description

See #4247 (comment):

> > _The spinal levels are estimated from the intervertebral discs,
using a methods described in [Frostell et al.
(2016)](https://www.frontiersin.org/articles/10.3389/fneur.2016.00238/full)._
> 
> From what is explained in the [issue
#16](spinalcordtoolbox/PAM50#16) and [the
script](https://github.com/spinalcordtoolbox/PAM50/blob/38f6ce3418aebcee1458594f22646dc94ca889f6/scripts/generate_spinal_levels.py),
the levels are computed based on the relative length of each spinal
level with respect to the length of the full spinal cord (expressed as a
percentage), found in Table 3 of the article by Frostell et al., 2016.
> 
> I thought it might be important to update this ☺️ 

## Linked issues

Fixes #4247
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants