Literature overview¶
First, how were the studies selected? We used the Medline database and retrieved all the records mentioning (1) myelin, (2) MRI and (3) histology (or a related technique). The full list of keywords is provided in the preprint.
Figure 1
The Sankey diagram shows the screening procdess. You can hover with the mouse on each block and connection to see details about the number of studies and exclusion criteria.
import numpy as np
import pandas as pd
import plotly.graph_objects as go
from IPython.core.display import display, HTML
from plotly.offline import plot
import plotly.express as px
import plotly.colors
from plotly.subplots import make_subplots
from rpy2.robjects.packages import importr
import rpy2.robjects
import subprocess
subprocess.call('curl https://raw.githubusercontent.com/Notebook-Factory/brand/main/insertLogo.py --output /tmp/insertLogo.py', shell=True)
%run /tmp/insertLogo.py
Figure 1¶
config={'showLink': False, 'displayModeBar': False}
screening_info = ['Records obtained from the Medline database',
'Records obtained from previous reviews',
"""
Exclusion critera:<br>
- work relying only on MRI;<br>
- work relying only on histology or equivalent approach;<br>
- work reporting only qualitative comparisons.
""",
'Records selected for full-text evaluation',
"""
Exclusion criteria:<br>
- studies using MRI-based measures in arbitrary units;<br>
- studies using measures of variation in myelin content;<br>
- studies using arbitrary assessment scales;<br>
- studies comparing absolute measures of myelin with relative measures;<br>
- studies reporting other quantitative measures than correlation or R^2 values;<br>
- studies comparing histology from one dataset and MRI from a different one.
""",
'Studies selected for literature overview',
"""
Exclusion criteria:<br>
- not providing an indication of both number of subjects and number of ROIs.
"""]
fig1 = go.Figure(data=[go.Sankey(
arrangement = "freeform",
node = dict(
pad = 80,
thickness = 10,
line = dict(color = "black", width = 0.5),
label = ["Main records identified (database searching)",
"Additional records (reviews)",
"Records screened",
"Records excluded",
"Full-text articles assessed for eligibility",
"Full-text articles excluded",
"Studied included in the literature overview",
"Studies included in the meta-analysis"],
x = [0, 0, 0.4, 0.6, 0.5, 0.8, 0.7, 1],
y = [0, 0, 0.5, 0.8, 0.15, 0.05, 0.4, 0.6],
hovertemplate = "%{label}<extra>%{value}</extra>",
color = ["darkblue","darkblue","darkblue","darkred","darkgreen","darkred","darkgreen","darkgreen"]
),
link = dict(
source = [0, 1, 2, 2, 4, 4, 6],
target = [2, 2, 3, 4, 5, 6, 7],
value = [688, 1, 597, 92, 34, 58, 43],
customdata = screening_info,
hovertemplate = "%{customdata}",
))])
fig1.update_layout(title = dict(text="Figure 1 - Review methodology"),
width=650,
height=450,
font_size=10,
margin=dict(l=0))
plot(insertLogo(fig1,0.07,0.07,1.1,0,-0.113,0.07), filename = 'fig1.html',config = config)
display(HTML('fig1.html'))