Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx run ruff format --diff
- run: |
pipx run ruff check --output-format=github
pipx run ruff format --diff

codespell:
runs-on: ubuntu-latest
Expand Down
46 changes: 24 additions & 22 deletions docs/notebooks/MRIQC Web API.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@
},
"outputs": [],
"source": [
"import pandas as pd\n",
"from json import load\n",
"import urllib.request, json\n",
"from pandas.io.json import json_normalize\n",
"import seaborn as sns\n",
"import pylab as plt\n",
"import json\n",
"import multiprocessing as mp\n",
"import urllib.request\n",
"from json import load\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import pylab as plt\n",
"import seaborn as sns\n",
"from pandas.io.json import json_normalize\n",
"\n",
"%matplotlib inline"
]
Expand Down Expand Up @@ -62,14 +64,13 @@
" query = []\n",
"\n",
" if software is not None:\n",
" query.append('\"provenance.software\":\"%s\"' % software)\n",
" query.append(f'\"provenance.software\":\"{software}\"')\n",
"\n",
" if version != '*':\n",
" query.append('\"provenance.version\":\"%s\"' % version)\n",
" query.append(f'\"provenance.version\":\"{version}\"')\n",
"\n",
" page_url = url_root.format(\n",
" modality=modality, query='where={%s}&page=%d' % (','.join(query), page)\n",
" )\n",
" where = ','.join(query)\n",
" page_url = url_root.format(modality=modality, query=f'where={where}&page={page}')\n",
" with urllib.request.urlopen(page_url) as url:\n",
" data = json.loads(url.read().decode())\n",
" dfs.append(json_normalize(data['_items']))\n",
Expand Down Expand Up @@ -150,8 +151,9 @@
],
"source": [
"import datetime\n",
"from dateutil import parser\n",
"\n",
"import matplotlib.dates as mdates\n",
"from dateutil import parser\n",
"\n",
"dates_t1w = [parser.parse(d) for d in df_t1w['_created'].values]\n",
"dates_t1w.sort()\n",
Expand Down Expand Up @@ -224,11 +226,11 @@
"print(\n",
" ','.join(\n",
" [\n",
" l\n",
" for l in df_t1w.columns\n",
" if not l.startswith('_')\n",
" and not l.startswith('bids_meta')\n",
" and not l.startswith('provenance')\n",
" line\n",
" for line in df_t1w.columns\n",
" if not line.startswith('_')\n",
" and not line.startswith('bids_meta')\n",
" and not line.startswith('provenance')\n",
" ]\n",
" )\n",
")"
Expand Down Expand Up @@ -291,11 +293,11 @@
"print(\n",
" ','.join(\n",
" [\n",
" l\n",
" for l in df_bold.columns\n",
" if not l.startswith('_')\n",
" and not l.startswith('bids_meta')\n",
" and not l.startswith('provenance')\n",
" line\n",
" for line in df_bold.columns\n",
" if not line.startswith('_')\n",
" and not line.startswith('bids_meta')\n",
" and not line.startswith('provenance')\n",
" ]\n",
" )\n",
")"
Expand Down
82 changes: 45 additions & 37 deletions docs/notebooks/Paper-v1.0.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,14 @@
"%matplotlib inline\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"import matplotlib.pyplot as plt\n",
"import os.path as op\n",
"import pandas as pd\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import seaborn as sn\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"\n",
"sn.set(style='whitegrid')"
"sns.set(style='whitegrid')"
]
},
{
Expand All @@ -31,7 +32,7 @@
"from mriqc.classifier import data as mcd\n",
"\n",
"abide, _ = mcd.read_dataset(x_path, y_path, rate_label='rater_1')\n",
"sites = list(sorted(set(abide.site.values.ravel())))\n",
"sites = sorted(set(abide.site.values.ravel()))\n",
"\n",
"fmt = r'{site} & \\pixmat{{{size[0]:d}$\\pm${sr[0]:d}}}{{{size[1]:d}$\\pm${sr[1]:d}}}{{{size[2]:d}$\\pm${sr[1]:d}}}'\n",
"fmt += r'& \\pixmat[mm]{{{sp[0]:.2f}$\\pm${spr[0]:.2f}}}{{{sp[1]:.2f}$\\pm${spr[1]:.2f}}}{{{sp[2]:.2f}$\\pm${spr[1]:.2f}}}'\n",
Expand Down Expand Up @@ -191,7 +192,7 @@
" ax = plt.gca()\n",
"\n",
" outer_score = data.loc[data[score].notnull(), [score, 'zscored']]\n",
" sn.distplot(\n",
" sns.distplot(\n",
" outer_score.loc[outer_score.zscored == zscored, score],\n",
" hist=True,\n",
" norm_hist=True,\n",
Expand All @@ -213,40 +214,47 @@
" draw_line(mean + std, ax=ax, color=color, extend=True)\n",
"\n",
" ax.annotate(\n",
" '$\\mu$=%0.3f' % mean,\n",
" rf'$\\mu$={mean:0.3f}',\n",
" xy=(mean_coord[0], 0.75 * ymax),\n",
" xytext=(-35, 30),\n",
" textcoords='offset points',\n",
" va='center',\n",
" color='w',\n",
" size=14,\n",
" bbox=dict(boxstyle='round', fc=color, ec='none', color='none', lw=0),\n",
" arrowprops=dict(\n",
" arrowstyle='wedge,tail_width=0.8',\n",
" lw=0,\n",
" patchA=None,\n",
" patchB=None,\n",
" fc=color,\n",
" ec='none',\n",
" relpos=(0.5, 0.5),\n",
" ),\n",
" bbox={'boxstyle': 'round', 'fc': color, 'ec': 'none', 'color': 'none', 'lw': 0},\n",
" arrowprops={\n",
" 'arrowstyle': 'wedge,tail_width=0.8',\n",
" 'lw': 0,\n",
" 'patchA': None,\n",
" 'patchB': None,\n",
" 'fc': color,\n",
" 'ec': 'none',\n",
" 'relpos': (0.5, 0.5),\n",
" },\n",
" )\n",
" sigmay = 0.70 * ymax\n",
" ax.annotate(\n",
" s='',\n",
" xy=(mean - std, sigmay),\n",
" xytext=(mean + std, sigmay),\n",
" arrowprops=dict(arrowstyle='<->'),\n",
" arrowprops={'arrowstyle': '<->'},\n",
" )\n",
" ax.annotate(\n",
" '$2\\sigma$=%0.3f' % (2 * std),\n",
" r'$2\\sigma$=%0.3f' % (2 * std),\n",
" xy=(mean_coord[0], 0.70 * ymax),\n",
" xytext=(-25, -12),\n",
" textcoords='offset points',\n",
" va='center',\n",
" color='k',\n",
" size=12,\n",
" bbox=dict(boxstyle='round', fc='w', ec='none', color='none', alpha=0.7, lw=0),\n",
" bbox={\n",
" 'boxstyle': 'round',\n",
" 'fc': 'w',\n",
" 'ec': 'none',\n",
" 'color': 'none',\n",
" 'alpha': 0.7,\n",
" 'lw': 0,\n",
" },\n",
" )\n",
"\n",
" if ds030_score is not None:\n",
Expand All @@ -259,16 +267,16 @@
" va='center',\n",
" color='w',\n",
" size=16,\n",
" bbox=dict(boxstyle='round', fc=color, ec='none', color='none', lw=0),\n",
" arrowprops=dict(\n",
" arrowstyle='wedge,tail_width=0.8',\n",
" lw=0,\n",
" patchA=None,\n",
" patchB=None,\n",
" fc=color,\n",
" ec='none',\n",
" relpos=(0.5, 0.5),\n",
" ),\n",
" bbox={'boxstyle': 'round', 'fc': color, 'ec': 'none', 'color': 'none', 'lw': 0},\n",
" arrowprops={\n",
" 'arrowstyle': 'wedge,tail_width=0.8',\n",
" 'lw': 0,\n",
" 'patchA': None,\n",
" 'patchB': None,\n",
" 'fc': color,\n",
" 'ec': 'none',\n",
" 'relpos': (0.5, 0.5),\n",
" },\n",
" )\n",
"\n",
"\n",
Expand Down Expand Up @@ -310,12 +318,12 @@
},
"outputs": [],
"source": [
"sn.set(style='whitegrid')\n",
"sns.set(style='whitegrid')\n",
"\n",
"fig = plt.figure(figsize=(20, 8))\n",
"ax1 = plt.subplot2grid((2, 4), (0, 0), colspan=2, rowspan=2)\n",
"\n",
"sn.violinplot(\n",
"sns.violinplot(\n",
" x='Classifier',\n",
" y='AUC',\n",
" hue='Split scheme',\n",
Expand Down Expand Up @@ -382,8 +390,8 @@
"outputs": [],
"source": [
"zscoreddf = loso_outer.loc[loso_outer.zscored == 0, ['auc', 'acc', 'site']]\n",
"palette = sn.color_palette('cubehelix', len(set(zscoreddf.site)))\n",
"sn.pairplot(\n",
"palette = sns.color_palette('cubehelix', len(set(zscoreddf.site)))\n",
"sns.pairplot(\n",
" zscoreddf.loc[zscoreddf.auc.notnull(), ['auc', 'acc', 'site']], hue='site', palette=palette\n",
")"
]
Expand All @@ -396,13 +404,13 @@
},
"outputs": [],
"source": [
"sites = sorted(list(set(loso_outer.site.ravel().tolist())))\n",
"palette = sn.color_palette('husl', len(sites))\n",
"sites = sorted(set(loso_outer.site.ravel().tolist()))\n",
"palette = sns.color_palette('husl', len(sites))\n",
"fig = plt.figure()\n",
"for i, site in enumerate(sites):\n",
" sitedf = loso_outer.loc[loso_outer.site == site]\n",
" accdf = sitedf.loc[sitedf.zscored == 0]\n",
" sn.distplot(accdf.acc.values.ravel(), bins=20, kde=0, label=site, color=palette[i])\n",
" sns.distplot(accdf.acc.values.ravel(), bins=20, kde=0, label=site, color=palette[i])\n",
"\n",
"fig.gca().legend()\n",
"fig.gca().set_xlim([0.5, 1.0])"
Expand Down
Loading