Skip to content

Instantly share code, notes, and snippets.

@alisterburt
alisterburt / central_section.py
Created November 26, 2021 17:22
naive vectorised CST - no padding, fixed rotation center
import torch
import torch.nn.functional as F
import einops
import eulerangles
def sample_volume_fft(volumes: torch.Tensor, slice_coords: torch.Tensor):
if volumes.ndim == 3: # add batching dim
volumes = einops.rearrange(volumes, 'z y x -> 1 z y x')
if slice_coords.ndim == 3: # add batching dim
@alisterburt
alisterburt / parakeet_activate.sh
Created September 7, 2021 13:06
parakeet build tools on scarf
# activate parakeet dependencies
module load GPUmodules
module load CUDA/11.1.1-GCC-10.2.0
module load gcc/7.2.0
export CUDACXX=$(which nvcc)
export CXX=$(which g++)
@alisterburt
alisterburt / napari_selectable_evented_list.py
Created September 7, 2021 10:28
napari selectable evented list example
import napari
from napari.utils.events import SelectableEventedList
from napari._qt.containers import QtListView, QtListModel
from qtpy.QtCore import Qt, QModelIndex, QSize
from qtpy.QtGui import QImage
import numpy as np
# simple object for our genes
class MyGene:
@alisterburt
alisterburt / live_viewer.ipynb
Created August 26, 2021 18:15
live napari viewer in jupyter-rfb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@alisterburt
alisterburt / snake.py
Created August 21, 2021 19:28
snake in napari
from time import sleep
from enum import Enum
import napari
import numpy as np
import psygnal
from napari.qt.threading import thread_worker
BOARD_SIZE = 14
INITIAL_SNAKE_LENGTH = 4
@alisterburt
alisterburt / napari_interactive_sim.py
Created August 19, 2021 18:13
2d interactivity with physics simulation in the background
from time import sleep
import napari
import numpy as np
from napari.qt.threading import thread_worker
viewer = napari.Viewer()
bbox_layer = viewer.add_points(
[[-1, -1], [-1, 1], [1, -1], [1, 1]], face_color='green')
points_layer = viewer.add_points([0, 0], face_color='magenta')
@alisterburt
alisterburt / random_uniform_rotation.py
Created August 4, 2021 08:28
uniform rotation on sphere
def random_uniform_rotation(size=1):
"""
Return uniform rotation vectors sampled on a sphere
Args:
size : int
The number of vectors
Returns:
vector: np.ndarray
The rotation vectors
"""
@alisterburt
alisterburt / download_pdb.py
Created August 3, 2021 10:18
pdb downloader
#!/usr/bin/env python
from pathlib import Path
import click
import requests
def download_pdb(accession_code: str, destination: Path):
accession_code = accession_code.upper()
@alisterburt
alisterburt / trilinear.py
Created July 19, 2021 13:35
trilinear interp pytorch
"""
copyright:
author: "Tewodros Amberbir Habtegebrial"
email: "tedyhabtegebrial@gmail.com"
modified by Alister Burt
"""
import time
import torch
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.