Skip to content

Commit 204911b

Browse files
author
Cipher
committed
fix: improve stacklevel in register() warning for better traceback
The register() method's warning about non-ImageReader instances now uses stacklevel=3 instead of stacklevel=2. This correctly points to the LoadImage() call site where the reader is being instantiated, rather than internal frames. Stack trace: - User code: LoadImage(reader=...) - LoadImage.__init__() - self.register() - warnings.warn(stacklevel=3) → points to LoadImage() call This improves debugging experience for users who pass invalid readers. Signed-off-by: Cipher <cipher@openclaw.ai>
1 parent 60cb0d9 commit 204911b

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

monai/transforms/io/array.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def register(self, reader: ImageReader):
248248
"""
249249
if not isinstance(reader, ImageReader):
250250
warn_msg = f"Preferably the reader should inherit ImageReader, but got {type(reader)}."
251-
warnings.warn(warn_msg, stacklevel=2)
251+
warnings.warn(warn_msg, stacklevel=3)
252252
self.readers.append(reader)
253253

254254
def __call__(self, filename: Sequence[PathLike] | PathLike, reader: ImageReader | None = None):

0 commit comments

Comments
 (0)