Skip to content

Conversation

Marklovesmichelle69
Copy link

See the CONTRIBUTING guide. Specifically:

Start ITK commit messages with a standard prefix (and a space):

  • BUG: fix for runtime crash or incorrect result
  • COMP: compiler error or warning fix
  • DOC: documentation change
  • ENH: new functionality
  • PERF: performance improvement
  • STYLE: no logic impact (indentation, comments)
  • WIP: Work In Progress not ready for merge

Provide a short, meaningful message that describes the change you made.

When the PR is based on a single commit, the commit message is usually left as the PR message.

A reference to a related issue or pull request in your repository. You can automatically close a related issues using keywords

@mentions of the person or team responsible for reviewing proposed changes.

Thanks for contributing to ITK!

thewtex and others added 26 commits April 2, 2025 11:24
ENH: Update Montage remote module mostly to fix warnings
The default setting for `CASE_SENSE_NAMES` (in doxygen) is `SYSTEM` which means that on Linux it is set to `YES` and on (e.g.) Windows to `NO` (see analysis in #5262 (comment)).
Seen the usage of the `EXCLUDE_PATTERN` `*/test*` this meant on Windows that also the directory with the name `TestKernel` was matched and thus excluded.
Setting the `CASE_SENSE_NAMES` explicitly to `YES` prevents this (on Linux it won't have any effect as here the default was sufficient).
Note: Due to a bug in doxygen (see doxygen/doxygen#11519) this would still exclude the pattern. The new setting will only have an effect, on Windows, when, the not yet released, doxygen 1.14.0 or newer will be used.
ENH: Update MorphologicalContourInterpolation module to fix warnings
Following C++ Core Guidelines, Oct 3, 2024, "For “in” parameters, pass
cheaply-copied types by value and others by reference to `const`",
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-in
Fixed a Visual C++ x86 (32-bit) error
```log
error C2131: expression did not evaluate to a constant
```
Placed the definitions of small inline member functions (having only one
statement) inside the class definition, for the sake of code readability.
Ran clang-tidy readability-convert-member-functions-to-static, as documented at
https://clang.llvm.org/extra/clang-tidy/checks/readability/convert-member-functions-to-static.html:

> Finds non-static member functions that can be made `static` because the
> functions don’t use `this`.

Affected the protected member function `twist` and its helper functions.
The GetDisplacementFieldControlPointLattice method does not compile
and is not used. The compilation error is related to the non-const
GetOutput being called in a const method.

Addtionally, grafting is added for the output to ensure proper
pipeline execution.
This test is timing out on nightly valgrind and coverage builds.

These changes may reduce the number of temporaries heap allocations
used, and improve performance. Local test in debug mode, improve
performance by more than 10%.
PERF: Use region iterator image ComposeBigVectorImageFilter
Include `itkNumericTraitsCovariantVectorPixelType.h` header file in test
so that the appropriate definitions are available.

Fixes:
```
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/test/itkNumericTraitsTest.cxx:151:112:
 warning: instantiation of variable 'itk::NumericTraits<itk::CovariantVector<char, 1> >::Zero'
 required here, but no definition is available [-Wundefined-var-template]
  std::cout << "\tZero: " << static_cast<typename itk::NumericTraits<T>::PrintType>((T)(itk::NumericTraits<T>::Zero))
                                                                                                               ^
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/test/itkNumericTraitsTest.cxx:430:3:
 note: in instantiation of function template specialization
 '(anonymous namespace)::CheckFixedArrayTraits<itk::CovariantVector<char, 1> >' requested here
  CheckFixedArrayTraits(itk::CovariantVector<char, 1>());
  ^
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/include/itkNumericTraitsCovariantVectorPixel.h:196:38:
 note: forward declaration of template entity is here
  static const Self ITKCommon_EXPORT Zero;
                                     ^
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/test/itkNumericTraitsTest.cxx:151:112:
 note: add an explicit instantiation declaration to suppress this warning if
 'itk::NumericTraits<itk::CovariantVector<char, 1> >::Zero' is explicitly instantiated in another translation unit
  std::cout << "\tZero: " << static_cast<typename itk::NumericTraits<T>::PrintType>((T)(itk::NumericTraits<T>::Zero))
                                                                                                               ^
```

and
```
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/test/itkNumericTraitsTest.cxx:153:111:
 warning: instantiation of variable 'itk::NumericTraits<itk::CovariantVector<char, 1> >::One'
 required here, but no definition is available [-Wundefined-var-template]
  std::cout << "\tOne: " << static_cast<typename itk::NumericTraits<T>::PrintType>((T)(itk::NumericTraits<T>::One))
                                                                                                              ^
[CTest: warning matched]
 /Users/builder/externalModules/Core/Common/include/itkNumericTraitsCovariantVectorPixel.h:197:38:
 note: forward declaration of template entity is here
  static const Self ITKCommon_EXPORT One;
                                     ^
[CTest: warning matched] /Users/builder/externalModules/Core/Common/test/itkNumericTraitsTest.cxx:153:111:
 note: add an explicit instantiation declaration to suppress this warning if
 'itk::NumericTraits<itk::CovariantVector<char, 1> >::One' is explicitly instantiated in another translation unit
  std::cout << "\tOne: " << static_cast<typename itk::NumericTraits<T>::PrintType>((T)(itk::NumericTraits<T>::One))
                                                                                                              ^
```

raised for example in:
https://open.cdash.org/viewBuildError.php?type=1&buildid=10332365
When an unsupported JPEG2000 encoding was encountered, resources need
to be release. This addresses issue with repeated reading problematic
files allocated threads until system limits were reached resulting in
deadlock.
Moved the implementation of the "larger" `inline` member functions of
`MersenneTwisterRandomVariateGenerator` from the h file to the cxx file, making
them "out of line" (non-inline).

Following C++ Core Guidelines, Oct 3, 2024, "Note: Consider making functions out
of line if they are more than three statements and can be declared out of line",
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-inline
Moved the protected member function `twist` and its internal helper functions
`hiBit`, `loBit`, `loBits`, and `mixBits` from the class definition of
`MersenneTwisterRandomVariateGenerator` into an unnamed namespace in its cxx
file.

Following C++ Core Guidelines, Oct 3, 2024, "Use an unnamed (anonymous)
namespace for all internal/non-exported entities",
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-unnamed2
Validate input before pipeline execution.
Addresses potential minor bugs with casting, modified times with
non-macro versions of pipeline input accessor methods.
Refactored the Statistics examples by moving core logic into examplemain()
function, try/catch handling is now done only in main(), which
calls examplemain(). Original try blocks within the examples were removed.
jhlegarreta and others added 29 commits June 19, 2025 16:47
COMP: Use value initialization to zero-initialize thread id variable
DOC: Fix links to 5.4.4 release artifacts
Primary branch name transition.
Also use __has_warning to guard againist trying to disable warnings that are unknown (ex: in older Clangs).
COMP: suppress Clang -Wduplicate-enum
- removed workaround for Xcode 10
- emit #error for AppleClang less than Xcode 12.4
- removed workaround for broken fail() added in 1fcd007 in 2003. Hopefully the workaround is no longer needed. I'm not sure, but all tests pass on my arm64 macOS 15.5.

Related to issue #5369.
Directly initialized `MapPixelType::CType` to its intended value in the primary
template definition of `MapPixelType`, and removed its specializations.

Removed `IMAGEIOBASE_TYPEMAP`, following C++ Core Guidelines, May 8, 2025,
"Don’t use macros for program text manipulation",
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es30-dont-use-macros-for-program-text-manipulation
Support transition from master to main as the primary branch.

Changes the local and remove branch from master to main. Also works on a
topic branch.
Replaced function calls of the form `instance->MemberFunction(x)` with
`itk::T::MemberFunction(x)`, for the static member functions
`GetPixelTypeAsString` and `GetComponentTypeAsString`.

Removed the non-static version of the string <-> type conversion tests from
itkImageIOBaseTest.

Follow-up to pull request #5391
commit 45e93bb
COMP: removed workarounds for old Apple stuff
Added three static member functions to ImageIOBase:

    IsComponentTypeFloatingPoint(IOComponentEnum)
    IsComponentTypeUnsigned(IOComponentEnum)
    GetNumberOfBitsOfComponentType(IOComponentEnum)

Eases estimating whether a component type is floating point,  whether the type
is unsigned, and estimating its number of bits, respectively.
The github 'ghostworkflow' fails when the subject
line is greater than 78 characters in length.

Add a check to enforce the subject line length
during initial commit when it is easy to fix.

The function 'hooks_config' does not exist, so it
always failed and prevented the script from performing
the intended task.

The testing for correct ITK commit prefix
was migrated form commit-msg to this script.
The commit-msg script is never used.  It was replaced with
kw-commit-msg script that is called for pre-commit.
Replaced function calls of the form `instance->MemberFunction(x)` with
`itk::T::MemberFunction(x)`, for the static member functions
`GetPixelTypeAsString` and `GetComponentTypeAsString`, in Examples.

Follow-up to pull request #5391
commit 45e93bb
Optimize calls to std::string::find() and friends when the
search item passed is a single character string literal.
The character literal overload is more efficient.
Changes for improved readability in DartMeasurement output
Refactored multiple `#define` macros into strongly-typed `enum`
declarations for improved readability, type safety, and maintainability.

modernize-macro-to-enum
Refactored constructors to utilize `std::move` for transferring
ownership of string and vector arguments, improving efficiency and
modernizing the implementation. Included necessary `<utility>` headers.
…-msg-checking

BUG: Fix kw commit msg checking
ImageIO: Add member functions to get pixel component type traits, remove MapPixelType specializations
@thewtex thewtex deleted the master branch June 23, 2025 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet