Skip to content

Instantly share code, notes, and snippets.

@pangyuteng
Last active November 16, 2022 18:34
Show Gist options
  • Save pangyuteng/d062252d4eb02e25d9ea4b7ffd5bcd54 to your computer and use it in GitHub Desktop.
Save pangyuteng/d062252d4eb02e25d9ea4b7ffd5bcd54 to your computer and use it in GitHub Desktop.
3d image patch extraction
**/.ipynb_checkpoints/*
ok.png
ok.nii.gz
workdir/*

problem statement

When moving the patches generated by tf.extract_volume_patches or tf.image.extract_patches back to its original shape with tf.reshape or np.reshape methods, the result will be incorrect.

Above issue is explained in below extensively.

https://stackoverflow.com/questions/44047753/reconstructing-an-image-after-using-extract-image-patches

Note Stop right here if just need non overlapping patches:

  • see if np.reshape fits your bill - which usually does, then use that! (np-extract-patches.ipynb)

https://stackoverflow.com/questions/31527755/extract-blocks-or-patches-from-numpy-array

  • also for 2d images, for non-overlapping patches, one can use tf.nn.space_to_depth and tf.nn.depth_to_space. See tf-space-to-depth.ipynb.

  • alternatively if you prefer c++, git ITK a try.

https://discourse.itk.org/t/patch-extraction/3630

https://itk.org/ITKExamples/src/Filtering/ImageGrid/ExtractRegionOfInterestInOneImage/Documentation.html

solutions

Several solutions to resolve the above issue are listed below:

notebooks can be executed following below prep script within tf container.
docker run -it -p 8888:8888 -w /workdir -v $PWD:/workdir tensorflow/tensorflow:2.6.1-gpu-jupyter bash
bash prep.sh
jupyter notebook --ip=* --allow-root

additional thoughts

whatever solutions you end up using, doesn't really matter during training.

You will for sure get a performance hit during inference. For problems dealing with 3d patches, tf.extract_volume_patches may be one method, but for medical images, depending on hardware, OOM may occur.

  • thus now you are back to for loops with python/numpy for preprocessing -> batch wise inference -> reshape

  • alternatively, chop up the volume to cubes (faster than for loops) -> feed that asyncronously to multiple serving end points -> gather the results and do the reshape.

  • wait until you get the budget to run jumbo gpus for inference 24/7.

reference


https://stackoverflow.com/questions/41564321/split-image-tensor-into-small-patches
https://stackoverflow.com/questions/44047753/reconstructing-an-image-after-using-extract-image-patches
https://stackoverflow.com/questions/40731433/understanding-tf-extract-image-patches-for-extracting-patches-from-an-image

https://stackoverflow.com/questions/53451728/n-dimensional-sliding-window-operation-in-python-using-gpu-accelerated-libraries
https://stackoverflow.com/questions/35691947/3d-sliding-window-operation-in-theano


vae patch
Discovering Digital Tumor Signatures—Using Latent Code Representations to Manipulate and Classify Liver Lesions
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8269051

pediatric-ct-seg
https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=89096588#89096588bcab02c187174a288dbcbf95d26179e8

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
echo 'pip intalling stuff'
pip install -r requirements.txt
echo 'downloading 2d image'
curl --output ok.png https://i.imgur.com/euaZxKf.png
echo 'downloading 3d image'
python utils.py
pydicom
SimpleITK
imageio
scipy
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# https://gist.github.com/aewhite/14db960f9e832bce4041bf185cdc9615\n",
"# Solution based on https://stackoverflow.com/a/51785735/278836\n",
"import tensorflow as tf\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"import SimpleITK as sitk\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"\n",
"def extract_patches(images):\n",
" return tf.image.extract_patches(\n",
" images,\n",
" (1, 3, 3, 1),\n",
" (1, 1, 1, 1),\n",
" (1, 1, 1, 1),\n",
" padding=\"VALID\")\n",
"\n",
"@tf.function\n",
"def extract_patches_inverse(shape, patches):\n",
" _x = tf.zeros(shape)\n",
" _y = extract_patches(_x)\n",
" grad = tf.gradients(_y, _x)[0]\n",
" return tf.gradients(_y, _x, grad_ys=patches)[0] / grad\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tf.Tensor(1.5045127e-15, shape=(), dtype=float32)\n"
]
}
],
"source": [
"shape = (10, 28, 28, 3)\n",
"images = tf.random.uniform(shape, 0.0, 1.0)\n",
"patches = extract_patches(images)\n",
"images_reconstructed = extract_patches_inverse(shape, patches)\n",
"error = tf.reduce_mean(tf.math.squared_difference(images_reconstructed, images))\n",
"print(error)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"reader= sitk.ImageFileReader()\n",
"reader.SetFileName('ok.nii.gz')\n",
"img_obj = reader.Execute()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(512, 512, 512)\n",
"(1, 512, 512, 512, 1)\n"
]
}
],
"source": [
"sz = 512\n",
"\n",
"images = sitk.GetArrayFromImage(img_obj)[:sz,:sz,:sz]\n",
"images = np.array(images).astype(np.float32)\n",
"if images.shape[0] != sz: \n",
" images = np.pad(images,[(0,sz-images.shape[0]),(0,0),(0,0)])\n",
"print(images.shape)\n",
"\n",
"images = np.expand_dims(images,axis=-1)\n",
"images = np.expand_dims(images,axis=0)\n",
"\n",
"print(images.shape)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f6b400cbdc0>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(np.sum(images.squeeze(),axis=0))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def extract_3d_patches(images, ksizes=(1,8,8,8,1), strides=(1,8,8,8,1), padding=\"SAME\"):\n",
" return tf.extract_volume_patches(\n",
" images,\n",
" ksizes,\n",
" strides,\n",
" padding)\n",
"\n",
"@tf.function\n",
"def extract_3d_patches_inverse(shape, patches,ksizes=(1,8,8,8,1), strides=(1,8,8,8,1), padding=\"SAME\"):\n",
" _x = tf.zeros(shape)\n",
" _y = extract_3d_patches(_x, ksizes=ksizes, strides=strides, padding=padding)\n",
" grad = tf.gradients(_y, _x)[0]\n",
" return tf.gradients(_y, _x, grad_ys=patches)[0] / grad\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tf.Tensor(0.0, shape=(), dtype=float32)\n"
]
}
],
"source": [
"\n",
"patches = extract_3d_patches(images)\n",
"images_reconstructed = extract_3d_patches_inverse(images.shape, patches)\n",
"error = tf.reduce_mean(tf.math.squared_difference(images_reconstructed, images))\n",
"print(error)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 64, 64, 64, 512)\n"
]
}
],
"source": [
"print(patches.shape)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"output = np.array(images_reconstructed).squeeze()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f6adc6a50a0>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(np.sum(output,axis=0))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import os
import sys
import requests
import json
import zipfile
import pydicom
import SimpleITK as sitk
def download_images(series_instance_uid,image_root="."):
url = f"https://services.cancerimagingarchive.net/services/v4/TCIA/query/getImage?SeriesInstanceUID={series_instance_uid}"
zip_file_path = os.path.join(image_root,series_instance_uid+'.zip')
r = requests.get(url, allow_redirects=True)
print(r.status_code)
if r.status_code != 200:
raise LookupError(f"ohoh {r.status_code}!")
open(zip_file_path, 'wb').write(r.content)
folder_path = os.path.join(image_root,series_instance_uid)
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
zip_ref.extractall(folder_path)
return folder_path
def imread(folder_path):
file_list = [os.path.join(folder_path,x) for x in os.listdir(folder_path)]
dicom_list = []
for image_file in file_list:
ds=pydicom.dcmread(image_file)
dicom_list.append((ds.InstanceNumber,image_file))
dicom_list = sorted(dicom_list,key=lambda x:x[0])
dicom_names = [x[1] for x in dicom_list]
reader = sitk.ImageSeriesReader()
reader.SetFileNames(dicom_names)
img_obj = reader.Execute()
return img_obj
if __name__ == "__main__":
series_instance_uid='1.3.6.1.4.1.14519.5.2.1.6279.6001.113679818447732724990336702075'
image_root = "/tmp/myimages"
os.makedirs(image_root,exist_ok=True)
folder_path = download_images(series_instance_uid,image_root=image_root)
img_obj = imread(folder_path)
writer = sitk.ImageFileWriter()
writer.SetFileName('ok.nii.gz')
writer.SetUseCompression(True)
writer.Execute(img_obj)
@pangyuteng
Copy link
Author

pangyuteng commented Mar 3, 2022

    ksizes = (1,100,100,1)
    strides = (1,5,5,1)
    rates = [1,1,1,1]
    padding = "SAME"
    
    input_shape = (1,100,100,1)
    volume = np.random.random(input_shape)
    print(volume.shape)
    i = tf.image.extract_patches(
        volume, ksizes, strides, rates, padding, name=None
    )


    print('input_shape',input_shape)
    print('ksizes',ksizes)
    print('strides',strides)
    print('input_shape[1]*input_shape[2]',float(input_shape[1])*float(input_shape[2]))
    print('output_shape',i.shape)
    
input_shape (1, 100, 100, 1)
ksizes (1, 100, 100, 1)
strides (1, 5, 5, 1)
input_shape[1]*input_shape[2] 10000.0
output_shape (1, 20, 20, 10000)
    

@pangyuteng
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment