jxImgTools

Image utility functions for personal use


License
MIT
Install
pip install jxImgTools==0.4.4

Documentation

jxImgTools

A simple toolbox for processing and visualizing medical images.

Functions

Visualization

VolSlice

A tool to visualize 3D volume and segmentations in the same time.

# Create fake data
import numpy as np
import matplotlib.pyplot as plt
vol = np.zeros((50, 128, 128))
vol[20:30, 40:88, 40:88] = 1
vol += 0.1*np.random.rand(*vol.shape)
# plt.imshow(vol[25,:,:], cmap='gray')

seg1 = np.zeros((50, 128, 128))
seg1[20:30, 40:88, 40:88] = 1

seg2 = np.zeros((50, 128, 128))
seg2[20:29, 45:95, 45:95] = 1
seg2[29, 40:88, 40:88] = 1

fig, axs = plt.subplots(1,3)
axs[0].imshow(np.squeeze(vol[25,:,:]), cmap='gray')
axs[1].imshow(np.squeeze(seg1[25,:,:]), cmap='gray')
axs[2].imshow(np.squeeze(seg2[25,:,:]), cmap='gray')

# Visualize using VolSlicer
from jximgtools.metric import dicePerSlice, dice
from jximgtools.visualization.volSlicer import VolSlicer

dicee = dice(seg1, seg2)
dices = dicePerSlice(seg1, seg2)
volInfo = {'Name': 'Test Volume', 'DicePerSlice': dices}
slicesInfo = [{'Dice': dices[sliceIdx]} for sliceIdx in range(50)]
VolSlicer(vol, volInfo = volInfo, segs = [seg1, seg2], slicesInfo = slicesInfo)

Installation

pip install jximgtools