Skip to content

Instantly share code, notes, and snippets.

View GenevieveBuckley's full-sized avatar

Genevieve Buckley GenevieveBuckley

  • Monash University
  • Melbourne
View GitHub Profile
@GenevieveBuckley
GenevieveBuckley / crosshairs_for_drift_correction.py
Last active June 25, 2019 06:50
Autoscript crosshair pattern for drift correction reference
import numpy as np
import autoscript_toolkit.vision as vision_toolkit
def cut_crosshair_patch(center_coordinate_pixels, image):
"""Returns cropped image region with crosshair drift correction reference.
Parameters
----------
In [60]: microscope.beams.electron_beam.beam_shift.limits
Out[60]: Limits2d(limits_x=Limits(min=-2.0009707e-05,max=2.0009707e-05),limits_y
=Limits(min=-2.0009707e-05,max=2.0009707e-05))
In [61]: microscope.beams.ion_beam.beam_shift.limits
Out[61]: Limits2d(limits_x=Limits(min=-5e-05,max=5e-05),limits_y=Limits(min=-5e-
05,max=5e-05))
@GenevieveBuckley
GenevieveBuckley / rectangle_selector_example.py
Last active June 14, 2020 23:25
Matplotlib RectangleSelector
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import RectangleSelector
def _select_rectangle_callback(eclick, erelease):
"""eclick and erelease are the press and release events"""
x1, y1 = eclick.xdata, eclick.ydata
x2, y2 = erelease.xdata, erelease.ydata
@GenevieveBuckley
GenevieveBuckley / test_monkeypatch.py
Last active December 12, 2023 18:57
Monkeypatching user input with pytest
from io import StringIO
def double():
x = input("Enter an integer: ")
return int(x) * 2
def adding():
x = float(input('Enter the first number'))
@GenevieveBuckley
GenevieveBuckley / save_as_zarr.ipynb
Created August 6, 2019 04:52
Save OpenSlide tiff image to zarr array
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@GenevieveBuckley
GenevieveBuckley / .pre-commit-config.yaml
Last active August 23, 2019 03:36
Git pre-commit hooks with black and flake8
repos:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.7
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.2.3
hooks:
- id: flake8
@GenevieveBuckley
GenevieveBuckley / modern-geospatial-python.md
Created September 9, 2019 09:47 — forked from jqtrde/modern-geospatial-python.md
Modern remote sensing image processing with Python
@GenevieveBuckley
GenevieveBuckley / foo.py
Last active September 12, 2019 14:51
Combining mock patch with pytest's tmpdir fixture
import argparse
def bar():
parser = argparse.ArgumentParser()
parser.add_argument('a')
parser.add_argument('b')
parser.add_argument('c')
args = parser.parse_args()
return args
@GenevieveBuckley
GenevieveBuckley / tqdm_with_gooey.py
Last active March 4, 2020 03:30
Making gooey and tqdm play nice together
from contextlib import redirect_stderr
import io
import time
import sys
from tqdm import tqdm
from gooey import Gooey, GooeyParser
@Gooey(progress_regex=r"(\d+)%")
@GenevieveBuckley
GenevieveBuckley / process_wrapper.py
Created September 17, 2019 02:33 — forked from yunwilliamyu/process_wrapper.py
Redirect Python stderr/stdout for a block
import sys
import contextlib
@contextlib.contextmanager
def output_wrapper():
save_stdout = sys.stdout
save_stderr = sys.stderr
sys.stdout = open('stdout.log', 'a')
sys.stderr = open('stderr.log', 'a')
yield
sys.stdout = save_stdout