From 5b6b1a3b4e1f580961f474d0d47f2c0eb339e7c9 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Wed, 30 Oct 2024 15:40:54 -0400 Subject: [PATCH] Revert "[Backport MR-4909] ENH: Suppress irrelevant TIFF warnings" This reverts commit 5e147295f3d6e75b939f06ba91b00ae016f26f43. --- Modules/IO/TIFF/src/itkTIFFImageIO.cxx | 53 +++++--------------------- 1 file changed, 10 insertions(+), 43 deletions(-) diff --git a/Modules/IO/TIFF/src/itkTIFFImageIO.cxx b/Modules/IO/TIFF/src/itkTIFFImageIO.cxx index c4205fe0417..37df52e2997 100644 --- a/Modules/IO/TIFF/src/itkTIFFImageIO.cxx +++ b/Modules/IO/TIFF/src/itkTIFFImageIO.cxx @@ -24,34 +24,9 @@ #include "itk_tiff.h" -#include "itksys/SystemTools.hxx" - namespace itk { -TIFFErrorHandler _ITKTIFFsavedWarningHandler = nullptr; - -// This warning handler suppresses log messages starting with "Unknown field with tag" because these kind of messages -// are harmless (they just mean that the TIFF file contains custom tags) and they would flood the console when reading images -// that contains hundreds of frames, hiding actual errors or relevant warnings. -static void -ITKTIFFTagNotFoundSuppressWarningHandler(const char * module, const char * fmt, va_list ap) -{ - if (fmt != nullptr) - { - if (itksys::SystemTools::StringStartsWith(fmt, "Unknown field with tag")) - { - // ignore unknown field warnings - return; - } - } - // call the saved warning handler - if (_ITKTIFFsavedWarningHandler != nullptr) - { - _ITKTIFFsavedWarningHandler(module, fmt, ap); - } -} - bool TIFFImageIO::CanReadFile(const char * file) { @@ -65,18 +40,16 @@ TIFFImageIO::CanReadFile(const char * file) } // Now check if this is a valid TIFF image - TIFFErrorHandler savedErrorHandler = TIFFSetErrorHandler(nullptr); - TIFFErrorHandler savedWarningHandler = TIFFSetWarningHandler(ITKTIFFTagNotFoundSuppressWarningHandler); - _ITKTIFFsavedWarningHandler = savedWarningHandler; - bool success = (m_InternalImage->Open(file) != 0); - if (!success) - { - m_InternalImage->Clean(); - } - TIFFSetErrorHandler(savedErrorHandler); - TIFFSetWarningHandler(savedWarningHandler); - _ITKTIFFsavedWarningHandler = nullptr; - return success; + TIFFErrorHandler save = TIFFSetErrorHandler(nullptr); + int res = m_InternalImage->Open(file); + if (res) + { + TIFFSetErrorHandler(save); + return true; + } + m_InternalImage->Clean(); + TIFFSetErrorHandler(save); + return false; } void @@ -179,9 +152,6 @@ TIFFImageIO::ReadVolume(void * buffer) const size_t width{ m_InternalImage->m_Width }; const size_t height{ m_InternalImage->m_Height }; - TIFFErrorHandler savedWarningHandler = TIFFSetWarningHandler(ITKTIFFTagNotFoundSuppressWarningHandler); - _ITKTIFFsavedWarningHandler = savedWarningHandler; - for (uint16_t page = 0; page < m_InternalImage->m_NumberOfPages; ++page) { if (m_InternalImage->m_IgnoredSubFiles > 0) @@ -205,9 +175,6 @@ TIFFImageIO::ReadVolume(void * buffer) TIFFReadDirectory(m_InternalImage->m_Image); } - - TIFFSetWarningHandler(savedWarningHandler); - _ITKTIFFsavedWarningHandler = nullptr; } void