≡ ⎆
MRRC Wiki
Trace: • EyeLink Task Integration • NPAC Internal Weekly Notes

NPAC Internal Weekly Notes

  • Zoom
  • Prev (20241107 - 20250820) tetra confluence
Elijah 50%
Will 30%
Andrew 10%

Format Notes: - enumerate list w/~ 1h time spend * unordered bullet w/ | 1h time estimate ideally: link to git diff (compare/main~3..main) & link to wiki page.

2026-06-03

  • undergrand BME for NM
    • Bea and Finn *
  • bids2nda: E Lorenc (brown), Yarik (Dartmouth)
    • https://etherpad.opendev.org/p/bids2nda
    • case for python: bids library, nda-tools, uvx/pip install
  • MRSI – chan or andrewR (Finn) *
    • phanom paired with sesssion? (inhomo confound)
    • rfpulse in empty spectrum. ERCT
  • redcap ↔ xnat incidental finding
    • api - small scripts: connect, pull, push (id=0 + force=True is new)
    • need to review fields (instruments)
    • survey links. then XNAT
    • ppt to questions
    • Jira
  • protocol QC
    • exclude seqno > 100
    • series number for same sequence name within session (color if before or after error; matches template)
    • xnat tagging
  • MRSI: gam adjust;
    • line width (fwhm) / SNR from LCModel? use matching cs.coord FWHM=….
    • grep FWHM LCModel/v2idxfix/*/csi.coord * L/R Cad. Thal
    • Cr for gam adjusted
    • Samira access to rhea for coords?
    • https://pubs.rsna.org/doi/10.1148/radiol.2402050314
  • neurodesk: containers for OpenRecon; BART
  • mallory on rhea/npac@cerebro2. ask nathan oac_ix_luna

2026-04-22

  • Neuromelanin MP2RAGE
    • phillips using whole brain & not CC (most stable voxel in residual?) for reference
  • brainlife.io
    • install VMs
    • create/revive xnat connector
    • build bids curator ?
    • port file-curator alert?
  • new tSequenceFileName in DB; can parse exar1 files exported from scanner.
    • https://github.com/NPACore/mrrc-hdr-qa/commit/ff31712ea02b4abcb2fad52fa57a33026d65e861
    • https://gitlab.com/tobiasrautenkranz/exar1-read/

2026-04-15

AP

  • investigating SR edits to NM Toolbox, only two changes were made. Unfortunately, there is no QC to check. Neuromelanin
  • Changes are addition of antsMultivariateTemplateConstruction2 (builds 'unbiased' population template) & custom masks were used
  • Found QC for some runs of the NM Toolbox that we can look over on /eru.
  • Apparently there are still some issues with the modified pipeline (bright spots, have not seed this). Deepak had a thought to try MATLAB computer vision techniques, similar to microscopy segmentation, to delineate the boundaries of the ROIs.
  • How precise is estimation of <x,y,z> motion from MRI, and would a gyroscope really improve this? Or is the internal motion estimation sufficient but not optimized yet? Things to consider, warping due to magnetic field inhomogeneity, second order effect?

2026-04-01

* motion comparison with undergrad. correlation with param and tools. reho, connectivty/def mode graph?

  • see Ted S.; fronteirs paper

* gyroscop. needs grant

* oac /eru; scan data * TODO: send scripts/RA notes on eyetracking (Silk lab; BRIDGE. camera focus)

2026-02-11

  • WF
    • scan_data mounted!
    • Shim values bad for P3 X; P1 X,Y. DailyQC updates needed for uT/m2 calc
  • EH
  • broke apart the main() method in email_latest_flip
  • created the tests for it as well
  • next step is to move to cerebro

2026-02-04

  • AP downloaded flywheel cli, logged on successfully, reading docs
  • Singularity image of neuromelanin pipeline seems to be referencing a relative path?
  • WF: QA Design and progress fw-mrrcqa FID automation and weekly upoads ~ 8h
  1. mount update

* EH

  1. Started the refactoring process of the main method

2026-01-28

  • AP no updates; last week: programmers happy hour
  1. gear for NM on FW. cerebro? not needed

EH

  • cerebro / mrqart
    • git clone
    • cron onto cerbro
  • more tests – refactor main, no global dict
    • using template checker; refactor email
  • Tetra: DA study reproduction

WF

  • SSL resolved; gyrus down;
  • iFFT rotate kspace w/ CHM code; write to nifti broken ~ 2 h
  • pscyhopy task for grasping. Alex found EPrime task instead? ~ 3h
  • QA IT Page matlab plotting: revise for R2019a. fix temperature pull ~ 2h
    1. TODO: file-curate for FID | .5h

2026-01-21

AP

* MRSI - Schefer ROIs

* NM docker works; bash script tested on oac-moon, testing singularity on CRC (Friday)

  • Convert to Flywheel gear

2026-01-14

EH

AP

  • MRSI - shaefer ROI, CRLB,
    • sameria has list of PIs/projects
  • NM docker works; bash script to run, testing singularity
    • on /eru
    • https://fw.mrrc.upmc.edu/
    • fw gear: manifest.json (input spec, docker container info); run.py to use flywheel config spec in manifest; CLI
  • access to WPC-8986@cortex (10.48.88.14) for /disk/mace2/scan_data/WPC-8986/ rsync
  • /etc/host edit set xnat.mrrc.upmc.edu to external 157.229.38.7

WF

api_key

  1. FWHM for fw-mrrcqa diff ~ 8h!
  2. duo-htop (+openconnect for pitt) new bug ~ 2h worth it?
  3. LLM agents thoughts to Alex ~2h(!)
    • Want case studies, prompt/org suggestions; time tracking
  4. Phantom QC caught NuMoM sequence issue? ~1h
  5. tat2 to dR2star, hand off to UMN ~ 4h

2026-01-07

AP

  1. Built docker container and singularity image
  2. Can clean up and add comments or just be done.
  3. What is the next project / are the next steps?

EH

WF

  • matlab → docker (matlab-branch commit
results = compiler.build.standaloneApplication("../Program/dostat.m");
compiler.package.docker(results, 'ImageName', 'fwmrrcqa-mlbase')
system('docker image ls --format=json fwmrrcqa-mlbase|jq -r .Size') % 3.57GB
  • TODO: cerebro2 access to andrew/ via npac@…

2025-12-17

WF

  1. QA IT Page false positive. need to support multiple templates ? ~ 1h
  2. snr fast tSNR, re-benchmark. matlab 40s, octave hour+!? work on matlab container ~ 3 h
    • diff - use mcc's requiredMCRProducts.txt for smaller run time?
  3. Flywheel Infrastructure cert diff
     curl -Iv https://fw.mrrc.upmc.edu |& grep expire # expire date: Jan  4 23:59:59 2026 GMT
    /raidzeus/flywheel/certs/2026/setup_ssl.bash -> /raidzues/src/hpc-env/flywheel/setup_ssl.bash

EH

MRQART daily header-QA email cleanup & signal reduction ~ 2h

  1. cleaned up mismatch formatting (expected → got), incl. FA / TA deltas
  2. cut down email noise while keeping marquee vs any-diff behavior
  3. made red-day emails quicker to scan for protocol issues
    • diff

Automated nightly template rebuild & MIA fixes ~ 3h

  1. rebuild template_by_count at runtime to avoid stale templates
  2. split MIA reporting into onboarded-study vs non-onboarded study
  3. removed false-positive MIAs from lagging template updates

Non-conformance aggregation & post-hoc filtering ~ 2h

  1. grouped parameter mismatches with counts across acquisitions
  2. capped per-sequence examples without losing useful signal
  3. filtered out post-hoc series (>200) from compliance checks

  • report item per study/subj/sequence instead of study/sequence
  • counts like (number sequences matching template, number match non-conforming parameter / total number of sequeneName in study)
  • move from rhea to npac@cerebro2? cron @ 6am?
  • pullout white/black list, params-to-check into config file?
    • start removing from blacklist. want to check EPI and fmaps
  • tests with examples
  • multiple templates for single acq? (nav_setter)
    • don't overwrite existing templates?
    • eventual interface for templates

AP

  1. Built docker container and singularity image
  2. Can clean up and add comments or just be done.
  3. What is the next project / are the next steps?

  • NM for all sequences at MRRC? cerebro2 or CRC slurm?
  • NM QC pulled out to work w/o batch (–participant-label sub-001 still makes QC pdf?)
  • MRSI QPASA headless mode
  • Flywheel QA (zshim) → cron, integrate tsnr, wiki page update?

2025-12-10

EH

  1. Refined MRQART daily email
    • removed footer noise, tightened message formatting, swapped to SequenceType logic | 3h
  2. Added full blacklist + filtering rewrite
    • implemented prefix-based exclusion, verified against database-wide stats | 6h
  3. Rebuilt template_by_count
    • validated MP2RAGE/ACE templates, resolved all “no template defined” cases | 5h
  4. Next week
    • Add optional template-diff reporting (highlight changes over time) | 4–5h
      1. maybe more spacing; html
    • Automate nightly template rebuild + logging into run_mrqart_daily | 3h
    • Explore improving TA (scan length)/FA mismatch descriptions | 2–3h
    • Also looking for feedback to make the email less dense
  5. master.xlsx lookup for physicist – eventually send to them. email per study.
  6. git commit
  7. 2026: talk to phys; shot of image
-  Brain^wpc-8796 / test / ABCD_T1w_setter (Series 6): (3/5 bad)
              expected / have
        iPAT: null / p2;
        got R: -0.0008 0.4671 -0.0594 -0.8822 /  0.04 -0.02 0.01
     

WF

  1. dokuwiki This Wiki's Infrastructure
    • 32bit support for ipv6 into upstream | 5h
    • login button ewi:/wiki-mrrc/lib/tpl/readthedokus/tpl_parts, tpl_mobileheader.html (diff) | 1h
  2. QA IT Page QA reporting T1w DB corrupt!? | 2h
  3. BIDS fw example | 1h
  • QA IT Page fast tSNR ~ 6h
  • mrschedule MRRC schedule DB fixed slots ~ 6h

AP

  • Neuromelanin NM_Pipeline built and (almost) running. Current error line 31: ./for_redistribution_files_only: Is a directory. This is for the ENTRYPOINT command. Tried with and without ./ in ./for_redistribution_files_only/run_NM_Pipeline.sh
  • TBO Task eye tracking at Bridge. (See email, waiting to hear from Helmet). Probably can try again with arguments to control executable?
  • icaaroma Updates to ICA-AROMA? Can it be done in native space for precision psychiatry? Would this be useful? Hallquist BrainGnomes implements old ICA-AROMA pipeline already.
  • Deepak's idea: Can MRRC make PDF's of scan parameters compatible with NDA upload spreadsheet format?
    1. https://github.com/WillForan/bids2nda
    2. Office of Data Management Adrian Sonheim (sleep)

2025-12-03

  • EH:
    • condensed the email
    • filtered using SequenceName → swapping to SequenceType
    • TODO:
      • listing allways flagged, finding SequenceType, blacklist | 5h
      • template sql code, run night? diff on the templates? | 1h + [10h]
    • (Bridge) FW job stuck for week+: rerun with logging (fw issue)
      • github repo for hafman code (xcpd scripts for extra atlases)
  • AP:
    • Docker image built, can run, but some path errors remain. Very close!
    • EyeLink calibration working at Bridge. Grabbed code from Eyelink Testing scripts. Possibly the issue was the wrapper script. “O” in CAVAO sequence wasn't working. Ideas?
      • find path to control exe, WF TODO linux path
      • esc, ctrl-c; host pc
      • monitor: psychopy/pylink demo window(0 vs 1)
    • Triggy at some point
    • Differences in old vs. new pipeline for Deepak's TMS study (probably worth discussing)
      • ENACT (WPC-8986) ME fMRI AXCP (task) + resting;
      • See UNC IT slack; brainomes
      • fmriprep 25 Vs xcpd 0.5 vs 0.11; dlPFC cor. .3-.6 thres – was .9;; T1w wrong space for TMS software; use warren's for last subject
    • ICA aroma
      • validating
      • vs fmriprep cosine/regessors (CompCor regressors)
  • WF
    • SPM DWI BIDS PR#87 accepted
    • tSNR mask working. 10x? speedup
      • diff
    • Framework for Image Reconstruction Environments (FIRE)
      • working Prisma1↔ptx at scan time https://github.com/NPACore/fire-recontwix
      • PR for tests in python ismrmrd-server PR#14
      • TODO: m tilt and MRSI slice position injector
    • Cerebro2 as NIST800-171 environment okayed by MR council
  • Adding git diff
    • git log -p
  • protected main branch? PR workflow?

2025-11-19

  • EH:
    • email not sending. test with python oneline
    • condense
    • oneday, all projects
    • ABCD T1 vnav → two filtered (dervied) raw data.
  • AP:
  • Docker image is building, need to add .dockerignore file and/or move base docker file and subdirectories up a level to save space in the build (~25GB)
  • Deepak had a question about the MRSI Figure 1 ROI –> MNI Space. There was an overlap of the LNCD data and Sarpal data that got misplaced when Warren left. Deepak understood Warren to be working on this with Will.
  • WF TODO: 3dMean of MRSI ROI for heatmap (need paths to volume)
  • Sarpal 7T preproc /eru/shares/sarpal/test/7T/bids_correct/output/sub-2326/ses-20181019/rest/rest.nii.gz

skullstrip only applied to first volume, all other volumes are empty! rest.nii.gz corrupt? can use rest.3/rest.nii.gz to restore * hallquist can run on moon for new/missing subjects. see logs of existing for command line inputs * Eye tracking testing at Bridge Thursday at 4p? * WF TODO: linux path to control SDK – sample experiments * Triggy at some point

2025-11-12

  • QA emails sent! switch to all projects, just yesterday. alt all okay email
    • eventually link to project template
  • EyeTracking BRIDGE still an issue
    • see C:\Program Files (x86)\SR Research\EyeLink\SampleExperiments\ from the EyeLink SDK
  • Dockerfile; docker build $PWD for include files only
  • Deepak: MRSI 7T; spack setup w/module load; MP2RAGE UNICORT

2025-10-29

  • alerts - nice looking html interface! emailing for next week
  • NM pipeline - containerize, add masks
  • flywheel was down at MRRC “upgrade may have been stuck in pending”

2025-10-22

  • mrrc-hdr-qa/mrqart/email_latest_flip.py
    • loop over all new: acq2sqlite.find_acquisitions_since
  • NM pipeline - matlab container, bash. Phillips billy jewel? helmet
  • FW (CRC into RHEL 9), clpipe deprecating, braignomes in dev?
  • Feb-April new 7T
  • process, async standup

2025-10-15

  • eye tracking - didn't work; cal crash. 2nd monitor off.
  • watch out: axis flip from scanner if FOV angle changed to extreme
  • review mrqart - loop over scans_since, template_check, report conforming

2025-10-09

  • P2 body coil replaced; new zshim? rerun stats next week
    • can we pull (all EPI sequence z-shims) from DB?
    • how variable? more variable over any time?
  • MRQART IT |
    • prev: script / days
    1. move to python package! uv init . (name mrqart instead of *hdr*) | 7
    2. use DB = acq2sqlite.DBQuery()
    3. docstrings of template_checker and acq2… if/when needed
    4. check with make .test.pytest
    5. pyproject.toml console-script ⇒ ~/.local/bin (install mrqart)

2025-10-01

  • MRQART IT | prev5?
    • email setup! sending via sendmail – add andrew to list
      1. in cron on rhea
    • cron to mrqart
    • which fields?
    • mass pull: Flip Angle for just bold - (standard, median→mode value) TR, TE, FOV, …; Protocol Name: t2pe
    • does email send to list?
    • email format: date, scan, what mismatches
    • loop over projects - filter by date
    • eventaull into database
    • RT motion plots, thresholds (andrew?) – send to code
  • Neuromelanin | prev1-5?
    • MacOS vs Linux Runtime? Including dependent files
    • [Seq meeting this afternoon]
  • reproin/BIDS push to FW pilot users ideas?
    1. preprocess alex outstanding dataset. follow up (may be BIDS)
  • P2 Rx failure? Tx box unstable? [need to check NM data]
  • Flywheel debrief!

2025-09-24

  • Interactive QC Plot - EH date subset; added scroll and toggle. (commit)
  • MRQART IT cron db not running since cerebro→warewulf!
    • check on email code. test code / cli call that flags an issue | 5
  • Z-Shim Value QC
    • DONE: email update. Makefile change problematic (2-3)
    • DONE: recalc thresh; 1-month 1sd of zshim (from csv P2) | 2+1
    • add to repo, docs, maybe setup cron | 1
      • cron: read dataframe from https: url via pandas
  • MRQART IT summarize different parameters inside seq (flip angle). identify strange values. start with bold.
    • send an email example report | 6
  • Neuromelanin
    • docker w/matlab runtime like r2prime | 2h; 1-5
      • matlab and docker (cf. podman) setup – use nucleus
    • example r2prime-prisma/Dockerfile

2025-09-17

  • 96G 4min tar over globus (OAC server to clevland)
  • singularity + xcpd →
  • file curator on fmriprep output trigger email.
    1. email server connection a problem from google cloud.
    2. cf. cron fw ls check and mail
  • Z-Shim Value QC
    • email update | 1
    • DONE: interactive plot “parse DATE as date”
    • recalc thresh; 1-month 1sd of zshim (from csv P2) | 2+1
  • Neuromelanin
    • docker w/matlab runtime like r2prime | 1-5
    • example data into repo? bad idea w/o skull strip? git-lfs – use mni warped to subject
  • connect a la CRC
    1. https://windows.cloud.microsoft/ → pitt sso → Psych AVD → FastX
  • FW:Mike Gross - NDA vs BIDS
  • Flywheel Gears annotate/document flywheel, complete_test. From workshop: file rename instead of bids-curate
  • MRQART IT summarize different parameters inside seq (flip angle). identify strange values. start with bold.
  • send an email example report | 6

2025-09-10

👋 Hi Dr. Moon & welcome Andrew!

  • flywheel workshop: push for cloud only. ITK-snap app with launcher.
  • tools/infrastucture
    • move to dokuwiki (?) from confluence (assuming EWI) tetra confluence
    • issue tracker / “story points”; docs-in-code (sphinix) integration
  • email config pytest updates (EH)
  • deid PR pending (WF);a Michelle's question still open (email)
  • EWI pending
  • NCANDA pinged about Triggering Task Start
  • NPAC: prioritize.
    1. Phantom QC
      • Z-Shim Value QC
        • 🌟 email robustness: send to MR accounts (EH: works w/ pytest tests/)
        • 🌟 adjust P2 threshold after TX box replacement?
        • 🌟 interactive plot Interactive QC Plot
        • rewrite with linux-inotify instead of flywheel
      • tsnr – rewrite for speed
        • matlab circshift (wrap around) vs ANTs alignment (cut off FOV)
      • FID channels (kspace signal)
      • MRIQC
    2. BIDS
      • 🌟 reproin push
      • 🌟 annotate/document flywheel, complete_test. From workshop: file rename instead of bids-curate
      • lncdtools bids gear
    3. dockerize lncdtools (in progress)
      • flywheel gear for bids tools
      • flywheel gear for tat2
    4. NM (AP/Deepak)
      • 🌟 dockerize + flywheel-ize
      • kernel density out of matlab (into AFNI 3dROIstat). also useful for tsnr
      • rewrite in shell/python
      • Jones: value into sheet, reverse, code to shift image (ADEPT study)
    5. deid.py
      • 🌟 demo/docs
    6. bids2nda - document, push to users
    7. MRQART
      • add motion
      • protocol QA in cron/DB build
      • push groups to use?
      • different users using different params: BOLD
        1. 🌟 summarize different parameters inside seq (flip angle). identify strange values. start with bold.
    8. Yarra @ NYU, overnight worker - TWIX transfer and processing. kspace recon. future proofing . offline high-load computation.
      • Yarra on “ptx” computer; high accel MPRAGE
      • OpenRecon – “inside” scanner
      • FIRE Siemens WIP - recon + fmriprep. docker. run external or internal
    9. Cerebro2 HPC maintaince: update from debian12 to 13 (bookworm→trixie)
    10. wiki conviences
      • added collapse button
      • keybindings to prose editor
      • php-scripts for pulling out log (could be plugins): IT Log
      • ☁️integrate with git-bug
      • ☁️integrate with doc generators
    11. ☁️ doxygen + sphinix: static site generator for scripts comments; monorepo
    12. ☁️ ML + MR sequence development
      • Deep Learning for reconstruction (kspace). better noise, faster sequence
        • need math background; vs. MR signal model for reconstruction. snapshot vs cumulative time.
        • eigen vector fit to remove noise: data + model to clean
        • optimization over large datasize (slow) vs. train and apply to inc speed (order of mag)
          • increase resolution
        • optimize code for GPU/CPU resources. CUDA/tensor/pytourch vs matlab optimizer
      • ML pulse sequence programming. RF, gradient, acq signal encoding (amplitude, phase)
        • EPI: train on echo time, matrix size, … parameters

- pitt email to andrew for slack;

EH

  • delete workign directroy free lots of data
  • xcpd - shen atlas (empty files), rerun (workdir) populates tsv.

workdir=$(mktemp -d /tmp/XXXX)

  • https://github.com/PennLINC/xcp_d
  • tar search for dicoms
  • https://github.com/ajeetdsouza/zoxide z-jump to dirctory on partial match of name
  • shim_notify_test.py – test, then upload for all
  • interactive plot Interactive QC Plot – 2 months
  • autodocs for file-curate
  • Enigma upload dicoms, waiting for BEAM dcm (maybe on flywheel)
Previous Next

MRRC Wiki

Table of Contents

Table of Contents

  • NPAC Internal Weekly Notes
    • 2026-06-03
    • 2026-04-22
    • 2026-04-15
    • 2026-04-01
    • 2026-02-11
    • 2026-02-04
    • 2026-01-28
      • EH
      • WF
    • 2026-01-21
      • AP
    • 2026-01-14
      • EH
      • AP
      • WF
    • 2026-01-07
      • AP
      • EH
      • WF
    • 2025-12-17
      • WF
      • EH
      • AP
    • 2025-12-10
      • EH
      • WF
      • AP
    • 2025-12-03
    • 2025-11-19
    • 2025-11-12
    • 2025-10-29
    • 2025-10-22
    • 2025-10-15
    • 2025-10-09
    • 2025-10-01
    • 2025-09-24
    • 2025-09-17
    • 2025-09-10
  • Onboarding
  • Scanners
    • 3T Prisma 1
    • 3T Prisma 2
    • 3T Prisma 3
    • 7T plus (BST3)
    • 7T Terra.X
  • MRRC MR Data
    • Quality Assurance
    • ReproIn naming convention
    • XNAT
    • Flywheel
    • Filesystem
  • Supporting Hardware
    • Experimental Task PCs
    • Eye Tracking
      • SR Research EyeLink 1000 Plus
      • Avotec Arrington Eye Tracker
  • MR Physics Reports
  • Imaging Notes
    • XNAT vs Gyrus DICOMs
    • Resampling vs Registration
    • MR Task Notes
      • Psychtoolbox
  • NPAC
    • NPAC Support and Services
  • sitemap