Skip to content

Instantly share code, notes, and snippets.

Avatar

Thomas A Caswell tacaswell

  • Brookhaven National Lab
  • New York
View GitHub Profile
@tacaswell
tacaswell / label_axes_iterate.py
Last active Aug 13, 2021
A quick little function to walk through the axes in a Figure instance and label each one with annotate.
View label_axes_iterate.py
import string
from itertools import cycle
from six.moves import zip
def label_axes(fig, labels=None, loc=None, **kwargs):
"""
Walks through axes and labels each.
kwargs are collected and passed to `annotate`
@tacaswell
tacaswell / simp_zoom.py
Last active May 27, 2021
factory for adding zoom callback to matplotlib graphs
View simp_zoom.py
import matplotlib.pyplot as plt
def zoom_factory(ax,base_scale = 2.):
def zoom_fun(event):
# get the current x and y limits
cur_xlim = ax.get_xlim()
cur_ylim = ax.get_ylim()
# set the range
cur_xrange = (cur_xlim[1] - cur_xlim[0])*.5
@tacaswell
tacaswell / README.md
Last active Feb 18, 2021
Files for working with reduced data from 2020-12 experiments at XPD
View README.md

Collection of notebooks an files for playing with gpcam data

  1. explore_pgcam_data.ipynb -> demo of how to pulll reduced data out of the msgpack databroker
  2. extract.py -> code run on xpd against raw data broker to sort out what raw runs we are interested in
  3. reprocess.py -> code run to re-process the raw data and produce the reduced outputs
@tacaswell
tacaswell / pi_format.py
Created Jan 17, 2013
Format nicely printed labels based on pi for matplotlib x-axis
View pi_format.py
def format_frac(fr):
'''Convert a/b to latex'''
sp = str(fr).split('/')
if len(sp) == 1:
return sp[0]
else:
return r'$\frac{%s}{%s}$' % tuple(sp)
frac_size = 4
@tacaswell
tacaswell / ingest_sensord.py
Created May 16, 2020
Example of how to ingest sensord logs (from journalctl) to EventModel
View ingest_sensord.py
from event_model import compose_run
import datetime
import dateutil.parser
import itertools
from io import StringIO
import subprocess
import numpy as np
import functools
def extract_event(ts, batch):
@tacaswell
tacaswell / ironmanpython.txt
Created Apr 8, 2020
trace back -> IPython exit
View ironmanpython.txt
Python 3.9.0a5+ (heads/master:799d7d61a9, Apr 6 2020, 17:38:49)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.0.0.dev -- An enhanced Interactive Python. Type '?' for help.
In [1]: 1 /0
Traceback (most recent call last):
File "/home/tcaswell/.virtualenvs/bleeding/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3331, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-1-a37332903225>", line 1, in <module>
1 /0
@tacaswell
tacaswell / README.md
Last active Apr 2, 2020
ingest xpd chi files
View README.md

This is code to consume processed data from XPD back into document model

View datathoughts.py
import numpy as np
import matplotlib
import matplotlib.lines
from matplotlib.artist import allow_rasterization
import matplotlib.pyplot as plt
class MatplotlibException(Exception):
...
@tacaswell
tacaswell / .gitignore
Last active Sep 18, 2019
Slides for h5py update
View .gitignore
*.h5
.ipynb_checkpoints/
View make_bleeding
#! /usr/bin/bash
set -e
TARGET_ENV=bleeding
OSPATH=~/source/other_source/
PSPATH=~/source/p
DSPATH=~/source/bnl
pull_build () {
git pull || echo failed