Skip to content

Instantly share code, notes, and snippets.

View manthey's full-sized avatar

David Manthey manthey

View GitHub Profile
@manthey
manthey / ifdhash.py
Created August 15, 2023 17:04
Hash the tiles/strips of a tiff file
import hashlib
import pprint
import sys
import tifftools
def hash_ifd(idx, ifd, tagSet=tifftools.Tag, collect=None):
if collect is None:
collect = {}
@manthey
manthey / start_nimbus.sh
Created July 27, 2023 20:34
Start and configure nimbus-image
export GIRDER_PORT=8080
export VUE_PORT=8081
SCREEN_NAME=nimbusimage_docker
DOCKER_NAME=girder
SERVICE_NAME="NimbusImage Docker"
pushd /home/ubuntu/UPennContrast
case "$1" in
install)
import json
import os
import tempfile
from pathlib import Path
from .datastore import datastore
class TestNucleiDetection:
import os
from collections import defaultdict
import configurations.importer
import django
from django.apps import apps
from django.db import models
os.environ['DJANGO_SETTINGS_MODULE'] = 'shapeworks_cloud.settings'
os.environ.setdefault('DJANGO_CONFIGURATION', 'DevelopmentConfiguration')
@manthey
manthey / dstest.py
Created December 1, 2022 16:22
This tests reading dicom wsi using the dicomslide library. For files generated with wsi2dcm, this augments and modifies some data to conform to what dicomslide expects. If invalid UIDs are present, it will still fail.
import logging
import sys
import dicomslide
import dicomweb_client
import pydicom
dslog = logging.getLogger('dicomslide')
# dslog.addHandler(logging.StreamHandler(sys.stderr))
# dslog.setLevel(logging.WARN)
---
version: '3'
services:
# To use a mongo container, uncomment this block and the links in the girder
# block. In the Dockerfile, disable starting mongo and enable the sysctl and
# iptables commands.
# mongodb:
# image: mongo:4.4
# command: bash -c "mkdir /dev/shm/mongo && mongod --nojournal --dbpath=/dev/shm/mongo --noauth --bind_ip_all --quiet --logpath /var/log/mongodb/mongod.log"
# # command: bash -c "mongod --nojournal --noauth --bind_ip_all --quiet --logpath /var/log/mongodb/mongod.log"
#!/usr/bin/env python3
import sys
list1 = set(entry for entry in sys.argv[1].strip().replace('\n', ',').split(',') if '==' in entry)
list2 = set(entry for entry in sys.argv[2].strip().replace('\n', ',').split(',') if '==' in entry)
diff1 = list1 - list2
diff2 = list2 - list1
print(sorted(list1))
print(diff1, diff2)
@manthey
manthey / jobs_monai.py
Created May 30, 2022 18:05
Tasks to run test jobs comparing MONAI Label pathology with HistomicsTK
import sys
import time
import girder_client
# Your instance of girder with the api/v1 path
apiUrl = 'http://abc.kitware.com:8085/api/v1'
# An authentication token that has permission to run jobs
apiToken = '64characterGirderTokenString'
# This is the directory where all of the images to process are located
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@manthey
manthey / tiff_to_uml.py
Last active April 28, 2022 14:45
Use tifftools and plantuml to create an svg diagram.
import argparse
import base64
import io
import json
import math
import os
import subprocess
import sys
import tempfile