Skip to content

Issue with using 2D images in tigre.utilities.im_3d_denoise #681

@MargaretDuff

Description

@MargaretDuff

Expected Behavior

TV denoised images

Actual Behavior

Instability (but only sometimes) in 2D case. Sometimes it kills my kernel! Seems stable for 3D cases

Code to reproduce the problem (If applicable)

The problem code

##2d image example - 1 slices 
from tigre.utilities.im_3d_denoise import im3ddenoise
from cil.utilities import dataexample
import numpy as np
from tigre.utilities.gpu import GpuIds
from cil.utilities.display import show2D
from cil.processors import Slicer

gpuids = GpuIds()
image = dataexample.SIMULATED_SPHERE_VOLUME.get()

image = image.get_slice(vertical='centre').as_array()
image = np.expand_dims(image, axis=0) 
print("image shape", image.shape)
for i in range(10):

    denoise = im3ddenoise(image, 20, 1.0 / 0.1, gpuids)

    #show2D([denoise, image], title=['im3ddenoise(image, 20, 1.0 / 0.1, gpuids)', 'image'], cmap='inferno', origin='upper-left')
    print("Run", i+1)
    print('Check for Nan', np.isnan(np.sum(denoise)))

Sometimes it works! Sometimes it all goes wrong:
Image
Sometimes it kills my kernel!

For 2 slices it seems to consistently work fine:

image = dataexample.SIMULATED_SPHERE_VOLUME.get()

image = Slicer(roi={'vertical':(63,65,1)})(image).as_array()
print("image shape", image.shape)
for i in range(10):
    denoise = im3ddenoise(image, 20, 1.0 / 0.1, gpuids)

   # show2D([denoise, image], title=['im3ddenoise(image, 20, 1.0 / 0.1, gpuids)', 'image'], cmap='inferno', origin='upper-left')
    print('Check for Nan', np.isnan(np.sum(denoise)))

Specifications

  • MATLAB/python version: python
  • OS: Linux
  • CUDA version: 12.9
  • Tigre version: pytigre==2.6.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions