From 2ecf8f0e440559bbd45f766eacde8af872e5c391 Mon Sep 17 00:00:00 2001 From: uturkbey Date: Tue, 27 Jan 2026 21:55:28 +0000 Subject: [PATCH 1/3] Fix quickshear edge detection wrap-around issue by using convolution --- .../defacing/quickshear/nipy_quickshear.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py b/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py index da9f2a9..76fae90 100644 --- a/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py +++ b/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py @@ -11,6 +11,7 @@ import nibabel as nb import numpy as np from numpy.typing import NDArray +from scipy.ndimage import convolve try: from duecredit import BibTeX, due @@ -83,14 +84,11 @@ def edge_mask(mask): brain = mask.any(axis=0) # Simple edge detection - edgemask = ( - 4 * brain - - np.roll(brain, 1, 0) - - np.roll(brain, -1, 0) - - np.roll(brain, 1, 1) - - np.roll(brain, -1, 1) - != 0 - ) + kernel = np.array([[0, -1, 0], + [-1, 4, -1], + [0, -1, 0]]) + edgemask = (convolve(brain, kernel, mode='constant', cval=0.0) != 0) + return edgemask.astype("uint8") From 1fccfa3cc3efecf29816d224f2479987a553f8b8 Mon Sep 17 00:00:00 2001 From: uturkbey Date: Wed, 28 Jan 2026 13:22:12 +0000 Subject: [PATCH 2/3] Autoformat with black --- .../defacing/quickshear/nipy_quickshear.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py b/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py index 76fae90..6654eaa 100644 --- a/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py +++ b/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py @@ -84,10 +84,8 @@ def edge_mask(mask): brain = mask.any(axis=0) # Simple edge detection - kernel = np.array([[0, -1, 0], - [-1, 4, -1], - [0, -1, 0]]) - edgemask = (convolve(brain, kernel, mode='constant', cval=0.0) != 0) + kernel = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]]) + edgemask = convolve(brain, kernel, mode="constant", cval=0.0) != 0 return edgemask.astype("uint8") From da7177097bfc032878a1dc746a9030f58bad43f6 Mon Sep 17 00:00:00 2001 From: uturkbey Date: Wed, 28 Jan 2026 14:01:15 +0000 Subject: [PATCH 3/3] Autoformat with black --- brainles_preprocessing/registration/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/brainles_preprocessing/registration/__init__.py b/brainles_preprocessing/registration/__init__.py index e38d97d..9eea05d 100644 --- a/brainles_preprocessing/registration/__init__.py +++ b/brainles_preprocessing/registration/__init__.py @@ -1,6 +1,5 @@ import warnings - try: from .ANTs.ANTs import ANTsRegistrator except ImportError: @@ -11,7 +10,6 @@ from .niftyreg.niftyreg import NiftyRegRegistrator - try: from .elastix.elastix import ElastixRegistrator except ImportError: