Skip to content

Instantly share code, notes, and snippets.

View hinerm's full-sized avatar

Mark Hiner hinerm

View GitHub Profile
2023-03-24 11:22:00
Full thread dump OpenJDK 64-Bit Server VM (25.332-b09 mixed mode):
"RMI TCP Connection(2)-192.168.68.53" #66 daemon prio=5 os_prio=0 tid=0x00000173573c2800 nid=0x55a8 runnable [0x000000648192d000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
@hinerm
hinerm / ij_test.py
Created April 19, 2021 18:14
A trivial python script that takes an input image and outputs a "copy", with all values set to the first pixel value.
#@ OpService ops
#@ ImgPlus image
#@OUTPUT ImgPlus copy
#@OUTPUT Integer a
a = 21
copy = ops.copy().img(image.getImg())
c = copy.cursor()
c.fwd()
v = c.get().copy()
@hinerm
hinerm / Regex.java
Created January 25, 2018 15:45
Regex fun
package test;
import java.util.StringJoiner;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Sandbox {
@hinerm
hinerm / Regex.java
Created January 25, 2018 15:45
Regex fun
package test;
import java.util.StringJoiner;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Sandbox {
[WARNING] Javadoc Warnings
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/java/io/scif/formats/TIFFFormat.java:990: warning - Tag @link: can't find initStandardMetadata(Metadata) in io.scif.formats.TIFFFormat.BaseTIFFParser
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/javadoc/io/scif/package-info.java:347: warning - Tag @link: reference not found: Plane
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/javadoc/io/scif/package-info.java:347: warning - Tag @link: reference not found: RandomAccessInputStream
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/javadoc/io/scif/img/package-info.java:51: warning - Tag @link: reference not found: net.imglib2.img.ImgPlus
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/javadoc/io/scif/img/package-info.java:51: warning - Tag @link: reference not found: net.imglib2.img.ImgPlus
[WARNING] /Users/mhiner/loci/scifio/scifio/src/main/javadoc/io/scif/img/package-info.java:51: warning - Tag @link: reference not found: io.scif.io.img.ImgOpener
[WARNING] /Users/m
@hinerm
hinerm / FollowedClasses
Last active December 15, 2015 11:49
FollowedClasses - a list of classes that have SCIFIO equivalents. git log --follow should work for these. NewClasses - a parallel list of the modern classes follow.sh - a script that will compare the log --follow results of FollowedClasses and NewClasses and log the results.
components/loci-legacy/src/loci/common/AbstractNIOHandle.java
components/loci-legacy/src/loci/common/BZip2Handle.java
components/loci-legacy/src/loci/common/ByteArrayHandle.java
components/loci-legacy/src/loci/common/CBZip2InputStream.java
components/loci-legacy/src/loci/common/CRC.java
components/loci-legacy/src/loci/common/CaseInsensitiveLocation.java
components/loci-legacy/src/loci/common/Constants.java
components/loci-legacy/src/loci/common/DataTools.java
components/loci-legacy/src/loci/common/DateTools.java
components/loci-legacy/src/loci/common/DebugTools.java
@hinerm
hinerm / hcheck.sh
Last active December 15, 2015 04:59
Script for finding valid commits on a git branch.
#!/bin/bash
#
# History checking script
#
# This script checks out each commit that
# exists on a dev_branch but not a base_branch.
# "ant clean tools" is run on that branch,
# and a log file is written with the results
# of the build to
# <log_dir>/<PASSED/FAILED><commit hash><commit message>.log
@hinerm
hinerm / Leak.txt
Last active December 8, 2015 15:05
Python memory leak
The following images show memory leaks due to mapped images not being cleaned up.
The MemoryOverview shows two hard reference paths keeping byte[] instances alive (blue and green). They both go through python classes to a HashMap.
The Objects1 and Objects2 images show these two paths expanded and reveals that we likely have two paths to the same map, and thus to the same set of objects.
Persumably our Python code is making these mappings but not cleaning up after them. Persumably there is also a hard reference to these images in ImageJ itself, so it would make sense on the Python side to cache WeakReferences to the images - or add some callback that ensures these mappings are eventually removed (or manually clean the maps at the end of the script).
To find the problematic python code we can look for the relevant variable names (snapshotPixels, rLUT1, bLUT1, gLUT1, etc...)
@hinerm
hinerm / soapes.ijm
Last active November 12, 2015 14:53
IJ skeleton/foci analysis
// search for TODO sections to see parameters that still need tuning
//This macro takes a 3-channel 16 bit immunofluorescance image as input.
// channel 1 (red): SC
// channel 2 (green): foci
// channel 3 (blue): centromeres
//The primary goal of this macro is to identify rois covering main cell features,
//measure the total distance of skeletonized SC, number of foci on each SC and distance from foci to the centromere on the same skeleton
// Requirements: