Skip to content

Commit

Permalink
Revert "[Backport MR-4909] ENH: Suppress irrelevant TIFF warnings"
Browse files Browse the repository at this point in the history
This reverts commit 5e14729.
  • Loading branch information
jcfr authored and hjmjohnson committed Jan 25, 2025
1 parent cbd4606 commit 5b6b1a3
Showing 1 changed file with 10 additions and 43 deletions.
53 changes: 10 additions & 43 deletions Modules/IO/TIFF/src/itkTIFFImageIO.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand All @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -205,9 +175,6 @@ TIFFImageIO::ReadVolume(void * buffer)

TIFFReadDirectory(m_InternalImage->m_Image);
}

TIFFSetWarningHandler(savedWarningHandler);
_ITKTIFFsavedWarningHandler = nullptr;
}

void
Expand Down

0 comments on commit 5b6b1a3

Please # to comment.