Skip to content

Instantly share code, notes, and snippets.


Taylor Salo tsalo

View GitHub Profile
tsalo /
Last active Mar 28, 2022
Warp native-space tedana derivatives to standard space with fMRIPrep transforms.
# First, let's define some paths to the fMRIPrep and tedana outputs
# Result of denoising the scanner-space multi-echo data with tedana
# Name of the standard-space denoised data file to be written out
tsalo /
Last active Feb 12, 2022
An ongoing effort to profile certain steps in NiMARE, including kernel transformation and meta-analysis estimation
"""A small job to profile kernel transformers and meta estimators in NiMARE."""
import logging
import os.path as op
import psutil
from datetime import datetime
import numpy as np
import pandas as pd
from memory_profiler import memory_usage
tsalo /
Last active Aug 18, 2021
A short script to collect echo-wise processed files from an fMRIPrep working directory.
Collect native-space preprocessed data from fMRIPrep working directory and
copy into fMRIPrep derivatives directory, in BIDS format.
This script has only been tested on fMRIPrep v20.2.1.
It may not work with other versions.
Written by Julio Peraza (@JulioAPeraza)
import argparse
tsalo / nimare_atlas_decoding.ipynb
Created Jun 17, 2020
Decoding an atlas with NiMARE v0.0.3
View nimare_atlas_decoding.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
tsalo /
Last active Nov 6, 2019
Some pseudocode implementing a tedana decision tree node according to a proposed specification.
from textwrap import dedent
import logging
LGR = logging.getLogger(__name__)
def list_to_str(lst, joiner='and'):
if len(lst) == 1:
return lst[0]
elif len(lst) == 2:
from nipype.interfaces.base import Bunch
from nipype.algorithms import modelgen
from copy import deepcopy
def lss(bunch_list):
"""Takes input Bunch list and returns list of Bunch lists with LSS regressors.
all_infos = []
other_items = ['durations', 'amplitudes',
tsalo /
Created Apr 18, 2017
Add "IntendedFor" field to BIDS field map jsons for the associated fMRI and DWI scans based on acquisition time.
import json
import bisect
from glob import glob
from os.path import join, splitext
from bids.grabbids import BIDSLayout
from dateutil.parser import parse
# subj_dir *must* have trailing /
subj_dir = '/scratch/tsalo006/dset/sub-01/'
sess = '01'
View coolCellFuns.m
% Dir results to cell array of file names
AllTextFiles = dir('/home/tsalo/*.txt');
cellArray = struct2cell(AllTextFiles);
cellArray = cellArray(1, :);
[allFilepaths, allFilenames, allSuffixes] = cellfun(@(X) fileparts(X), cellArray, 'UniformOutput', false);
tsalo / allFilesExist.m
Created Apr 29, 2015
Check if all files in cell array exist.
View allFilesExist.m
function log = allFilesExist(cellArray)
log = all(cellfun(@(X) logical(exist(X, 'file')), cellArray));
tsalo /
Last active Aug 29, 2015
Get directory of script. Also, get parent directory. Add to the beginning of a script to help you load files in the same directory as the script. Makes projects more portable.
Get directory of script. Also, get parent directory.
import os.path
code_dir = os.path.dirname(__file__)
par_dir = os.path.abspath(os.path.join(code_dir, os.path.pardir))