Skip to content

Instantly share code, notes, and snippets.

@mingrui
mingrui / CleanupMissingScripts.cs
Created July 28, 2017 02:15
Unity Editor Script to help cleaning up missing script references on gameobjects
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class CleanupMissingScriptsHelper{
[MenuItem("Edit/Cleanup Missing Scripts")]
static void CleanupMissingScripts() {
for (int i = 0; i < Selection.gameObjects.Length; i++) {
var gameObject = Selection.gameObjects[i];
@mingrui
mingrui / dice.py
Last active October 25, 2022 13:46
calculate mri nifti segmentation dice score
import nibabel as nib
def test_nifti_all_labels_dice_score(seg_path, seg_file, truth_path, truth_file):
truth_uid = os.listdir(truth_path)
print(truth_uid)
dice_score = 0
for uid in truth_uid:
seg_file_path = os.path.join(seg_path, uid, seg_file)
truth_file_path = os.path.join(truth_path, uid, truth_file)
seg_nib = nib.load(seg_file_path)
@mingrui
mingrui / gist:187f0e629007443268ce8c1414012ed5
Created April 29, 2018 14:42
docker-ce : Depends: libseccomp2 (>= 2.3.0) but 2.2.3-3ubuntu3 is to be installed
When installing latest docker-ec 18, I encountered libseccomp2 version problem
https://www.ubuntuupdates.org/ppa/ubuntu_sdk_release?dist=xenial
add this to update libseccomp2
then install docker-ce
@mingrui
mingrui / coinChange.py
Last active September 14, 2019 16:03
coinChange.py
def coinChange(denominations, multiplicities, amounts):
if not amounts or len(amounts) == 0:
return True
if amounts[0] == 0:
return coinChange(denominations, multiplicities, amounts[1:])
for j in range(len(amounts)):
i = len(multiplicities) - 1
while i >= 0:
@mingrui
mingrui / save_new_nii.py
Created October 23, 2018 13:07
nifti file header and image
# https://bic-berkeley.github.io/psych-214-fall-2016/saving_images.html
def array_to_nii(array_3d, scan, output_path):
'''
Same affine and same header
convert mask only contains 0 and 1, so convert data type to uint8
:param array_3d:
:param scan:
:param output_path:
:return:
@mingrui
mingrui / results.md
Last active October 10, 2018 11:25
unknown results 10-10-2018

(Result, number of patches predicted)

2018-03768 is Liver 穿刺 from Breast

data/unknown/2018-03768
[('TCGA_Kidney', 17), ('TCGA_Lung', 9), ('TCGA_Breast', 8), ('TCGA_Glioma', 3), ('TCGA_Uterus', 0), ('TCGA_Thyroid', 0), ('TCGA_Colorectal', 0), ('TCGA_Bladder', 0)]

2017-17894 is Spleen from Uterus

data/unknown/2017-17894
[('TCGA_Lung', 47), ('TCGA_Colorectal', 1), ('TCGA_Uterus', 0), ('TCGA_Thyroid', 0), ('TCGA_Kidney', 0), ('TCGA_Glioma', 0), ('TCGA_Breast', 0), ('TCGA_Bladder', 0)]

@mingrui
mingrui / load_async.py
Created August 9, 2018 10:45
slide runner map_async load test
def load_async(arg):
print('load_async')
tick = time.time()
filename, reader_location, level, reader_size, location, size = arg
slide = openslide.open_slide(filename)
region = slide.read_region(location=reader_location, level=level, size=reader_size)
# Convert to numpy array
cachedImage = np.array(region, dtype=np.uint8)
@mingrui
mingrui / pre-commit
Created July 5, 2018 05:57
pre commit hook for git secret
#!/bin/sh
echo "# git secret hide!"
exec git secret hide

total: 64000 cny

config:
gtx 1080 ti * 4
server motherboard with dual cpu slot * 1
cpu * 2
ram 128gb * 1
hhd 10tb * 1
server case * 1
power supply * 1

@mingrui
mingrui / test_dice.py
Created May 18, 2018 09:40
test dice
# source: https://github.com/shreyaspadhy/UNet-Zoo
def test(train_accuracy=False, save_output=False):
test_loss = 0
correct = 0
if train_accuracy:
loader = train_loader
else:
loader = test_loader