sub-001_ses-pilot001_acq-morphobox_T1w.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <meta name="generator" content="NiReports: https://www.nipreps.org/" />
  7. <title>sub-001_ses-pilot001_acq-morphobox_T1w :: Anatomical MRI report</title>
  8. <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
  9. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
  10. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
  11. <script>
  12. var timestamp = Date.now()
  13. function read_form() {
  14. var ds = "<unset>";
  15. var sub = "sub-001_ses-pilot001_acq-morphobox_T1w.nii.gz";
  16. var artifacts = [];
  17. $('#qcartifacts-group input:checked').each(function() {
  18. artifacts.push($(this).attr('name'));
  19. });
  20. var rating = $('#qcslider').val();
  21. var payload = {
  22. 'dataset': ds,
  23. 'subject': sub,
  24. 'rating': rating,
  25. 'artifacts': artifacts,
  26. 'time_sec': (Date.now() - timestamp) / 1000,
  27. 'confidence': $('#qcextra-confidence').val(),
  28. 'comments': $('#qcextra-comments').val()
  29. };
  30. var file = new Blob([JSON.stringify(payload)], {type: 'text/json'});
  31. $('#btn-download').attr('href', URL.createObjectURL(file));
  32. $('#btn-download').attr('download', payload['dataset'] + "_" + payload['subject'] + ".json");
  33. return payload
  34. };
  35. function toggle_rating() {
  36. if ($('#qcrating-menu').hasClass('d-none')) {
  37. $('#qcrating-menu').removeClass('d-none');
  38. $('#qcrating-toggler').prop('checked', true);
  39. } else {
  40. $('#qcrating-menu').addClass('d-none');
  41. $('#qcrating-toggler').prop('checked', false);
  42. }
  43. };
  44. $(window).on('load',function(){
  45. var authorization = $('#btn-post').val()
  46. if (authorization.includes("secret_token")) {
  47. $('#btn-post').addClass('d-none');
  48. };
  49. timestamp = Date.now();
  50. });
  51. </script>
  52. <style type="text/css">
  53. /* The slider itself */
  54. .slider {
  55. -webkit-appearance: none; /* Override default CSS styles */
  56. appearance: none;
  57. margin-bottom: 8px;
  58. margin-left: 10%;
  59. width: 80%;
  60. height: 5px; /* Specified height */
  61. background: #d3d3d3; /* Grey background */
  62. outline: none; /* Remove outline */
  63. opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  64. -webkit-transition: .2s; /* 0.2 seconds transition on hover */
  65. transition: opacity .2s;
  66. }
  67. /* Mouse-over effects */
  68. .slider:hover {
  69. opacity: 1; /* Fully shown on mouse-over */
  70. }
  71. .slider::-webkit-slider-thumb {
  72. -webkit-appearance: none;
  73. appearance: none;
  74. width: 25px;
  75. height: 25px;
  76. border: 0;
  77. background: url('https://raw.githubusercontent.com/nipreps/nireports/main/assets/slider-handle.png');
  78. cursor: pointer;
  79. z-index: 2000 !important;
  80. }
  81. .slider::-moz-range-thumb {
  82. width: 25px;
  83. height: 25px;
  84. border: 0;
  85. background: url('https://raw.githubusercontent.com/nipreps/nireports/main/assets/slider-handle.png');
  86. cursor: pointer;
  87. z-index: 2000 !important;
  88. }
  89. </style>
  90. </head>
  91. <body style="font-family: helvetica;">
  92. <nav class="navbar fixed-top navbar-expand-lg bg-light">
  93. <div class="container-fluid">
  94. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  95. <ul class="navbar-nav me-auto mb-2 mb-lg-0">
  96. <li class="nav-item"><a class="nav-link" href="#Basic visual report">Basic visual report</a></li>
  97. <li class="nav-item dropdown">
  98. <a class="nav-link dropdown-toggle" id="navbarAbout" role="button" data-bs-toggle="dropdown" aria-expanded="false" href="#About">
  99. About
  100. </a>
  101. <ul class="dropdown-menu">
  102. <li><a class="dropdown-item" href="#errors">Errors</a></li>
  103. <li><a class="dropdown-item" href="#meta-about-metadata">Reproducibility and provenance information</a></li>
  104. </ul>
  105. </li>
  106. </ul>
  107. </div>
  108. </div>
  109. <div class="d-flex flex-row-reverse">
  110. <div class="form-check form-switch align-self-center flex-fill me-4">
  111. <input class="form-check-input" type="checkbox" id="qcrating-toggler"></input>
  112. <label class="form-check-label" style="width: 100pt;" for="qcrating-toggler">Rating widget</label>
  113. </div>
  114. </div>
  115. </nav>
  116. <noscript>
  117. <h1 class="text-danger"> The navigation menu uses Javascript. Without it this report might not work as expected </h1>
  118. </noscript>
  119. <div id="Basic visual report" class="mt-5">
  120. <h1 class="sub-report-title pt-5 ps-4">Basic visual report</h1>
  121. <div id="acquisition-morphobox_datatype-figures_desc-background_session-pilot001_subject-001_suffix-T1w" class="ps-4 pe-4 mb-2">
  122. <h3 class="run-title mt-3">View of the background of the anatomical image</h3><p class="elem-caption">This panel shows a mosaic enhancing the background around the head. Artifacts usually unveil themselves in the air surrounding the head, where no signal sources are present.</p> <div class="reportlet">
  123. <img class="svg-reportlet" src="./sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-background_T1w.svg" style="width: 100%" />
  124. </div>
  125. <small>Get figure file: <a href="./sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-background_T1w.svg" target="_blank">sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-background_T1w.svg</a></small>
  126. </div>
  127. <div id="acquisition-morphobox_datatype-figures_desc-zoomed_session-pilot001_subject-001_suffix-T1w" class="ps-4 pe-4 mb-2">
  128. <h3 class="run-title mt-3">Zoomed-in mosaic view of the brain</h3><p class="elem-caption">This panel shows a mosaic of the brain. This mosaic is the most suitable to screen head-motion intensity inhomogeneities, global/local noise, signal leakage (for example, from the eyeballs and across the phase-encoding axis), etc.</p> <div class="reportlet">
  129. <img class="svg-reportlet" src="./sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-zoomed_T1w.svg" style="width: 100%" />
  130. </div>
  131. <small>Get figure file: <a href="./sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-zoomed_T1w.svg" target="_blank">sub-001/figures/sub-001_ses-pilot001_acq-morphobox_desc-zoomed_T1w.svg</a></small>
  132. </div>
  133. </div>
  134. <div id="About" class="mt-5">
  135. <h1 class="sub-report-title pt-5 ps-4">About</h1>
  136. <div id="errors" class="ps-4 pe-4 mb-2">
  137. <h2 class="sub-report-group mt-4">Errors</h2> <p class="alert alert-success" role="alert">No errors to report!</p>
  138. </div>
  139. <div id="meta-about-metadata" class="ps-4 pe-4 mb-2">
  140. <h2 class="sub-report-group mt-4">Reproducibility and provenance information</h2><p class="elem-caption">Thanks for using <em>MRIQC</em>. The following information may assist in
  141. reconstructing the provenance of the corresponding derivatives.
  142. </p> <div class="accordion accordion-flush" id="about-metadata">
  143. <div class="accordion-item">
  144. <h2 class="accordion-header" id="about-metadata-0">
  145. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#about-metadata-0-collapse" aria-controls="about-metadata-0-collapse">
  146. Provenance Information
  147. </button>
  148. </h2>
  149. <div id="about-metadata-0-collapse" class="accordion-collapse collapse" aria-labelledby="about-metadata-0-heading" data-bs-parent="#about-metadata-0">
  150. <div class="accordion-body metadata-table">
  151. <table id="about-metadata-table-0" class="table table-sm table-striped">
  152. <tr><td colspan=2>Execution environment</td><td>singularity</td></tr>
  153. <tr><td colspan=2>Input filename</td><td><BIDS root>/sub-001/ses-pilot001/anat/sub-001_ses-pilot001_acq-morphobox_T1w.nii.gz</td></tr>
  154. <tr><td>Versions</td><td>MRIQC</td><td>24.1.0.dev0+g3fe90466.d20240417</td></tr>
  155. <tr><td>Versions</td><td>NiPype</td><td>1.8.6</td></tr>
  156. <tr><td>Versions</td><td>TemplateFlow</td><td>24.2.0</td></tr>
  157. <tr><td colspan=2>md5sum</td><td>cb83b068ce81b9d9faf9bee91d48847e</td></tr>
  158. <tr><td>warnings</td><td>large_rot_frame</td><td>True</td></tr>
  159. <tr><td>warnings</td><td>small_air_mask</td><td>False</td></tr>
  160. </table>
  161. </div>
  162. </div>
  163. </div>
  164. <div class="accordion-item">
  165. <h2 class="accordion-header" id="about-metadata-1">
  166. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#about-metadata-1-collapse" aria-controls="about-metadata-1-collapse">
  167. Dataset Information
  168. </button>
  169. </h2>
  170. <div id="about-metadata-1-collapse" class="accordion-collapse collapse" aria-labelledby="about-metadata-1-heading" data-bs-parent="#about-metadata-1">
  171. <div class="accordion-body metadata-table">
  172. <table id="about-metadata-table-1" class="table table-sm table-striped">
  173. <tr><td colspan=2>AcquisitionMatrixPE</td><td>248</td></tr>
  174. <tr><td colspan=2>AcquisitionNumber</td><td>1</td></tr>
  175. <tr><td colspan=2>AcquisitionTime</td><td>15:49:1.287500</td></tr>
  176. <tr><td colspan=2>BaseResolution</td><td>256</td></tr>
  177. <tr><td colspan=2>BodyPartExamined</td><td>BRAIN</td></tr>
  178. <tr><td colspan=2>CoilCombinationMethod</td><td>Adaptive Combine</td></tr>
  179. <tr><td colspan=2>CoilString</td><td>HeadNeck_64</td></tr>
  180. <tr><td colspan=2>ConversionSoftware</td><td>dcm2niix</td></tr>
  181. <tr><td colspan=2>ConversionSoftwareVersion</td><td>v1.0.20220720</td></tr>
  182. <tr><td colspan=2>DeviceSerialNumber</td><td>67014</td></tr>
  183. <tr><td colspan=2>DwellTime</td><td>8.2e-06</td></tr>
  184. <tr><td colspan=2>EchoTime</td><td>0.00298</td></tr>
  185. <tr><td colspan=2>FlipAngle</td><td>9</td></tr>
  186. <tr><td colspan=2>HeudiconvVersion</td><td>1.0.0</td></tr>
  187. <tr><td colspan=2>ImageComments</td><td>Image quality: high</td></tr>
  188. <tr><td colspan=2>ImageOrientationPatientDICOM</td><td>[-0.061483, 0.988025, 0.141516, 0.0509423, 0.144706, -0.988162]</td></tr>
  189. <tr><td colspan=2>ImageType</td><td>['ORIGINAL', 'PRIMARY', 'M', 'NORM', 'DIS3D', 'MFSPLIT']</td></tr>
  190. <tr><td colspan=2>ImageTypeText</td><td>['ORIGINAL', 'PRIMARY', 'M', 'NONE']</td></tr>
  191. <tr><td colspan=2>ImagingFrequency</td><td>123.248</td></tr>
  192. <tr><td colspan=2>InPlanePhaseEncodingDirectionDICOM</td><td>ROW</td></tr>
  193. <tr><td colspan=2>InstitutionAddress</td><td>Rue du Bugnon 21,Lausanne,District,CH,1011</td></tr>
  194. <tr><td colspan=2>InstitutionName</td><td>CHUV</td></tr>
  195. <tr><td colspan=2>InversionTime</td><td>0.9</td></tr>
  196. <tr><td colspan=2>MRAcquisitionType</td><td>3D</td></tr>
  197. <tr><td colspan=2>MagneticFieldStrength</td><td>3</td></tr>
  198. <tr><td colspan=2>Manufacturer</td><td>Siemens</td></tr>
  199. <tr><td colspan=2>ManufacturersModelName</td><td>MAGNETOM Prisma Fit</td></tr>
  200. <tr><td colspan=2>MatrixCoilMode</td><td>GRAPPA</td></tr>
  201. <tr><td colspan=2>Modality</td><td>MR</td></tr>
  202. <tr><td colspan=2>NonlinearGradientCorrection</td><td>True</td></tr>
  203. <tr><td colspan=2>ParallelReductionFactorInPlane</td><td>2</td></tr>
  204. <tr><td colspan=2>PartialFourier</td><td>1</td></tr>
  205. <tr><td colspan=2>PatientPosition</td><td>HFS</td></tr>
  206. <tr><td colspan=2>PercentPhaseFOV</td><td>96.875</td></tr>
  207. <tr><td colspan=2>PercentSampling</td><td>100</td></tr>
  208. <tr><td colspan=2>PhaseEncodingSteps</td><td>248</td></tr>
  209. <tr><td colspan=2>PhaseResolution</td><td>1</td></tr>
  210. <tr><td colspan=2>PixelBandwidth</td><td>238</td></tr>
  211. <tr><td colspan=2>ProcedureStepDescription</td><td>RESEARCH Oscar</td></tr>
  212. <tr><td colspan=2>ProtocolName</td><td>t1_mprage_pre_Morpho</td></tr>
  213. <tr><td colspan=2>PulseSequenceDetails</td><td>%SiemensSeq%\tfl</td></tr>
  214. <tr><td colspan=2>ReceiveCoilActiveElements</td><td>HC1-7;NC1,2</td></tr>
  215. <tr><td colspan=2>ReceiveCoilName</td><td>HeadNeck_64</td></tr>
  216. <tr><td colspan=2>ReconMatrixPE</td><td>248</td></tr>
  217. <tr><td colspan=2>RefLinesPE</td><td>24</td></tr>
  218. <tr><td colspan=2>RepetitionTime</td><td>2.3</td></tr>
  219. <tr><td colspan=2>SAR</td><td>0.0520076</td></tr>
  220. <tr><td colspan=2>ScanOptions</td><td>PER</td></tr>
  221. <tr><td colspan=2>ScanningSequence</td><td>GR</td></tr>
  222. <tr><td colspan=2>SequenceName</td><td>*tfl3d1_16ns</td></tr>
  223. <tr><td colspan=2>SequenceVariant</td><td>SK</td></tr>
  224. <tr><td colspan=2>SeriesDescription</td><td>t1_mprage_pre_Morpho</td></tr>
  225. <tr><td colspan=2>SeriesNumber</td><td>5</td></tr>
  226. <tr><td colspan=2>ShimSetting</td><td>[8238, -5711, -6050, 304, -74, -659, 102, 4]</td></tr>
  227. <tr><td colspan=2>SliceThickness</td><td>1.1</td></tr>
  228. <tr><td colspan=2>SoftwareVersions</td><td>syngo MR XA30</td></tr>
  229. <tr><td colspan=2>StationName</td><td>LRG10884</td></tr>
  230. <tr><td colspan=2>TxRefAmp</td><td>245.506</td></tr>
  231. <tr><td>dcmmeta</td><td>affine</td><td>[[1.096500039100647, -0.061482999473810196, 0.050942301750183105, -96.8798828125], [0.05900000035762787, 0.9880250096321106, 0.14470599591732025, -121.63520812988281], [-0.06509999930858612, -0.14151600003242493, 0.9881619811058044, -116.47465515136719], [0.0, 0.0, 0.0, 1.0]]</td></tr>
  232. <tr><td>dcmmeta</td><td>reorient_transform</td><td>[[0.0, 0.0, -1.0, 255.0], [0.0, -1.0, 0.0, 247.0], [-1.0, 0.0, 0.0, 175.0], [0.0, 0.0, 0.0, 1.0]]</td></tr>
  233. <tr><td>dcmmeta</td><td>shape</td><td>[176, 248, 256]</td></tr>
  234. <tr><td>dcmmeta</td><td>slice_dim</td><td>0</td></tr>
  235. <tr><td>dcmmeta</td><td>version</td><td>0.6</td></tr>
  236. </table>
  237. </div>
  238. </div>
  239. </div>
  240. <div class="accordion-item">
  241. <h2 class="accordion-header" id="about-metadata-2">
  242. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#about-metadata-2-collapse" aria-controls="about-metadata-2-collapse">
  243. Extracted Image quality metrics (IQMs)
  244. </button>
  245. </h2>
  246. <div id="about-metadata-2-collapse" class="accordion-collapse collapse" aria-labelledby="about-metadata-2-heading" data-bs-parent="#about-metadata-2">
  247. <div class="accordion-body metadata-table">
  248. <table id="about-metadata-table-2" class="table table-sm table-striped">
  249. <tr><td colspan=3>cjv</td><td>0.5862684210526315</td></tr>
  250. <tr><td colspan=3>cnr</td><td>1.7041012000002378</td></tr>
  251. <tr><td colspan=3>efc</td><td>0.5136</td></tr>
  252. <tr><td colspan=3>fber</td><td>-1.0</td></tr>
  253. <tr><td>fwhm</td><td colspan=2>avg</td><td>3.9781342146768517</td></tr>
  254. <tr><td>fwhm</td><td colspan=2>x</td><td>3.840572644030557</td></tr>
  255. <tr><td>fwhm</td><td colspan=2>y</td><td>4.29707</td></tr>
  256. <tr><td>fwhm</td><td colspan=2>z</td><td>3.79676</td></tr>
  257. <tr><td>icvs</td><td colspan=2>csf</td><td>0.2762122282529764</td></tr>
  258. <tr><td>icvs</td><td colspan=2>gm</td><td>0.3771519252227781</td></tr>
  259. <tr><td>icvs</td><td colspan=2>wm</td><td>0.3466358465242455</td></tr>
  260. <tr><td>inu</td><td colspan=2>med</td><td>0.5703350901603699</td></tr>
  261. <tr><td>inu</td><td colspan=2>range</td><td>0.2260447934269904</td></tr>
  262. <tr><td>qi</td><td colspan=2>1</td><td>0.0</td></tr>
  263. <tr><td>qi</td><td colspan=2>2</td><td>0.0014814919275902253</td></tr>
  264. <tr><td>rpve</td><td colspan=2>csf</td><td>8.013534669390081</td></tr>
  265. <tr><td>rpve</td><td colspan=2>gm</td><td>7.918498222984694</td></tr>
  266. <tr><td>rpve</td><td colspan=2>wm</td><td>8.017417688077588</td></tr>
  267. <tr><td>size</td><td colspan=2>x</td><td>176</td></tr>
  268. <tr><td>size</td><td colspan=2>y</td><td>248</td></tr>
  269. <tr><td>size</td><td colspan=2>z</td><td>256</td></tr>
  270. <tr><td>snr</td><td colspan=2>csf</td><td>1.8483347177478064</td></tr>
  271. <tr><td>snr</td><td colspan=2>gm</td><td>4.943689978883494</td></tr>
  272. <tr><td>snr</td><td colspan=2>total</td><td>5.4411205629168835</td></tr>
  273. <tr><td>snr</td><td colspan=2>wm</td><td>9.53133699211935</td></tr>
  274. <tr><td>snrd</td><td colspan=2>csf</td><td>56.0148505180784</td></tr>
  275. <tr><td>snrd</td><td colspan=2>gm</td><td>105.06740323164986</td></tr>
  276. <tr><td>snrd</td><td colspan=2>total</td><td>103.74878622322052</td></tr>
  277. <tr><td>snrd</td><td colspan=2>wm</td><td>150.16410491993332</td></tr>
  278. <tr><td>spacing</td><td colspan=2>x</td><td>1.100000023841858</td></tr>
  279. <tr><td>spacing</td><td colspan=2>y</td><td>1.0</td></tr>
  280. <tr><td>spacing</td><td colspan=2>z</td><td>1.0</td></tr>
  281. <tr><td>summary</td><td>bg</td><td>k</td><td>194.186</td></tr>
  282. <tr><td>summary</td><td>bg</td><td>mad</td><td>0.0</td></tr>
  283. <tr><td>summary</td><td>bg</td><td>mean</td><td>1.7586</td></tr>
  284. <tr><td>summary</td><td>bg</td><td>median</td><td>0.0</td></tr>
  285. <tr><td>summary</td><td>bg</td><td>n</td><td>2952735.0</td></tr>
  286. <tr><td>summary</td><td>bg</td><td>p05</td><td>0.0</td></tr>
  287. <tr><td>summary</td><td>bg</td><td>p95</td><td>8.0</td></tr>
  288. <tr><td>summary</td><td>bg</td><td>stdv</td><td>4.1403</td></tr>
  289. <tr><td>summary</td><td>csf</td><td>k</td><td>-0.8558</td></tr>
  290. <tr><td>summary</td><td>csf</td><td>mad</td><td>149.9321</td></tr>
  291. <tr><td>summary</td><td>csf</td><td>mean</td><td>370.9711</td></tr>
  292. <tr><td>summary</td><td>csf</td><td>median</td><td>354.0</td></tr>
  293. <tr><td>summary</td><td>csf</td><td>n</td><td>380085.15148946596</td></tr>
  294. <tr><td>summary</td><td>csf</td><td>p05</td><td>78.0</td></tr>
  295. <tr><td>summary</td><td>csf</td><td>p95</td><td>689.0</td></tr>
  296. <tr><td>summary</td><td>csf</td><td>stdv</td><td>191.5235</td></tr>
  297. <tr><td>summary</td><td>gm</td><td>k</td><td>-0.7099</td></tr>
  298. <tr><td>summary</td><td>gm</td><td>mad</td><td>91.7731</td></tr>
  299. <tr><td>summary</td><td>gm</td><td>mean</td><td>668.8436</td></tr>
  300. <tr><td>summary</td><td>gm</td><td>median</td><td>664.0</td></tr>
  301. <tr><td>summary</td><td>gm</td><td>n</td><td>518984.4328743929</td></tr>
  302. <tr><td>summary</td><td>gm</td><td>p05</td><td>452.0</td></tr>
  303. <tr><td>summary</td><td>gm</td><td>p95</td><td>920.0</td></tr>
  304. <tr><td>summary</td><td>gm</td><td>stdv</td><td>134.3125</td></tr>
  305. <tr><td>summary</td><td>wm</td><td>k</td><td>-0.5517</td></tr>
  306. <tr><td>summary</td><td>wm</td><td>mad</td><td>75.3134</td></tr>
  307. <tr><td>summary</td><td>wm</td><td>mean</td><td>923.1055</td></tr>
  308. <tr><td>summary</td><td>wm</td><td>median</td><td>949.0</td></tr>
  309. <tr><td>summary</td><td>wm</td><td>n</td><td>476992.4165601361</td></tr>
  310. <tr><td>summary</td><td>wm</td><td>p05</td><td>725.0</td></tr>
  311. <tr><td>summary</td><td>wm</td><td>p95</td><td>1047.0</td></tr>
  312. <tr><td>summary</td><td>wm</td><td>stdv</td><td>99.5662</td></tr>
  313. <tr><td>tpm</td><td>overlap</td><td>csf</td><td>0.2136963234876445</td></tr>
  314. <tr><td>tpm</td><td>overlap</td><td>gm</td><td>0.5543696627134482</td></tr>
  315. <tr><td>tpm</td><td>overlap</td><td>wm</td><td>0.5629931617368248</td></tr>
  316. <tr><td colspan=3>wm2max</td><td>0.5192208080700603</td></tr>
  317. </table>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. </div>
  323. </div>
  324. <div id="qcrating-menu" class="card position-fixed d-none" style="width: 30%; top: 100px; left: 65%;">
  325. <div class="card-header m-0">
  326. Rating widget
  327. <button type="button" class="btn-close position-absolute top-0 end-0" aria-label="Close" id="close-qcrating-menu" onclick="toggle_rating()" style="margin: 10px 10px 0 0"></button>
  328. </div>
  329. <div class="card-body">
  330. <div class="accordion">
  331. <div class="accordion-item">
  332. <h2 class="accordion-header" id="qcslider-head">
  333. <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#qcslider-collapse" aria-expanded="true" aria-controls="qcslider-collapse">Overall Quality Rating</button>
  334. </h2>
  335. <div id="qcslider-collapse" class="accordion-collapse collapse show" aria-labelledby="qcslider-head">
  336. <div class="accordion-body">
  337. <input type="range" min="1.0" max="4.0" step="0.05" value="2.5" id="qcslider" class="slider">
  338. <ul class="list-group list-group-horizontal slider-labels" style="width: 100%">
  339. <li class="list-group-item list-group-item-danger small" style="font-size: 0.7em; width: 25%; text-align:center">Exclude</li>
  340. <li class="list-group-item list-group-item-warning small" style="font-size: 0.7em; width: 25%; text-align:center">Poor</li>
  341. <li class="list-group-item list-group-item-primary small" style="font-size: 0.7em; width: 25%; text-align:center">Acceptable</li>
  342. <li class="list-group-item list-group-item-success small" style="font-size: 0.7em; width: 25%; text-align:center">Excellent</li>
  343. </ul>
  344. </div>
  345. </div>
  346. </div>
  347. <div class="accordion-item">
  348. <h2 class="accordion-header" id="qcartifacts-head">
  349. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#qcartifacts-collapse" aria-expanded="false" aria-controls="qcartifacts-collapse">
  350. Record specific artifacts
  351. </button>
  352. </h2>
  353. <div id="qcartifacts-collapse" class="accordion-collapse collapse" aria-labelledby="qcartifacts-head">
  354. <div class="accordion-body">
  355. <fieldset id="qcartifacts-group" class="form-group">
  356. <div class="form-check form-switch small">
  357. <input class="form-check-input" type="checkbox" name="head-motion" id="qcartifacts-item-0" />
  358. <label class="form-check-label" for="qcartifacts-item-0">Head motion artifacts</label>
  359. </div>
  360. <div class="form-check form-switch small">
  361. <input class="form-check-input" type="checkbox" name="eye-spillover" id="qcartifacts-item-1" />
  362. <label class="form-check-label" for="qcartifacts-item-1">Eye spillover through <abbr title="phase-encoding">PE</abbr> axis</label>
  363. </div>
  364. <div class="form-check form-switch small">
  365. <input class="form-check-input" type="checkbox" name="noneye-spillover" id="qcartifacts-item-2" />
  366. <label class="form-check-label" for="qcartifacts-item-2">Non-eye spillover through <abbr title="phase-encoding">PE</abbr> axis</label>
  367. </div>
  368. <div class="form-check form-switch small">
  369. <input class="form-check-input" type="checkbox" name="coil-failure" id="qcartifacts-item-3" />
  370. <label class="form-check-label" for="qcartifacts-item-3">Coil failure</label>
  371. </div>
  372. <div class="form-check form-switch small">
  373. <input class="form-check-input" type="checkbox" name="noise-global" id="qcartifacts-item-4" />
  374. <label class="form-check-label" for="qcartifacts-item-4">Global noise</label>
  375. </div>
  376. <div class="form-check form-switch small">
  377. <input class="form-check-input" type="checkbox" name="noise-local" id="qcartifacts-item-5" />
  378. <label class="form-check-label" for="qcartifacts-item-5">Local noise</label>
  379. </div>
  380. <div class="form-check form-switch small">
  381. <input class="form-check-input" type="checkbox" name="em-perturbation" id="qcartifacts-item-6" />
  382. <label class="form-check-label" for="qcartifacts-item-6"><abbr title="electromagnetic">EM</abbr> interference/perturbation</label>
  383. </div>
  384. <div class="form-check form-switch small">
  385. <input class="form-check-input" type="checkbox" name="wrap-around" id="qcartifacts-item-7" />
  386. <label class="form-check-label" for="qcartifacts-item-7">Problematic <abbr title="field-of-view">FoV</abbr> prescription / wrap-around</label>
  387. </div>
  388. <div class="form-check form-switch small">
  389. <input class="form-check-input" type="checkbox" name="ghost-aliasing" id="qcartifacts-item-8" />
  390. <label class="form-check-label" for="qcartifacts-item-8">Aliasing ghosts</label>
  391. </div>
  392. <div class="form-check form-switch small">
  393. <input class="form-check-input" type="checkbox" name="ghost-other" id="qcartifacts-item-9" />
  394. <label class="form-check-label" for="qcartifacts-item-9">Other ghosts (for example, <abbr title="radiofrequency">RF</abbr> spoiling)</label>
  395. </div>
  396. <div class="form-check form-switch small">
  397. <input class="form-check-input" type="checkbox" name="inu" id="qcartifacts-item-10" />
  398. <label class="form-check-label" for="qcartifacts-item-10">Intensity non-uniformity (B<sub>1</sub> bias)</label>
  399. </div>
  400. <div class="form-check form-switch small">
  401. <input class="form-check-input" type="checkbox" name="field-variation" id="qcartifacts-item-11" />
  402. <label class="form-check-label" for="qcartifacts-item-11">Temporal B<sub>1</sub> field non-uniformity variation</label>
  403. </div>
  404. <div class="form-check form-switch small">
  405. <input class="form-check-input" type="checkbox" name="processing" id="qcartifacts-item-12" />
  406. <label class="form-check-label" for="qcartifacts-item-12">Processing such as denoising, defacing or resamplings happened</label>
  407. </div>
  408. <div class="form-check form-switch small">
  409. <input class="form-check-input" type="checkbox" name="uncategorized" id="qcartifacts-item-13" />
  410. <label class="form-check-label" for="qcartifacts-item-13">Other uncategorized artifact(s)</label>
  411. </div>
  412. </fieldset>
  413. </div> <!-- accordion-body -->
  414. </div> <!-- accordion-collapse -->
  415. </div> <!-- accordion-item -->
  416. <div class="accordion-item">
  417. <h2 class="accordion-header" id="qcextra-head">
  418. <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#qcextra-collapse" aria-expanded="false" aria-controls="qcextra-collapse">
  419. Extra details
  420. </button>
  421. </h2>
  422. <div id="qcextra-collapse" class="accordion-collapse collapse" aria-labelledby="qcextra-head">
  423. <div class="accordion-body">
  424. <div class="input-group">
  425. <span class="input-group-text">Comments</span>
  426. <textarea class="form-control" aria-label="Comments" id="qcextra-comments"></textarea>
  427. </div>
  428. <p style="margin-top: 20px; font-weight: bold">Rater confidence</p>
  429. <input type="range" min="0.0" max="4.0" step="0.05" value="3.5" id="qcextra-confidence" class="slider" style="margin-left: 22%;width: 56%;">
  430. <ul class="list-group list-group-horizontal slider-labels" style="width: 100%">
  431. <li class="list-group-item list-group-item-warning small" style="width: 50%; text-align:center">Doubtful</li>
  432. <li class="list-group-item list-group-item-success bg-success text-white small" style="width: 50%; text-align:center">Confident</li>
  433. </ul>
  434. </div> <!-- accordion-body -->
  435. </div> <!-- accordion-collapse -->
  436. </div> <!-- accordion-item -->
  437. </div>
  438. <div style="margin-top: 10px">
  439. <a class="btn btn-primary disabled" id="btn-download" href="">Download</a>
  440. </div>
  441. <script type="text/javascript">
  442. var MINIMUM_RATING_TIME = 10
  443. $('#qcslider').on('input', function() {
  444. if ( (Date.now() - timestamp) / 1000 > MINIMUM_RATING_TIME) {
  445. $('#btn-download').removeClass('disabled');
  446. $('#btn-download').removeAttr('aria-disabled');
  447. $('#btn-post').removeAttr('disabled');
  448. };
  449. $('#qcslider-collapse .list-group-item').removeClass(function(index, classname) {
  450. return (classname.match(/(^|\s)bg-\S+/g) || []).join(' ');
  451. });
  452. $('#qcslider-collapse .list-group-item').removeClass(function(index, classname) {
  453. return (classname.match(/(^|\s)text-\S+/g) || []).join(' ');
  454. });
  455. if ( $(this).val() < 1.5 ) {
  456. $('#qcslider-collapse .list-group-item-danger').addClass('bg-danger text-white');
  457. } else if ( $(this).val() > 3.5 ) {
  458. $('#qcslider-collapse .list-group-item-success').addClass('bg-success text-white');
  459. } else if ( $(this).val() < 2.5 ) {
  460. $('#qcslider-collapse .list-group-item-warning').addClass('bg-warning text-dark');
  461. } else {
  462. $('#qcslider-collapse .list-group-item-primary').addClass('bg-primary text-white');
  463. };
  464. var payload = read_form();
  465. });
  466. $('#qcextra-confidence').on('input', function() {
  467. if ( (Date.now() - timestamp) / 1000 > MINIMUM_RATING_TIME) {
  468. $('#btn-download').removeClass('disabled');
  469. $('#btn-download').removeAttr('aria-disabled');
  470. $('#btn-post').removeAttr('disabled');
  471. };
  472. $('#qcextra-collapse .list-group-item').removeClass(function(index, classname) {
  473. return (classname.match(/(^|\s)bg-\S+/g) || []).join(' ');
  474. });
  475. $('#qcextra-collapse .list-group-item').removeClass(function(index, classname) {
  476. return (classname.match(/(^|\s)text-\S+/g) || []).join(' ');
  477. });
  478. if ( $(this).val() < 2.0 ) {
  479. $('#qcextra-collapse .list-group-item-warning').addClass('bg-warning text-dark');
  480. } else {
  481. $('#qcextra-collapse .list-group-item-success').addClass('bg-success text-white');
  482. };
  483. var payload = read_form();
  484. });
  485. $('#qcextra-comments').bind('input propertychange', function() {
  486. if ( (Date.now() - timestamp) / 1000 > MINIMUM_RATING_TIME) {
  487. $('#btn-download').removeClass('disabled');
  488. $('#btn-download').removeAttr('aria-disabled');
  489. $('#btn-post').removeAttr('disabled');
  490. };
  491. });
  492. $( '#btn-post' ).click( function() {
  493. var payload = read_form();
  494. var md5sum = "unspecified";
  495. var params = {
  496. 'rating': payload['rating'],
  497. 'md5sum': md5sum,
  498. 'name': "",
  499. 'comment': JSON.stringify(payload['artifacts'])
  500. };
  501. // disable development releases
  502. var authorization = $(this).val();
  503. var ratingReq = new XMLHttpRequest();
  504. ratingReq.open("POST", "https://mriqc.nimh.nih.gov:443/api/v1/rating");
  505. ratingReq.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
  506. ratingReq.setRequestHeader("Authorization", authorization);
  507. ratingReq.onload = function () {
  508. status = ratingReq.status;
  509. $('#btn-post').removeClass('btn-primary');
  510. $('#btn-post').attr('disabled', true);
  511. $('#btn-post').attr('aria-disabled', true);
  512. $('#btn-post').prop('disabled');
  513. $('#btn-post').addClass('disabled');
  514. $('#btn-post').removeClass('active');
  515. if (status === "201") {
  516. $('#btn-post').addClass('btn-success');
  517. $('#btn-post').html('Posted!');
  518. } else {
  519. $('#btn-post').addClass('btn-danger');
  520. $('#btn-post').html('Failed');
  521. };
  522. };
  523. ratingReq.send(JSON.stringify(params));
  524. });
  525. $( 'body' ).on( 'click', '#qcartifacts-group input', function(e) {
  526. if ( (Date.now() - timestamp) / 1000 > MINIMUM_RATING_TIME) {
  527. $('#btn-download').removeClass('disabled');
  528. $('#btn-download').removeAttr('aria-disabled');
  529. $('#btn-post').removeAttr('disabled');
  530. };
  531. var payload = read_form();
  532. });
  533. $( 'body' ).on( 'click', '#qcrating-toggler', function(e) {
  534. toggle_rating();
  535. });
  536. </script>
  537. </div>
  538. <script type="text/javascript">
  539. function toggle(id) {
  540. var element = document.getElementById(id);
  541. if(element.style.display == 'block')
  542. element.style.display = 'none';
  543. else
  544. element.style.display = 'block';
  545. }
  546. </script>
  547. </body>
  548. </html>