Skip to content

Instantly share code, notes, and snippets.

View njvack's full-sized avatar

Nate Vack njvack

View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<title>Circley</title>
<style type="text/css">
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
width: 960px;
height: 500px;
position: relative;
@njvack
njvack / mask_scramble.py
Created March 6, 2014 19:12
A script to randomize the pixels in an image, so long as they're within a mask.
#!/usr/bin/env python
import sys
import argparse
from PIL import Image
import numpy as np
def scramble_ary(img_ar, mask_ar):
"""
@njvack
njvack / convert_tarred_dicoms
Last active August 29, 2015 13:57
A wrapper to allow Freesurfer's mri_convert to work on a tarball of dicoms.
#!/bin/bash
in_file="$1"
out_file="$2"
out_base=$(dirname "${out_file}")
tmp_dir=$(mktemp -d -p "${out_base}")
if [ $? -ne 0 ]; then
echo "Can't make a temporary directory in ${out_base}" >&2
#!/usr/bin/env ruby
require 'tmpdir'
require 'fileutils'
fix_file = ARGV[0]
vid_file = ARGV[1]
out_file = ARGV[2]
FIXATION_FRAMES=10
VID_FRAMES=25
@njvack
njvack / link_tree
Last active August 29, 2015 14:00
Make symlinks from a directory's file structure out on the filesystem
@njvack
njvack / upload_gating_files
Created May 23, 2014 20:07
Upload gating files from a GE MRI scanner
#!/bin/bash
GATING_DIR=${GATING_DIR:-/usr/g/service/log/gating}
DEST_BASE=${DEST_BASE:-/mri-upload/ge_physio}
MAX_AGE_MINUTES=${3:-120}
study=$1
ppt=$2
if [[ "${study}" == "" ]] || [[ "${ppt}" == "" ]] || [[ "${study}" == "-h" ]]; then
@njvack
njvack / coins_login.rb
Created June 23, 2014 21:08
A little Ruby Mechanize script to force logging in to Coins. The web standards, they have not been followed at all.
#!/usr/bin/env ruby
require 'mechanize'
require 'pp'
def coins_login(agent, username, password)
page = agent.get "https://chronus.mrn.org/cas/login.php?rp=https%3A%2F%2Fchronus.mrn.org%2Fmicis%2Findex.php%3Fsubsite%3Dasmt"
uname_match = page.body.match /name="([^"]+)" placeholder="Username/
uname_field = uname_match[1]
pw_match = page.body.match /name="([^"]+)" placeholder="Pa\$\$w0rd/
@njvack
njvack / A Slicing Thing.ipynb
Created March 13, 2015 14:11
A Slicing Notebook
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@njvack
njvack / index.html
Created October 26, 2011 13:47
Force Test
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Force Layouts - Collision</title>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.26.0"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.26.0"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.26.0"></script>
<style type="text/css">
@njvack
njvack / index.html
Created January 8, 2012 05:45
Pan run simulator
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Pan math fun</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> </script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js"> </script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js"> </script>
<script type="text/javascript">