NPAC Internal Weekly Notes
- 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)
- 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?
- neurodesk: containers for OpenRecon; BART
- mallory on rhea/npac@cerebro2. ask nathan oac_ix_luna
2026-04-22
-
- 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.
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
- mount update
* EH
- Started the refactoring process of the main method
2026-01-28
- AP no updates; last week: programmers happy hour
- 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
- 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
- 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/hostedit setxnat.mrrc.upmc.eduto external157.229.38.7
WF
- FWHM for fw-mrrcqa diff ~ 8h!
- LLM agents thoughts to Alex ~2h(!)
- Want case studies, prompt/org suggestions; time tracking
- Phantom QC caught NuMoM sequence issue? ~1h
2026-01-07
AP
- Built docker container and singularity image
- Can clean up and add comments or just be done.
- 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
- QA IT Page false positive. need to support multiple templates ? ~ 1h
- 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?
- 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
- cleaned up mismatch formatting (expected → got), incl. FA / TA deltas
- cut down email noise while keeping marquee vs any-diff behavior
- made red-day emails quicker to scan for protocol issues
Automated nightly template rebuild & MIA fixes ~ 3h
- rebuild template_by_count at runtime to avoid stale templates
- split MIA reporting into onboarded-study vs non-onboarded study
- removed false-positive MIAs from lagging template updates
Non-conformance aggregation & post-hoc filtering ~ 2h
- grouped parameter mismatches with counts across acquisitions
- capped per-sequence examples without losing useful signal
- filtered out post-hoc series (>200) from compliance checks
- report item per
study/subj/sequenceinstead ofstudy/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
- Built docker container and singularity image
- Can clean up and add comments or just be done.
- 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-001still makes QC pdf?) - MRSI QPASA headless mode
- Flywheel QA (zshim) → cron, integrate tsnr, wiki page update?
2025-12-10
EH
- Refined MRQART daily email
- removed footer noise, tightened message formatting, swapped to SequenceType logic | 3h
- Added full blacklist + filtering rewrite
- implemented prefix-based exclusion, verified against database-wide stats | 6h
- Rebuilt template_by_count
- validated MP2RAGE/ACE templates, resolved all “no template defined” cases | 5h
- Next week
- Add optional template-diff reporting (highlight changes over time) | 4–5h
- 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
- master.xlsx lookup for physicist – eventually send to them. email per study.
- git commit
- 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
- dokuwiki This Wiki's Infrastructure
- QA IT Page QA reporting T1w DB corrupt!? | 2h

- 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 theENTRYPOINTcommand. 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?
- 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
-
- 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?
-
- prev: script / days
- move to python package!
uv init .(name mrqart instead of *hdr*) | 7 - use
DB = acq2sqlite.DBQuery() - docstrings of template_checker and acq2… if/when needed
- check with
make .test.pytest - pyproject.toml console-script ⇒ ~/.local/bin (install
mrqart)
2025-10-01
- MRQART IT | prev5?
- email setup! sending via
sendmail– add andrew to list- 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?
- 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
-
- 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
-
- 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.
- email server connection a problem from google cloud.
- cf. cron
fw lscheck and mail
-
- email update | 1
- DONE: interactive plot “parse DATE as date”
- recalc thresh; 1-month 1sd of zshim (from csv P2) | 2+1
-
- 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
- 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)
- NCANDA pinged about Triggering Task Start
- NPAC: prioritize.
-
-
- 🌟 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)
-
- BIDS
- 🌟 reproin push
- 🌟 annotate/document flywheel,
complete_test. From workshop: file rename instead of bids-curate - lncdtools bids gear
- dockerize lncdtools (in progress)
- flywheel gear for bids tools
- flywheel gear for tat2
- 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)
- deid.py
- 🌟 demo/docs
- bids2nda - document, push to users
- MRQART
- add motion
- protocol QA in cron/DB build
- push groups to use?
- different users using different params: BOLD
- 🌟 summarize different parameters inside seq (flip angle). identify strange values. start with bold.
- 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
- Cerebro2 HPC maintaince: update from debian12 to 13 (bookworm→trixie)
- 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
- ☁️ doxygen + sphinix: static site generator for scripts comments; monorepo
- ☁️ 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)
- 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)
