From cd3a8eb4033360aba6a71042512bb57d356f1076 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Wed, 4 Oct 2023 17:55:19 -0400 Subject: [PATCH] DOC: Add Sphinx Documentation --- CONTRIBUTING.md | 376 +--- Documentation/Releases/README.md | 3 - Documentation/docs/.gitignore | 2 + Documentation/docs/Makefile | 20 + Documentation/docs/README.md | 18 + .../_static/icon/android-chrome-192x192.png | Bin 0 -> 8102 bytes .../_static/icon/android-chrome-512x512.png | Bin 0 -> 28046 bytes .../docs/_static/icon/apple-touch-icon.png | Bin 0 -> 7495 bytes .../docs/_static/icon/browserconfig.xml | 9 + .../docs/_static/icon/favicon-16x16.png | Bin 0 -> 872 bytes .../docs/_static/icon/favicon-32x32.png | Bin 0 -> 1632 bytes Documentation/docs/_static/icon/favicon.ico | Bin 0 -> 15086 bytes .../docs/_static/icon/html_head_content.txt | 9 + .../docs/_static/icon/mstile-150x150.png | Bin 0 -> 5145 bytes .../docs/_static/icon/safari-pinned-tab.svg | 118 ++ .../docs/_static/icon/site.webmanifest | 19 + .../docs/_static/itk-logo-low-res.png | Bin 0 -> 10160 bytes Documentation/docs/_static/itk-logo.svg | 1 + Documentation/docs/conf.py | 48 + .../{ => docs/contributing}/GitCheatSheet.pdf | Bin .../{ => docs/contributing}/GitCheatSheet.tex | 0 .../contributing/content-link-upload.png} | Bin .../{Data.md => docs/contributing/data.md} | 17 +- .../contributing/git_help.md} | 4 +- Documentation/docs/contributing/index.md | 388 ++++ .../contributing/itk-testing-data.png} | Bin .../contributing/updating_third_party.md} | 4 +- .../contributing/upload_binary_data.md} | 6 +- Documentation/docs/courses.md | 1 + .../{Download.md => docs/download.md} | 4 +- Documentation/docs/index.md | 47 + Documentation/docs/make.bat | 35 + .../{Releases => docs/releases}/1.0.md | 4 +- .../{Releases => docs/releases}/1.8.md | 0 .../{Releases => docs/releases}/2.0.md | 0 .../{Releases => docs/releases}/2.2.md | 0 .../{Releases => docs/releases}/2.4.md | 0 .../{Releases => docs/releases}/2.6.md | 0 .../{Releases => docs/releases}/2.8.md | 0 .../{Releases => docs/releases}/3.0.md | 0 .../{Releases => docs/releases}/3.12.md | 0 .../{Releases => docs/releases}/3.14.md | 0 .../{Releases => docs/releases}/3.16.md | 0 .../{Releases => docs/releases}/3.18.md | 0 .../{Releases => docs/releases}/3.2.md | 0 .../{Releases => docs/releases}/3.20.md | 0 .../{Releases => docs/releases}/4.0.md | 6 +- .../{Releases => docs/releases}/4.1.md | 0 .../{Releases => docs/releases}/4.10.md | 0 .../{Releases => docs/releases}/4.11.md | 0 .../{Releases => docs/releases}/4.12.md | 0 .../{Releases => docs/releases}/4.13.md | 0 .../{Releases => docs/releases}/4.2.md | 3 - .../{Releases => docs/releases}/4.3.md | 4 +- .../{Releases => docs/releases}/4.4.md | 0 .../{Releases => docs/releases}/4.5.md | 0 .../{Releases => docs/releases}/4.6.md | 0 .../{Releases => docs/releases}/4.7.md | 0 .../{Releases => docs/releases}/4.8.md | 0 .../{Releases => docs/releases}/4.9.md | 0 .../{Releases => docs/releases}/5.0.md | 0 .../{Releases => docs/releases}/5.0a01.md | 2 +- .../{Releases => docs/releases}/5.0a02.md | 0 .../{Releases => docs/releases}/5.0b01.md | 0 .../{Releases => docs/releases}/5.0b02.md | 0 .../{Releases => docs/releases}/5.0b03.md | 0 .../{Releases => docs/releases}/5.0rc01.md | 0 .../{Releases => docs/releases}/5.0rc02.md | 0 .../{Releases => docs/releases}/5.1.md | 0 Documentation/docs/releases/5.2.md | 1807 ++++++++++++++++ .../{Releases => docs/releases}/5.3.md | 0 .../{Releases => docs/releases}/5.3rc01.md | 0 .../{Releases => docs/releases}/5.3rc02.md | 0 .../{Releases => docs/releases}/5.3rc03.md | 0 .../{Releases => docs/releases}/5.3rc04.md | 2 + Documentation/docs/releases/5.4rc01.md | 1873 +++++++++++++++++ Documentation/docs/releases/index.md | 56 + Documentation/docs/requirements.txt | 6 + 78 files changed, 4485 insertions(+), 407 deletions(-) mode change 100644 => 120000 CONTRIBUTING.md delete mode 100644 Documentation/Releases/README.md create mode 100644 Documentation/docs/.gitignore create mode 100644 Documentation/docs/Makefile create mode 100644 Documentation/docs/README.md create mode 100644 Documentation/docs/_static/icon/android-chrome-192x192.png create mode 100644 Documentation/docs/_static/icon/android-chrome-512x512.png create mode 100644 Documentation/docs/_static/icon/apple-touch-icon.png create mode 100644 Documentation/docs/_static/icon/browserconfig.xml create mode 100644 Documentation/docs/_static/icon/favicon-16x16.png create mode 100644 Documentation/docs/_static/icon/favicon-32x32.png create mode 100644 Documentation/docs/_static/icon/favicon.ico create mode 100644 Documentation/docs/_static/icon/html_head_content.txt create mode 100644 Documentation/docs/_static/icon/mstile-150x150.png create mode 100644 Documentation/docs/_static/icon/safari-pinned-tab.svg create mode 100644 Documentation/docs/_static/icon/site.webmanifest create mode 100644 Documentation/docs/_static/itk-logo-low-res.png create mode 100644 Documentation/docs/_static/itk-logo.svg create mode 100644 Documentation/docs/conf.py rename Documentation/{ => docs/contributing}/GitCheatSheet.pdf (100%) rename Documentation/{ => docs/contributing}/GitCheatSheet.tex (100%) rename Documentation/{CMakeW3ExternalDataUpload.png => docs/contributing/content-link-upload.png} (100%) rename Documentation/{Data.md => docs/contributing/data.md} (91%) rename Documentation/{GitHelp.md => docs/contributing/git_help.md} (91%) create mode 100644 Documentation/docs/contributing/index.md rename Documentation/{ITK-testing-data.png => docs/contributing/itk-testing-data.png} (100%) rename Documentation/{Maintenance/UpdatingThirdParty.md => docs/contributing/updating_third_party.md} (95%) rename Documentation/{UploadBinaryData.md => docs/contributing/upload_binary_data.md} (97%) create mode 100644 Documentation/docs/courses.md rename Documentation/{Download.md => docs/download.md} (97%) create mode 100644 Documentation/docs/index.md create mode 100644 Documentation/docs/make.bat rename Documentation/{Releases => docs/releases}/1.0.md (97%) rename Documentation/{Releases => docs/releases}/1.8.md (100%) rename Documentation/{Releases => docs/releases}/2.0.md (100%) rename Documentation/{Releases => docs/releases}/2.2.md (100%) rename Documentation/{Releases => docs/releases}/2.4.md (100%) rename Documentation/{Releases => docs/releases}/2.6.md (100%) rename Documentation/{Releases => docs/releases}/2.8.md (100%) rename Documentation/{Releases => docs/releases}/3.0.md (100%) rename Documentation/{Releases => docs/releases}/3.12.md (100%) rename Documentation/{Releases => docs/releases}/3.14.md (100%) rename Documentation/{Releases => docs/releases}/3.16.md (100%) rename Documentation/{Releases => docs/releases}/3.18.md (100%) rename Documentation/{Releases => docs/releases}/3.2.md (100%) rename Documentation/{Releases => docs/releases}/3.20.md (100%) rename Documentation/{Releases => docs/releases}/4.0.md (98%) rename Documentation/{Releases => docs/releases}/4.1.md (100%) rename Documentation/{Releases => docs/releases}/4.10.md (100%) rename Documentation/{Releases => docs/releases}/4.11.md (100%) rename Documentation/{Releases => docs/releases}/4.12.md (100%) rename Documentation/{Releases => docs/releases}/4.13.md (100%) rename Documentation/{Releases => docs/releases}/4.2.md (99%) rename Documentation/{Releases => docs/releases}/4.3.md (99%) rename Documentation/{Releases => docs/releases}/4.4.md (100%) rename Documentation/{Releases => docs/releases}/4.5.md (100%) rename Documentation/{Releases => docs/releases}/4.6.md (100%) rename Documentation/{Releases => docs/releases}/4.7.md (100%) rename Documentation/{Releases => docs/releases}/4.8.md (100%) rename Documentation/{Releases => docs/releases}/4.9.md (100%) rename Documentation/{Releases => docs/releases}/5.0.md (100%) rename Documentation/{Releases => docs/releases}/5.0a01.md (99%) rename Documentation/{Releases => docs/releases}/5.0a02.md (100%) rename Documentation/{Releases => docs/releases}/5.0b01.md (100%) rename Documentation/{Releases => docs/releases}/5.0b02.md (100%) rename Documentation/{Releases => docs/releases}/5.0b03.md (100%) rename Documentation/{Releases => docs/releases}/5.0rc01.md (100%) rename Documentation/{Releases => docs/releases}/5.0rc02.md (100%) rename Documentation/{Releases => docs/releases}/5.1.md (100%) create mode 100644 Documentation/docs/releases/5.2.md rename Documentation/{Releases => docs/releases}/5.3.md (100%) rename Documentation/{Releases => docs/releases}/5.3rc01.md (100%) rename Documentation/{Releases => docs/releases}/5.3rc02.md (100%) rename Documentation/{Releases => docs/releases}/5.3rc03.md (100%) rename Documentation/{Releases => docs/releases}/5.3rc04.md (99%) create mode 100644 Documentation/docs/releases/5.4rc01.md create mode 100644 Documentation/docs/releases/index.md create mode 100644 Documentation/docs/requirements.txt diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 57fc3b8ae289..000000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,375 +0,0 @@ -Contributing to ITK -=================== - -Welcome to the Insight Toolkit (ITK) ! We are excited that you are here! Join us as a contributing member of the community. - -![Contributor graph](https://contributor-graph-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=InsightSoftwareConsortium/ITK) - -This article documents how to contribute improvements to ITK. - -For a *quick start guide*, see the [ITK Git Cheatsheet]. - -If you are looking for an issue to resolve that will help the ITK community, see the *good first issue* label in the [ITKSphinxExamples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/labels/good-first-issue) or [ITK](https://github.com/InsightSoftwareConsortium/ITK/labels/Good%20first%20issue) repositories. - -Setup ------ - -Before you begin, perform initial setup: - - 1. [Register for a GitHub](https://github.com/join) account. - 2. Optionally download our [one page PDF desk reference](https://raw.githubusercontent.com/InsightSoftwareConsortium/ITK/master/Documentation/GitCheatSheet.pdf). - 3. Follow the [download instructions] to create a local ITK clone: - -```sh - $ git clone https://github.com/InsightSoftwareConsortium/ITK -``` - - 4. Run the developer setup script [`SetupForDevelopment.sh`] to prepare your - ITK work tree and create Git command aliases used below: - -```sh - $ ./Utilities/SetupForDevelopment.sh -``` - -This script helps configure your GitHub fork remote, Git client-side hooks, -and useful Git aliases. The default Git remote names for your fork and -`InsightSoftwareConsortium/ITK` are `origin` and `upstream`, respectively. -However, other remote names can be used. Note that ITK defines some useful -Git aliases, such as `review-push`, `pr`, `pr-clean`, and `prepush`, through -the [`setup-git-aliases`] script for general Git tasks in ITK. - -Visit the *Pro Git: Setup* resource in [Git Help] for further -information on setting up your local Git environment. - -Workflow --------- - -ITK development uses a branchy workflow based on topic branches. -This corresponds to the *Fork & Pull Model* mentioned in the -[GitHub flow guide]. Our collaboration workflow consists of -three main steps: - - 1. Local Development - * [Update](#update) - * [Create a Topic](#create-a-topic) - 2. Code Review - * [Share a Topic](#share-a-topic) - * [Test a Topic](#test-a-topic) - * [Revise a Topic](#revise-a-topic) - 3. Integrate Changes - * [Merge a Topic](#merge-a-topic) - * [Delete a Topic](#delete-a-topic) - -Update ------- - -Update your local `master` branch: - -```sh - $ git checkout master - $ git pullall -``` - -Create a Topic --------------- - -All new work must be committed on topic branches. Name topics like you might -name functions: concise but precise. A reader should have a general idea of the -feature or fix to be developed given just the branch name. - -To start a new topic branch: - -```sh - $ git fetch upstream -``` - -For new development, start the topic from `upstream/master`: - -```sh - $ git checkout -b my-topic upstream/master -``` - -For release branch fixes, start the topic from `upstream/release`: - -```sh - $ git checkout -b my-topic upstream/release -``` - -(*You may visit the* Pro Git: Basic Branching *resource in [Git Help] for -further information on working with branches.*) - -Edit files and create commits (repeat as needed). Add a prefix to your commit -message (see below). - -```sh - $ edit file1 file2 file3 -``` -(*To add data follow [these instructions](Documentation/Data.md#add-data).*) - -```sh - $ git add file1 file2 file3 - $ git commit -``` - -(*You may visit the* Pro Git: Recording Changes *resource in [Git Help] for -further information on making changes and committing snapshots.*) - -**Note**: *If your change modifies any of the modules in the -`Modules/ThirdParty` directory, please read our -[Updating Third Party] guide.* - -Breaking Changes ----------------- - -Breaking changes are defined in ITK as those changes that introduce changes to -the API of the [major version](https://semver.org/) of the toolkit, and as -such, make a component of the toolkit no longer backwards compatible. Breaking -changes are only allowed in new major releases. Thus, the change may be held -up by the toolkit's maintainers to ensure consistency in the toolkit. Before -making such changes to the code, and considering other options to keep the -code backward-compatible, please either open an -[issue](https://github.com/InsightSoftwareConsortium/ITK/issues/new/choose) -from the appropriate category or discuss the subject in [ITK's Discourse]. If -the change finally is made into a *pull request*, cross-reference the issue -and/or the discussion with the appropriate link. - -Design Changes --------------- - -Design changes should be discussed in [ITK's Discourse]. A -[Design Impact -Report](https://github.com/InsightSoftwareConsortium/ITK/issues/new?labels=type%3ADesign&template=design_impact_report.md) -can also be opened to keep track of the requested change. Design changes need -explicit approval from the toolkit's maintainers. - -Commit Messages ---------------- - -Write your commit messages using the standard prefixes for ITK commit -messages: - - * `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 - -The body of the message should clearly describe the motivation of the commit -(**what**, **why**, and **how**). In order to ease the task of reviewing -commits, the message body should follow the following guidelines: - - 1. Leave a blank line between the subject and the body. - This helps `git log` and `git rebase` work nicely, and allows to smooth - generation of release notes. - 2. Try to keep the subject line below 72 characters, ideally 50. - 3. Capitalize the subject line. - 4. Do not end the subject line with a period. - 5. Use the imperative mood in the subject line (e.g. `STYLE: Change - template parameter name prefix N to V`). - 6. Wrap the body at 80 characters. - 7. Use semantic line feeds to separate different ideas, which improves the - readability. - 8. Be concise, but honor the change: if significant alternative solutions - were available, explain why they were discarded. - 9. If the commit refers to a topic discussed in [ITK's Discourse], or fixes - a regression test, provide the link. If it fixes a compiler error, provide a - minimal verbatim message of the compiler error. If the commit closes an - issue, use the [GitHub issue closing - keywords](https://help.github.com/en/articles/closing-issues-using-keywords). - -Keep in mind that the significant time is invested in reviewing commits and -*pull requests*, so following these guidelines will greatly help the people -doing reviews. - -These guidelines are largely inspired by Chris Beam's -[How to Write a Commit Message](https://chris.beams.io/posts/git-commit/) -post. - -Share a Topic -------------- - -When a topic is ready for review and possible inclusion, share it by pushing -to GitHub and opening a *pull request* on the *InsightSoftwareConsortium/ITK* -upstream repository. - -Checkout the topic if it is not your current branch: - -```sh - $ git checkout my-topic -``` - -Check what commits will be pushed to GitHub for review: - -```sh - $ git prepush -``` - -Push commits in your topic branch for review by the community: - -```sh - $ git review-push --force -``` - -A URL will be provided in the terminal -- visit this url to review the topic -and open a pull request. - -Optionally, discuss the change by opening a topic on [ITK's Discourse]. - -Test a Topic ------------- - -When a topic is submitted, it is tested across the three major platforms -before being merged thanks to the [Azure DevOps Pipelines CI -system](https://azure.microsoft.com/en-ca/services/devops/pipelines/), -as well as the [CDash GitHub -Checks](https://github.com/InsightSoftwareConsortium/ITKGitHubCDashStatus), -and [ITK Coding Style -check](https://github.com/InsightSoftwareConsortium/ITKClangFormatLinterAction). - -If a platform configuration test failure appears to be a false positive, the -test can be re-executed by adding a comment to the pull request with the -content `/azp run `. For example: - -``` - /azp run ITK.Linux -``` - -After the topic has been merged, it is tested on many -platforms and configurations on the [nightly -dashboard](https://open.cdash.org/index.php?project=Insight). - -If tests fail on a submitted topic, see the [Revise a Topic](#revise-a-topic) -step on how to submit a revised version. After a topic is merged, please check -the next day's nightly dashboard to ensure there are not any regressions. If -there are any new warnings or errors, submit a follow-up patch as soon as -possible. - -Revise a Topic --------------- - -Usually, a topic goes through several revisions in the review process. -Once a topic is approved during GitHub review, proceed to the -[next step](#merge-a-topic). - -Checkout the topic if it is not your current branch: - -```sh - $ git checkout my-topic -``` - -To revise the most recent commit on the topic edit files and add changes -normally and then amend the commit: - -```sh - $ git commit --amend -``` - -(*You may visit the* Pro Git: Changing the Last Commit *resource in [Git Help] -for further information on revising and rewriting your commit history.*) - -To revise commits further back on the topic, say the `3`rd commit back: - -```sh - $ git rebase -i HEAD~3 -``` - -(*Substitute the correct number of commits back, as low as `1`.*) - -Follow Git's interactive instructions. - -Return to the [Share a Topic](#share-a-topic) step to share the revised topic. - -(*You may visit the* Pro Git: Changing Multiple Commits *resource in [Git Help] -for further information on changing multiple commits -i.e. not only the last -one, but further back in your history-, and the* Pro Git: Rebasing *resource on -taking all the changes that were committed on one branch and replaying them on -another one.*) - -Merge a Topic -------------- - -**Only authorized developers with GitHub merge permissions execute this step.** - -After a feature topic has been reviewed and approved in GitHub, ITK -maintainers will merge it into the upstream repository via the GitHub user -interface. - -(*If the merge conflicts follow the printed instructions to resolve them.*) - -For bug fixes that are ready to be included in the next patch release, make a -comment on the pull request which states the topic should be merged to the -`release` branch. - -Here are the recommended steps to merge a topic to both `release` and `master` -branches, assuming the topic branch is forked off the `release` branch: - -```sh - $ git checkout release - $ git merge --no-ff my-topic - $ git push upstream release -``` - -and do: - -```sh - $ git checkout master - $ git merge --no-ff release - $ git push upstream master -``` - -to merge the `release` branch back to `master`. - -Delete a Topic --------------- - -After a topic has been merged upstream, delete your local branch for the topic. - -Checkout and update the `master` branch: - -```sh - $ git checkout master - $ git pullall -``` - -Delete the local topic branch: - -```sh - $ git branch -d my-topic -``` - -The `branch -d` command works only when the topic branch has been correctly -merged. Use `-D` instead of `-d` to force the deletion of an unmerged topic -branch (*warning*: you could lose commits). - -Citation Addition ------------------ - -To connect your [ORCID](https://orcid.org/) profile to the [ITK Zenodo -citation](https://zenodo.org/record/3592082), add your name and ORCID iD to -the *ITK/.zenodo* file after contributing 10 or more commits. - -More Information ----------------- - -- [ITK Software Guide, Book 1, Part III: Development Guidelines](https://itk.org/ItkSoftwareGuide.pdf) -- General [Git Help] -- [GitHub flow guide] -- [ITK Git Cheatsheet] -- [Updating Third Party] libraries distributed with ITK -- [Handling testing data](Documentation/Data.md) -- [Uploading binary data](Documentation/UploadBinaryData.md) - -[ITK Git Cheatsheet]: Documentation/GitCheatSheet.pdf -[download instructions]: Documentation/Download.md -[Git Help]: Documentation/GitHelp.md -[Updating Third Party]: Documentation/Maintenance/UpdatingThirdParty.md - -[`SetupForDevelopment.sh`]: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/SetupForDevelopment.sh -[`setup-git-aliases`]: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/GitSetup/setup-git-aliases - -[ITK's Discourse]: https://discourse.itk.org/ - -[Git]: https://git-scm.com -[GitHub flow guide]: https://guides.github.com/introduction/flow/index.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 120000 index 000000000000..205abde9d80c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +Documentation/docs/contributing/index.md \ No newline at end of file diff --git a/Documentation/Releases/README.md b/Documentation/Releases/README.md deleted file mode 100644 index f2383451592a..000000000000 --- a/Documentation/Releases/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# ITK Releases - -ITK release notes. diff --git a/Documentation/docs/.gitignore b/Documentation/docs/.gitignore new file mode 100644 index 000000000000..1fabdc368159 --- /dev/null +++ b/Documentation/docs/.gitignore @@ -0,0 +1,2 @@ +_build/ +apidocs/ diff --git a/Documentation/docs/Makefile b/Documentation/docs/Makefile new file mode 100644 index 000000000000..d4bb2cbb9edd --- /dev/null +++ b/Documentation/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/Documentation/docs/README.md b/Documentation/docs/README.md new file mode 100644 index 000000000000..ba4539793bc5 --- /dev/null +++ b/Documentation/docs/README.md @@ -0,0 +1,18 @@ +# Sphinx Documentation + +This is the source of the [ITK docs](docs.itk.org) website. + +## Build environment + +To compile the document locally create a python virtual environment and install the required packages. + +For example in Linux / macOS: + +``` +python -m venv env +source env/bin/activate +pip install -r requirements.txt +``` + +Use `make html` in this directory to build the documentation. +Open `_build/html/index.html` in your browser to inspect the result. diff --git a/Documentation/docs/_static/icon/android-chrome-192x192.png b/Documentation/docs/_static/icon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e8a5d6a303758008c8b2ada669049cac90d358 GIT binary patch literal 8102 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 G|NB3T39wcG literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/icon/apple-touch-icon.png b/Documentation/docs/_static/icon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2057560659e438171f785f2223433f2b895feaf9 GIT binary patch literal 7495 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 MqNYN%oMrg`09f88%>V!Z literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/icon/browserconfig.xml b/Documentation/docs/_static/icon/browserconfig.xml new file mode 100644 index 000000000000..a25e942c2a54 --- /dev/null +++ b/Documentation/docs/_static/icon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/Documentation/docs/_static/icon/favicon-16x16.png b/Documentation/docs/_static/icon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c933b7699eb48e8b79c6f31fa96f5920b02e3a7f GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>)3o+A+kX7*FuR4v$dA>*-of)WbteQim#)0opcp|mWp zQG-)jvFrPk3pZZ4vKuTpZ#-|d<;4Z} ztJoFQ<=GXbc-3|HE@fuX&^fwgt}4)Q#w2fdmzY;K7^VX`>?NMQuI$gbSVV=5k4^P2 z1`0KMx;TbNTux3{z?AUh*~6#FNoi>bX=!PUNo-+tjE;(lf`NgCg`A$6nQ3fhl985` ztgfo5qM@dxyuN7*)XH>oWn*n?nVprBh0`W5w6C1Gvvujzt-WjK+IF0O`QXKqH;-OD zd-w3=Q{JG1FCV{tE-xSys3B$S*D>6hFH!(8scMCFJ7N5)rbdG9?YeY#( zVo9o1a#1RfVlXl=GS)RT&^0g#F*39=w6roc)HX1%GBC(?3ur{qkei>9nO2EggOv0O zTcC#Us*s41pu}>8f};Gi%$!t(lFEWqh0KDIWCn(cIgdZ_a1@4VXq@stea7=?5CgL^ zw_Y;0u(GiCWD#az1(ybs!zs+ln?n>%-?(z($eANDN7zp{cr5VJV|XPlSn|oqbSlsa N22WQ%mvv4FO#saKD^maf literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/icon/favicon-32x32.png b/Documentation/docs/_static/icon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..37c13a944b91f0d46f3d143b5d9b5b586d2906fa GIT binary patch literal 1632 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081JjNGpAc7|f^X}Eziklx zK1KH1Mo~8Z9yY(;?-S&{EtU8_Tl)JFiSKiz85qud@0Vkc`v3nw1G{4`YxsP2yR>iX zg@C%CXpPvn4H93s>weoP0TS6LdU~!7gXa`hplMijK#_ zTl(Kz3AOOLZ)?Q<@8)GNNo8}d1}pC6Fb!mPDTZnUs+=$NW3^aiO|VR8)1`?z{|_-R zTBWjiHG&ib^s`&XvAI`46n~#3{bPl=Q9^lJVGz4rI-5@$NIZNVyG=4wJuDaxcbS}- zs{3T6-1Aj3><-xw_XDE?qy?-?Ah1Iryy49OYk%7S?8SW#Xb`B#SL}&y~V7EVbzIuzMRSwQ8!XmFfvrsFc1{iHc@Bd&c1N#&cmOFZhu~}>dS|B?_W>6`6#}t zl$k?7TuPzy^Q@gOU;TY?=t14(gW^n$3zZEUKIW<=T{}6)SuS(xU1|9#zf5^*-+XS$ z|N7|lTtVZNwF1`sfb1oK9VdG;{{fmLp(Vi}jAr_~T6C_w& znB5Wu0}a*GVlJK0c_cI`=#tT;44_-V;czT8{?7^c~&)z+J`Ly`Qby6 zf?^xpUGD9c7nK#378jU5VMd9$<D1+Gb=wzjUi~}IKR@2V zUV9Q(+&)g>`F^v`*r&d_o5^%J{m$08nYHC&lbF)d{@pB|cXqCM{lP=KyII8bckV8^ z`Du5ecErO=+Tm;CHkaM~#Vc)|yY1$t(%awW$y%4+y}Pz6U_<)*eSg{c%?Xx#KKQoH!DeYvG<%r#tQ~I4tJ5SUpe0}Wx!p~xI%5IEO3=Ar{_1Anmn*@L% zuUg_7QIe8al4_M)lnSI6j0}v7bqx)44NO9e46O_;txOHI4GgRd46@w<8c{Ul=BH$) zRpQnlCH=w{s3E*6B%&lJv0R~`C_gPTCsm=OvLICRr~FT! z@q8M@z^u%zm&`4!EbKj5gjra@rNQKI3bXR&5QWn>uADe>=7`J@_R|d>3%v9gUWp5q Ud~!0K3bca3)78&qol`;+0EXjnQUCw| literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/icon/favicon.ico b/Documentation/docs/_static/icon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8027028a14591a854e226223b27499b3306bfbcb GIT binary patch literal 15086 zcmeHN3s4nD79BulP%)z6^Z32@SOu*p3Vu;RAbwCm1XJp+qDBS9FPey75b=ZZ2Ltf~ zqDH|V2qZBnD{G9drM0>nO*AIaxER;yx|j$OW**4Wd+y^6HCkFgw06tNOx1a}yKi^j z+jqKq`rX?cXU17@US1rio;&2uaf3LH)9X!n8;<)2%4|T1AKi}Ql2D;1>YxetHbCXZ zr+X7oe^m>p7EmpqT0pgcY5~;(ss&UFs21S3xx)oMYPc|R%XmICZ33SF#GB}wuY!G` zzw11IAtNP}KMuW_35}qUuY&%tz5n7sAr<<5qtO2sr2GFC{ate;GoUXJ3WPc5J`N6B zzO`3IsCf|j90vrahFJ~qOu1_Bu$|$b6URmQ2^|*&3LfD35#NM?pytGn^b>5Cj}$!8 zC-5T`{J?#GvgE;wS~*%s1+NM`+5Ue=x+}G9>toWtC+H%e%sIEdVnkeFHuV1qeLhZ` zVA+r!YI(^s^=gV^euEG74;wnq_ZQ;8KLz~9gtMTp8To#~fTeE=3DEI-l%WqJ?k11t z`$7Np8-w}nD5E(e>%RwSv$pE~bbaV=<+z>o8n-IfFMWdLx9Oo4Y|BI&HZ^9MLA&SY zYP%A{JJbeqxFfJ8Ig~F}={9p>AU$#`w1(y9_^iTnc0=pG23zj>3<9Q_mO2_9!!fH!zW{o zND5tydkAzl$M}|R4&iqycnsqyTsM}FK$&vx(^%}~eqWSow@KE{yQDOSB15fh8R=ff zdKFw?lj33vyuXCc12>Z{Mv=rGZ#j`H!$@ivp;Guu4DVMTI@l! z-m;82enQaNAbvIE(>#!E+B~1J2Bu<<&0GR-t!Eyl7N4bYyL_VGP*e~f@6^XQRzq}ATQkabL z(5JJA0z&Ik8_gTPq8_?<$3W`MZ@ zlz+NR$$wtDxedPA#p!&26|0(8kU*a?~?E|9eXJwDdp# z(0oq|ce&I@wSZ~?)dIf<3(WErc=!$bz`qj?kl%{@U@shVY_09!FVn3UC6M1u_Qh^# zOGO$A{zB1o3X@*9RC3bPDNbW&Z9+!3AlG zDG$pE=exm|?VB*x=<}m^E%{$t>+iLN{E1HQH)cjgPv4OdYF3>R*5Q|+_+7_3A7T9# zy}@-^Im#GEx`#d=0%N=B+gl+1y8y8n@_kZFpmctKFefRb+2?#0W%OBU)3Y_)X7u_g z`r6?5Oy*Mb05Pumusn{l#Cv@gvSeSdF~*Dd?KJqm$tTRfyAFFK!sq=x<$=?Hb(@5v z@_>}TO!mzETPf7WG-!RFgvUm2^ySX#0OVm)a{*Xn!VUl$t zGmLkfF-&m9yv#=4U@9jbf#yG5FK^R>xSCe8yK(-yDIU42BD|ST+Hq!IEZ*$&8FP*r z!08ajp%@JL(yQR#9T+~)${O#S;xw|az8dKofOOaZw9U^;+7>f&|BZ(ed*oeX4kb0r zv)k{l3QadO=z=@Fkuwm)L1=~j4yMXZ>|HchhM1>gP&^mQMg*dfW5ZTv5! z&j1u3qBU>}`_DSeQ#tleYrx@IIv}3Y5pj`)j{C*Su0`T?$3pQ3#B+YMFOlk8kK8@8 zbnfsQh=@_cc#sf({IwLqPvx?BF?wTsmfsou1dZ5`)(GD5)`OOxXIZSAWdj|CV>kT|{&&(yK zPSCyg$ZgfMK|PWty6FO=6NID?OE;XKoN&jq6MY|X&%zVm&67yeJ%A_L$zDZ0CI4(`>6?=8< + + + + + + + + \ No newline at end of file diff --git a/Documentation/docs/_static/icon/mstile-150x150.png b/Documentation/docs/_static/icon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..23b411a57c94983ddebf12659225401d31d22819 GIT binary patch literal 5145 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 PBR~eaMmiN*PXGKDj9s5k literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/icon/safari-pinned-tab.svg b/Documentation/docs/_static/icon/safari-pinned-tab.svg new file mode 100644 index 000000000000..9e18318928eb --- /dev/null +++ b/Documentation/docs/_static/icon/safari-pinned-tab.svg @@ -0,0 +1,118 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + + + diff --git a/Documentation/docs/_static/icon/site.webmanifest b/Documentation/docs/_static/icon/site.webmanifest new file mode 100644 index 000000000000..1edcfeffee8e --- /dev/null +++ b/Documentation/docs/_static/icon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/Documentation/docs/_static/itk-logo-low-res.png b/Documentation/docs/_static/itk-logo-low-res.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9b229550a3b0164aaa80e60b4f9f747a94fb5e GIT binary patch literal 10160 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 literal 0 HcmV?d00001 diff --git a/Documentation/docs/_static/itk-logo.svg b/Documentation/docs/_static/itk-logo.svg new file mode 100644 index 000000000000..2b2d14369b31 --- /dev/null +++ b/Documentation/docs/_static/itk-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Documentation/docs/conf.py b/Documentation/docs/conf.py new file mode 100644 index 000000000000..2d588823a340 --- /dev/null +++ b/Documentation/docs/conf.py @@ -0,0 +1,48 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +from datetime import date + +project = 'ITK' +copyright = f'{date.today().year}, NumFOCUS' +author = 'Insight Software Consortium' + +extensions = [ + 'sphinx.ext.napoleon', + 'myst_parser', + 'sphinx.ext.intersphinx', + 'sphinx_copybutton', + 'sphinxext.opengraph', + 'sphinx_design', +] + +myst_enable_extensions = ["colon_fence", "fieldlist"] + +templates_path = ['_templates'] +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'README.md'] + + +intersphinx_mapping = { + "python": ("https://docs.python.org/3/", None), + "numpy": ("https://numpy.org/doc/stable", None), +} + +html_theme = 'furo' +html_static_path = ['_static'] +# html_logo = "_static/itk-logo.svg" +html_logo = "_static/itk-logo-low-res.png" +html_favicon = "_static/icon/favicon.ico" +html_title = f"{project} documentation" + +# Furo options +html_theme_options = { + "top_of_page_button": "edit", + "source_repository": "https://github.com/InsightSoftwareConsortium/ITK/", + "source_branch": "master", + "source_directory": "Documentation/docs", +} diff --git a/Documentation/GitCheatSheet.pdf b/Documentation/docs/contributing/GitCheatSheet.pdf similarity index 100% rename from Documentation/GitCheatSheet.pdf rename to Documentation/docs/contributing/GitCheatSheet.pdf diff --git a/Documentation/GitCheatSheet.tex b/Documentation/docs/contributing/GitCheatSheet.tex similarity index 100% rename from Documentation/GitCheatSheet.tex rename to Documentation/docs/contributing/GitCheatSheet.tex diff --git a/Documentation/CMakeW3ExternalDataUpload.png b/Documentation/docs/contributing/content-link-upload.png similarity index 100% rename from Documentation/CMakeW3ExternalDataUpload.png rename to Documentation/docs/contributing/content-link-upload.png diff --git a/Documentation/Data.md b/Documentation/docs/contributing/data.md similarity index 91% rename from Documentation/Data.md rename to Documentation/docs/contributing/data.md index c04984db3e05..1e5eb293978c 100644 --- a/Documentation/Data.md +++ b/Documentation/docs/contributing/data.md @@ -2,7 +2,7 @@ ITK Data ======== This page documents how to add test data while developing ITK. See our -[CONTRIBUTING](../CONTRIBUTING.md) and [UploadBinaryData] guides for more +[CONTRIBUTING](index.md) and [Upload Binary Data] guides for more information. While these instructions assume that the required data will be contained in @@ -28,7 +28,7 @@ Workflow -------- Our workflow for adding data integrates with our standard -[development process](CONTRIBUTING.md). Start by creating a topic. Return here +[development process](index.md). Start by creating a topic. Return here when you reach the "edit files" step. These instructions follow a typical use case of adding a new test with a @@ -41,12 +41,13 @@ the binary files themselves, ITK and related projects use content link files associated with these files. Generate the *.cid* content link from your test data file, *MyTest.png* in -this example, with the [cmake-w3-externaldata-upload] web app. This app will +this example, with the [content-link-upload] web app. This app will upload the data to IPFS and provide a *.cid* CMake ExternalData content link file to download. -For more details, see the description and procedures in [UploadBinaryData]. +For more details, see the description and procedures in [Upload Binary Data]. +(add-data)= ### Add Data Copy the data content link file into your local source tree. @@ -55,7 +56,7 @@ Copy the data content link file into your local source tree. $ mkdir -p Modules/.../test/Baseline $ cp ~/MyTest.png.cid Modules/.../test/Baseline/MyTest.png.cid ``` - +(add-test)= ### Add Test Edit the test `CMakeLists.txt` file and reference the data file in an @@ -77,6 +78,7 @@ to the test directory: reference ends in the ",:" option; follow the link to the `ExternalData` module on the right for details. +(commit)= ### Commit Continue to create the topic and edit other files as necessary. Add the content @@ -122,6 +124,7 @@ instead of the build tree. Once an object has been downloaded by one build it will persist in the local store for re-use by other builds without downloading again. +(discussion)= Discussion ---------- @@ -136,6 +139,6 @@ For more information, see [CMake ExternalData: Using Large Files with Distributed Version Control](https://blog.kitware.com/cmake-externaldata-using-large-files-with-distributed-version-control/). -[UploadBinaryData]: UploadBinaryData.md +[Upload Binary Data]: upload_binary_data.md [ITKData Datalad repository]: https://gin.g-node.org/InsightSoftwareConsortium/ITKData/src/main -[cmake-w3-externaldata-upload]: https://cmake-w3-externaldata-upload.on.fleek.co/ +[content-link-upload]: https://content-link-upload.itk.org diff --git a/Documentation/GitHelp.md b/Documentation/docs/contributing/git_help.md similarity index 91% rename from Documentation/GitHelp.md rename to Documentation/docs/contributing/git_help.md index 64c327f4c3db..b688767c4781 100644 --- a/Documentation/GitHelp.md +++ b/Documentation/docs/contributing/git_help.md @@ -12,9 +12,9 @@ Additional information about [Git] may be obtained at these sites: * [Everyday Git](https://www.kernel.org/pub/software/scm/git/docs/giteveryday.html) * [GitHub Services](https://services.github.com/) * Development models with Git - * [A Visual Git Reference](marklodato.github.io/visual-git-guide/) + * [A Visual Git Reference](https://marklodato.github.io/visual-git-guide/) * [A successful Git branching model](https://nvie.com/posts/a-successful-git-branching-model/) - * [PDF](github.com/downloads/nvie/gitflow/Git-branching-model.pdf) version. + * [PDF](https://github.com/downloads/nvie/gitflow/Git-branching-model.pdf) version. * [LearnGitBranching - Web application designed to help beginners grasp the powerful concepts behind branching](https://learngitbranching.js.org/) * Cheat sheets * [Git cheat sheet](http://cheat.errtheblog.com/s/git) diff --git a/Documentation/docs/contributing/index.md b/Documentation/docs/contributing/index.md new file mode 100644 index 000000000000..aacf6b1478b6 --- /dev/null +++ b/Documentation/docs/contributing/index.md @@ -0,0 +1,388 @@ +Contributing to ITK +=================== + +Welcome to the Insight Toolkit (ITK) ! We are excited that you are here! Join us as a contributing member of the community. + +![Contributor graph](https://contributor-graph-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=InsightSoftwareConsortium/ITK) + +This article documents how to contribute improvements to ITK. + +For a *quick start guide*, see the [ITK Git Cheatsheet]. + +If you are looking for an issue to resolve that will help the ITK community, see the *good first issue* label in the [ITKSphinxExamples](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/labels/good-first-issue) or [ITK](https://github.com/InsightSoftwareConsortium/ITK/labels/Good%20first%20issue) repositories. + +Setup +----- + +Before you begin, perform initial setup: + + 1. [Register for a GitHub](https://github.com/join) account. + 2. Optionally download our [one page PDF desk reference](https://raw.githubusercontent.com/InsightSoftwareConsortium/ITK/master/Documentation/GitCheatSheet.pdf). + 3. Follow the [download instructions] to create a local ITK clone: + +```sh + $ git clone https://github.com/InsightSoftwareConsortium/ITK +``` + + 4. Run the developer setup script [`SetupForDevelopment.sh`] to prepare your + ITK work tree and create Git command aliases used below: + +```sh + $ ./Utilities/SetupForDevelopment.sh +``` + +This script helps configure your GitHub fork remote, Git client-side hooks, +and useful Git aliases. The default Git remote names for your fork and +`InsightSoftwareConsortium/ITK` are `origin` and `upstream`, respectively. +However, other remote names can be used. Note that ITK defines some useful +Git aliases, such as `review-push`, `pr`, `pr-clean`, and `prepush`, through +the [`setup-git-aliases`] script for general Git tasks in ITK. + +Visit the *Pro Git: Setup* resource in [Git Help] for further +information on setting up your local Git environment. + +(workflow)= +Workflow +-------- + +ITK development uses a branchy workflow based on topic branches. +This corresponds to the *Fork & Pull Model* mentioned in the +[GitHub flow guide]. Our collaboration workflow consists of +three main steps: + + 1. Local Development + * [Update](#update) + * [Create a Topic](#create-a-topic) + 2. Code Review + * [Share a Topic](#share-a-topic) + * [Test a Topic](#test-a-topic) + * [Revise a Topic](#revise-a-topic) + 3. Integrate Changes + * [Merge a Topic](#merge-a-topic) + * [Delete a Topic](#delete-a-topic) + +(update)= +Update +------ + +Update your local `master` branch: + +```sh + $ git checkout master + $ git pullall +``` + +(create-a-topic)= +Create a Topic +-------------- + +All new work must be committed on topic branches. Name topics like you might +name functions: concise but precise. A reader should have a general idea of the +feature or fix to be developed given just the branch name. + +To start a new topic branch: + +```sh + $ git fetch upstream +``` + +For new development, start the topic from `upstream/master`: + +```sh + $ git checkout -b my-topic upstream/master +``` + +For release branch fixes, start the topic from `upstream/release`: + +```sh + $ git checkout -b my-topic upstream/release +``` + +(*You may visit the* Pro Git: Basic Branching *resource in [Git Help] for +further information on working with branches.*) + +Edit files and create commits (repeat as needed). Add a prefix to your commit +message (see below). + +```sh + $ edit file1 file2 file3 +``` +(*To add data follow [these instructions](data.md).*) + +```sh + $ git add file1 file2 file3 + $ git commit +``` + +(*You may visit the* Pro Git: Recording Changes *resource in [Git Help] for +further information on making changes and committing snapshots.*) + +**Note**: *If your change modifies any of the modules in the +`Modules/ThirdParty` directory, please read our +[Updating Third Party] guide.* + +(breaking-changes)= +Breaking Changes +---------------- + +Breaking changes are defined in ITK as those changes that introduce changes to +the API of the [major version](https://semver.org/) of the toolkit, and as +such, make a component of the toolkit no longer backwards compatible. Breaking +changes are only allowed in new major releases. Thus, the change may be held +up by the toolkit's maintainers to ensure consistency in the toolkit. Before +making such changes to the code, and considering other options to keep the +code backward-compatible, please either open an +[issue](https://github.com/InsightSoftwareConsortium/ITK/issues/new/choose) +from the appropriate category or discuss the subject in [ITK's Discourse]. If +the change finally is made into a *pull request*, cross-reference the issue +and/or the discussion with the appropriate link. + +(design-changes)= +Design Changes +-------------- + +Design changes should be discussed in [ITK's Discourse]. A +[Design Impact +Report](https://github.com/InsightSoftwareConsortium/ITK/issues/new?labels=type%3ADesign&template=design_impact_report.md) +can also be opened to keep track of the requested change. Design changes need +explicit approval from the toolkit's maintainers. + +(commit-messages)= +Commit Messages +--------------- + +Write your commit messages using the standard prefixes for ITK commit +messages: + + * `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 + +The body of the message should clearly describe the motivation of the commit +(**what**, **why**, and **how**). In order to ease the task of reviewing +commits, the message body should follow the following guidelines: + + 1. Leave a blank line between the subject and the body. + This helps `git log` and `git rebase` work nicely, and allows to smooth + generation of release notes. + 2. Try to keep the subject line below 72 characters, ideally 50. + 3. Capitalize the subject line. + 4. Do not end the subject line with a period. + 5. Use the imperative mood in the subject line (e.g. `STYLE: Change + template parameter name prefix N to V`). + 6. Wrap the body at 80 characters. + 7. Use semantic line feeds to separate different ideas, which improves the + readability. + 8. Be concise, but honor the change: if significant alternative solutions + were available, explain why they were discarded. + 9. If the commit refers to a topic discussed in [ITK's Discourse], or fixes + a regression test, provide the link. If it fixes a compiler error, provide a + minimal verbatim message of the compiler error. If the commit closes an + issue, use the [GitHub issue closing + keywords](https://help.github.com/en/articles/closing-issues-using-keywords). + +Keep in mind that the significant time is invested in reviewing commits and +*pull requests*, so following these guidelines will greatly help the people +doing reviews. + +These guidelines are largely inspired by Chris Beam's +[How to Write a Commit Message](https://chris.beams.io/posts/git-commit/) +post. + +(share-a-topic)= +Share a Topic +------------- + +When a topic is ready for review and possible inclusion, share it by pushing +to GitHub and opening a *pull request* on the *InsightSoftwareConsortium/ITK* +upstream repository. + +Checkout the topic if it is not your current branch: + +```sh + $ git checkout my-topic +``` + +Check what commits will be pushed to GitHub for review: + +```sh + $ git prepush +``` + +Push commits in your topic branch for review by the community: + +```sh + $ git review-push --force +``` + +A URL will be provided in the terminal -- visit this url to review the topic +and open a pull request. + +Optionally, discuss the change by opening a topic on [ITK's Discourse]. + +(test-a-topic)= +Test a Topic +------------ + +When a topic is submitted, it is tested across the three major platforms +before being merged thanks to the [Azure DevOps Pipelines CI +system](https://azure.microsoft.com/en-ca/services/devops/pipelines/), +as well as the [CDash GitHub +Checks](https://github.com/InsightSoftwareConsortium/ITKGitHubCDashStatus), +and [ITK Coding Style +check](https://github.com/InsightSoftwareConsortium/ITKClangFormatLinterAction). + +If a platform configuration test failure appears to be a false positive, the +test can be re-executed by adding a comment to the pull request with the +content `/azp run `. For example: + +``` + /azp run ITK.Linux +``` + +After the topic has been merged, it is tested on many +platforms and configurations on the [nightly +dashboard](https://open.cdash.org/index.php?project=Insight). + +If tests fail on a submitted topic, see the [Revise a Topic](#revise-a-topic) +step on how to submit a revised version. After a topic is merged, please check +the next day's nightly dashboard to ensure there are not any regressions. If +there are any new warnings or errors, submit a follow-up patch as soon as +possible. + +(revise-a-topic)= +Revise a Topic +-------------- + +Usually, a topic goes through several revisions in the review process. +Once a topic is approved during GitHub review, proceed to the +[next step](#merge-a-topic). + +Checkout the topic if it is not your current branch: + +```sh + $ git checkout my-topic +``` + +To revise the most recent commit on the topic edit files and add changes +normally and then amend the commit: + +```sh + $ git commit --amend +``` + +(*You may visit the* Pro Git: Changing the Last Commit *resource in [Git Help] +for further information on revising and rewriting your commit history.*) + +To revise commits further back on the topic, say the `3`rd commit back: + +```sh + $ git rebase -i HEAD~3 +``` + +(*Substitute the correct number of commits back, as low as `1`.*) + +Follow Git's interactive instructions. + +Return to the [Share a Topic](#share-a-topic) step to share the revised topic. + +(*You may visit the* Pro Git: Changing Multiple Commits *resource in [Git Help] +for further information on changing multiple commits -i.e. not only the last +one, but further back in your history-, and the* Pro Git: Rebasing *resource on +taking all the changes that were committed on one branch and replaying them on +another one.*) + +(merge-a-topic)= +Merge a Topic +------------- + +**Only authorized developers with GitHub merge permissions execute this step.** + +After a feature topic has been reviewed and approved in GitHub, ITK +maintainers will merge it into the upstream repository via the GitHub user +interface. + +(*If the merge conflicts follow the printed instructions to resolve them.*) + +For bug fixes that are ready to be included in the next patch release, make a +comment on the pull request which states the topic should be merged to the +`release` branch. + +Here are the recommended steps to merge a topic to both `release` and `master` +branches, assuming the topic branch is forked off the `release` branch: + +```sh + $ git checkout release + $ git merge --no-ff my-topic + $ git push upstream release +``` + +and do: + +```sh + $ git checkout master + $ git merge --no-ff release + $ git push upstream master +``` + +to merge the `release` branch back to `master`. + +(delete-a-topic)= +Delete a Topic +-------------- + +After a topic has been merged upstream, delete your local branch for the topic. + +Checkout and update the `master` branch: + +```sh + $ git checkout master + $ git pullall +``` + +Delete the local topic branch: + +```sh + $ git branch -d my-topic +``` + +The `branch -d` command works only when the topic branch has been correctly +merged. Use `-D` instead of `-d` to force the deletion of an unmerged topic +branch (*warning*: you could lose commits). + +(citation-addition)= +Citation Addition +----------------- + +To connect your [ORCID](https://orcid.org/) profile to the [ITK Zenodo +citation](https://zenodo.org/record/3592082), add your name and ORCID iD to +the *ITK/.zenodo* file after contributing 10 or more commits. + +```{toctree} +:hidden: +:maxdepth: 3 +:caption: 📖 More Information + +ITK Software Guide, Book 1, Part III: Development Guidelines +git_help.md +GitHub flow guide +ITK Git Cheatsheet +updating_third_party.md +data.md +upload_binary_data.md +``` + +[ITK Git Cheatsheet]: ./GitCheatSheet.pdf +[download instructions]: ../download.md +[Updating Third Party]: ./updating_third_party.md + +[`SetupForDevelopment.sh`]: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/SetupForDevelopment.sh +[`setup-git-aliases`]: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/GitSetup/setup-git-aliases + +[ITK's Discourse]: https://discourse.itk.org/ + +[Git]: https://git-scm.com \ No newline at end of file diff --git a/Documentation/ITK-testing-data.png b/Documentation/docs/contributing/itk-testing-data.png similarity index 100% rename from Documentation/ITK-testing-data.png rename to Documentation/docs/contributing/itk-testing-data.png diff --git a/Documentation/Maintenance/UpdatingThirdParty.md b/Documentation/docs/contributing/updating_third_party.md similarity index 95% rename from Documentation/Maintenance/UpdatingThirdParty.md rename to Documentation/docs/contributing/updating_third_party.md index faec42194efe..1a6e5fdb5e68 100644 --- a/Documentation/Maintenance/UpdatingThirdParty.md +++ b/Documentation/docs/contributing/updating_third_party.md @@ -78,7 +78,7 @@ like this: Making the initial import involves filling out the project's `UpdateFromUpstream.sh` script in its directory. The -[UpdateFromUpstream.sh](UpdateFromUpstream.sh) script describes what is +[UpdateThirdPartyFromUpstream.sh] script describes what is necessary, but in a nutshell, it is basically metadata such as the name of the project and where it goes in the importing project. @@ -116,4 +116,4 @@ if necessary. -[UpdateThirdPartyFromUpstream.sh]: Utilities/Maintenance/UpdateThirdPartyFromUpstream.sh +[UpdateThirdPartyFromUpstream.sh]: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/Maintenance/UpdateThirdPartyFromUpstream.sh diff --git a/Documentation/UploadBinaryData.md b/Documentation/docs/contributing/upload_binary_data.md similarity index 97% rename from Documentation/UploadBinaryData.md rename to Documentation/docs/contributing/upload_binary_data.md index d457ca7e0dc3..29e1fa22473b 100644 --- a/Documentation/UploadBinaryData.md +++ b/Documentation/docs/contributing/upload_binary_data.md @@ -51,7 +51,7 @@ the following: - Local testing data cache - Archive tarballs from GitHub Releases -![ITK testing data figure](./ITK-testing-data.png) +![ITK testing data figure](./itk-testing-data.png) *Testing data workflow. Testing or example data is uploaded to IPFS via the content-link-upload.itk.org web app. This pins the data on multiple servers across the globe. @@ -59,7 +59,7 @@ At release time, the data is also pinned on multiple servers in the USA and Fran At release time, the data is also stored in the DataLad Git repository and also served on an Apache HTTP server and the GitHub Pages CDN. At test time an ITK build can pull the data from a local cache, archive tarball, the Apache HTTP server, GitHub Pages CDN, or multiple IPFS HTTP gateways.* -See also our [Data](Data.md) guide for more information. If you just +See also our [Data](data.md) guide for more information. If you just want to browse and download the ITK testing images, see the [ITKData Datalad repository]. @@ -116,7 +116,7 @@ upload your data to the [IPFS] and download the corresponding CMake content link file. ![[CMake ExternalData Web3 -Content Link Upload](https://content-link-upload.itk.org/)](CMakeW3ExternalDataUpload.png) +Content Link Upload](https://content-link-upload.itk.org/)](./content-link-upload.png) Add the file to the repository in the directory referenced by the *CMakeLists.txt* script. Next time CMake configuration runs, it will find the new content link. diff --git a/Documentation/docs/courses.md b/Documentation/docs/courses.md new file mode 100644 index 000000000000..2abc52e813e7 --- /dev/null +++ b/Documentation/docs/courses.md @@ -0,0 +1 @@ +# Courses \ No newline at end of file diff --git a/Documentation/Download.md b/Documentation/docs/download.md similarity index 97% rename from Documentation/Download.md rename to Documentation/docs/download.md index 1856f2ff9adc..52d7bcef996c 100644 --- a/Documentation/Download.md +++ b/Documentation/docs/download.md @@ -2,7 +2,7 @@ Download ITK ============ This page documents how to download ITK. See our -[CONTRIBUTING](../CONTRIBUTING.md) guide for more information. +[CONTRIBUTING](contributing/index) guide for more information. Download ITK Release Assets --------------------------- @@ -93,7 +93,7 @@ the latest changes may run ``` Avoid making local changes unless you have read our [developer -instructions](../CONTRIBUTING.md). +instructions](contributing/index.md). ### Checkout diff --git a/Documentation/docs/index.md b/Documentation/docs/index.md new file mode 100644 index 000000000000..de7acab153cf --- /dev/null +++ b/Documentation/docs/index.md @@ -0,0 +1,47 @@ +# Welcome to ITK's documentation! + +The Insight Toolkit (ITK) is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration. +Our documentation is a resource for +both new and seasoned ITK community members and includes tutorials, examples, and best +practices to help you unlock the full power of ITK's advanced algorithms. + +We invite you to join the ITK community and explore our documentation to find out how you can use ITK to make your vision a reality. + +[![GitHub release](https://img.shields.io/github/release/InsightSoftwareConsortium/ITK.svg)](https://github.com/InsightSoftwareConsortium/ITK/releases/latest) +[![Commit Activity](https://img.shields.io/github/commit-activity/y/InsightSoftwareConsortium/ITK)](https://github.com/InsightSoftwareConsortium/ITK) +[![PyPI](https://img.shields.io/pypi/v/itk.svg)](https://pypi.python.org/pypi/itk) + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/InsightSoftwareConsortium/ITK/blob/master/LICENSE) +[![DOI](https://zenodo.org/badge/800928.svg)](https://zenodo.org/badge/latestdoi/800928) +[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) + + +```{toctree} +:maxdepth: 1 +:caption: 💾 Download + +download +``` + + +```{toctree} +:maxdepth: 3 +:caption: 📖 Learn + +Examples +Tutorial +Software Guide +courses +``` + + +```{toctree} +:maxdepth: 1 +:caption: 🔨 Development + +API +Discussion +Issue tracker +releases/index +contributing/index +``` \ No newline at end of file diff --git a/Documentation/docs/make.bat b/Documentation/docs/make.bat new file mode 100644 index 000000000000..32bb24529f92 --- /dev/null +++ b/Documentation/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/Documentation/Releases/1.0.md b/Documentation/docs/releases/1.0.md similarity index 97% rename from Documentation/Releases/1.0.md rename to Documentation/docs/releases/1.0.md index 9057f7d66699..af70230dcdef 100644 --- a/Documentation/Releases/1.0.md +++ b/Documentation/docs/releases/1.0.md @@ -1,6 +1,4 @@ - -Welcome to the Insight Registration and Segmentation Toolkit (ITK) ------------------------------------------------------------------ +# ITK 1.0 Release: Welcome! This is the third public release of ITK (Release-1-0). The ITK developer community appreciates any feedback that you may have regarding this diff --git a/Documentation/Releases/1.8.md b/Documentation/docs/releases/1.8.md similarity index 100% rename from Documentation/Releases/1.8.md rename to Documentation/docs/releases/1.8.md diff --git a/Documentation/Releases/2.0.md b/Documentation/docs/releases/2.0.md similarity index 100% rename from Documentation/Releases/2.0.md rename to Documentation/docs/releases/2.0.md diff --git a/Documentation/Releases/2.2.md b/Documentation/docs/releases/2.2.md similarity index 100% rename from Documentation/Releases/2.2.md rename to Documentation/docs/releases/2.2.md diff --git a/Documentation/Releases/2.4.md b/Documentation/docs/releases/2.4.md similarity index 100% rename from Documentation/Releases/2.4.md rename to Documentation/docs/releases/2.4.md diff --git a/Documentation/Releases/2.6.md b/Documentation/docs/releases/2.6.md similarity index 100% rename from Documentation/Releases/2.6.md rename to Documentation/docs/releases/2.6.md diff --git a/Documentation/Releases/2.8.md b/Documentation/docs/releases/2.8.md similarity index 100% rename from Documentation/Releases/2.8.md rename to Documentation/docs/releases/2.8.md diff --git a/Documentation/Releases/3.0.md b/Documentation/docs/releases/3.0.md similarity index 100% rename from Documentation/Releases/3.0.md rename to Documentation/docs/releases/3.0.md diff --git a/Documentation/Releases/3.12.md b/Documentation/docs/releases/3.12.md similarity index 100% rename from Documentation/Releases/3.12.md rename to Documentation/docs/releases/3.12.md diff --git a/Documentation/Releases/3.14.md b/Documentation/docs/releases/3.14.md similarity index 100% rename from Documentation/Releases/3.14.md rename to Documentation/docs/releases/3.14.md diff --git a/Documentation/Releases/3.16.md b/Documentation/docs/releases/3.16.md similarity index 100% rename from Documentation/Releases/3.16.md rename to Documentation/docs/releases/3.16.md diff --git a/Documentation/Releases/3.18.md b/Documentation/docs/releases/3.18.md similarity index 100% rename from Documentation/Releases/3.18.md rename to Documentation/docs/releases/3.18.md diff --git a/Documentation/Releases/3.2.md b/Documentation/docs/releases/3.2.md similarity index 100% rename from Documentation/Releases/3.2.md rename to Documentation/docs/releases/3.2.md diff --git a/Documentation/Releases/3.20.md b/Documentation/docs/releases/3.20.md similarity index 100% rename from Documentation/Releases/3.20.md rename to Documentation/docs/releases/3.20.md diff --git a/Documentation/Releases/4.0.md b/Documentation/docs/releases/4.0.md similarity index 98% rename from Documentation/Releases/4.0.md rename to Documentation/docs/releases/4.0.md index 6b89a5e3b5bc..52a8d8c656b5 100644 --- a/Documentation/Releases/4.0.md +++ b/Documentation/docs/releases/4.0.md @@ -92,8 +92,8 @@ Improve Software Process ### Data Management -- Better management for [Testing - Data](ITK_Release_4/Testing_Data) +- Better management for Testing + Data - Data Collection [MIDAS](https://itk.org/Wiki/ITK_Release_4/Data_Collection) ### Distributed Testing (cdash@home) @@ -128,7 +128,7 @@ Revise ### DICOM - Improved DICOM support - - [DICOM](ITK_Release_4/DICOM) + - DICOM - Including communications with PACS - Support Streaming interface - Add filter to support Siemens MOSAIC images diff --git a/Documentation/Releases/4.1.md b/Documentation/docs/releases/4.1.md similarity index 100% rename from Documentation/Releases/4.1.md rename to Documentation/docs/releases/4.1.md diff --git a/Documentation/Releases/4.10.md b/Documentation/docs/releases/4.10.md similarity index 100% rename from Documentation/Releases/4.10.md rename to Documentation/docs/releases/4.10.md diff --git a/Documentation/Releases/4.11.md b/Documentation/docs/releases/4.11.md similarity index 100% rename from Documentation/Releases/4.11.md rename to Documentation/docs/releases/4.11.md diff --git a/Documentation/Releases/4.12.md b/Documentation/docs/releases/4.12.md similarity index 100% rename from Documentation/Releases/4.12.md rename to Documentation/docs/releases/4.12.md diff --git a/Documentation/Releases/4.13.md b/Documentation/docs/releases/4.13.md similarity index 100% rename from Documentation/Releases/4.13.md rename to Documentation/docs/releases/4.13.md diff --git a/Documentation/Releases/4.2.md b/Documentation/docs/releases/4.2.md similarity index 99% rename from Documentation/Releases/4.2.md rename to Documentation/docs/releases/4.2.md index 4925ab838999..f96e6b35ef9f 100644 --- a/Documentation/Releases/4.2.md +++ b/Documentation/docs/releases/4.2.md @@ -24,9 +24,6 @@ We have also improved compiler support. Specifically, we have been compiling with the latest gcc 4.7.0. And now Visual Studio 10 works without any workarounds. -A complete list of changes since the prior release can be found here: -[ITK/Release\_4.2\_Changed\_From\_Previous](ITK/Release_4.2_Changed_From_Previous "wikilink") - New contributors with merged patches include: - Dave Chen diff --git a/Documentation/Releases/4.3.md b/Documentation/docs/releases/4.3.md similarity index 99% rename from Documentation/Releases/4.3.md rename to Documentation/docs/releases/4.3.md index 3d70721e784e..46a2b9f42639 100644 --- a/Documentation/Releases/4.3.md +++ b/Documentation/docs/releases/4.3.md @@ -17,9 +17,7 @@ independently of the ITK build system. Then, specify the location to the external build after setting the CMake option ITK\_USE\_SYSTEM\_DCMTK ON. -WrapITK has undergone extensive improvements and bug fixes. The status -of WrapITK on various platforms can be found on the following [WrapITK -Status page](ITK/WrapITK_Status "wikilink"). +WrapITK has undergone extensive improvements and bug fixes. A number of registration-related feature enhancements were added. The image registration methods have been updated to accommodate multiple diff --git a/Documentation/Releases/4.4.md b/Documentation/docs/releases/4.4.md similarity index 100% rename from Documentation/Releases/4.4.md rename to Documentation/docs/releases/4.4.md diff --git a/Documentation/Releases/4.5.md b/Documentation/docs/releases/4.5.md similarity index 100% rename from Documentation/Releases/4.5.md rename to Documentation/docs/releases/4.5.md diff --git a/Documentation/Releases/4.6.md b/Documentation/docs/releases/4.6.md similarity index 100% rename from Documentation/Releases/4.6.md rename to Documentation/docs/releases/4.6.md diff --git a/Documentation/Releases/4.7.md b/Documentation/docs/releases/4.7.md similarity index 100% rename from Documentation/Releases/4.7.md rename to Documentation/docs/releases/4.7.md diff --git a/Documentation/Releases/4.8.md b/Documentation/docs/releases/4.8.md similarity index 100% rename from Documentation/Releases/4.8.md rename to Documentation/docs/releases/4.8.md diff --git a/Documentation/Releases/4.9.md b/Documentation/docs/releases/4.9.md similarity index 100% rename from Documentation/Releases/4.9.md rename to Documentation/docs/releases/4.9.md diff --git a/Documentation/Releases/5.0.md b/Documentation/docs/releases/5.0.md similarity index 100% rename from Documentation/Releases/5.0.md rename to Documentation/docs/releases/5.0.md diff --git a/Documentation/Releases/5.0a01.md b/Documentation/docs/releases/5.0a01.md similarity index 99% rename from Documentation/Releases/5.0a01.md rename to Documentation/docs/releases/5.0a01.md index 1c9d8b9bdec6..d45f76341909 100644 --- a/Documentation/Releases/5.0a01.md +++ b/Documentation/docs/releases/5.0a01.md @@ -15,7 +15,7 @@ Important [changes in style](https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoft As shown below, toolkit has adopted the application of the `using` keyword for [type aliases](https://en.cppreference.com/w/cpp/language/type_alias), which many developers find easier to read and understand. -```cpp +``` template< typename TInputImage, typename TOutputImage > class ITK_TEMPLATE_EXPORT BoxImageFilter: public ImageToImageFilter< TInputImage, TOutputImage > diff --git a/Documentation/Releases/5.0a02.md b/Documentation/docs/releases/5.0a02.md similarity index 100% rename from Documentation/Releases/5.0a02.md rename to Documentation/docs/releases/5.0a02.md diff --git a/Documentation/Releases/5.0b01.md b/Documentation/docs/releases/5.0b01.md similarity index 100% rename from Documentation/Releases/5.0b01.md rename to Documentation/docs/releases/5.0b01.md diff --git a/Documentation/Releases/5.0b02.md b/Documentation/docs/releases/5.0b02.md similarity index 100% rename from Documentation/Releases/5.0b02.md rename to Documentation/docs/releases/5.0b02.md diff --git a/Documentation/Releases/5.0b03.md b/Documentation/docs/releases/5.0b03.md similarity index 100% rename from Documentation/Releases/5.0b03.md rename to Documentation/docs/releases/5.0b03.md diff --git a/Documentation/Releases/5.0rc01.md b/Documentation/docs/releases/5.0rc01.md similarity index 100% rename from Documentation/Releases/5.0rc01.md rename to Documentation/docs/releases/5.0rc01.md diff --git a/Documentation/Releases/5.0rc02.md b/Documentation/docs/releases/5.0rc02.md similarity index 100% rename from Documentation/Releases/5.0rc02.md rename to Documentation/docs/releases/5.0rc02.md diff --git a/Documentation/Releases/5.1.md b/Documentation/docs/releases/5.1.md similarity index 100% rename from Documentation/Releases/5.1.md rename to Documentation/docs/releases/5.1.md diff --git a/Documentation/docs/releases/5.2.md b/Documentation/docs/releases/5.2.md new file mode 100644 index 000000000000..c7b473f1783a --- /dev/null +++ b/Documentation/docs/releases/5.2.md @@ -0,0 +1,1807 @@ +ITK 5.2.0 Release Notes +======================= + +We are happy to announce the release of [Insight Toolkit (ITK)](https://itk.org) 5.2.0! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration. + +ITK 5.2 is a feature release that improves and extends interfaces to deep learning, artificial intelligence (AI) libraries, with an emphasis on [Project MONAI](https://monai.io), the Medical Open Network for AI. ITK 5.2 feature highlights include functional filter support for PyTorch tensors, Python dictionary interfaces to `itk.Image` metadata, NumPy-based pixel indexing, 4D Python image support, and improved multi-component image support. + +Changes from Release Candidate 3 include an updated [Python Quick Start Guide](https://itkpythonpackage.readthedocs.io/en/master/Quick_start_guide.html) and many improvements to the [ITK Sphinx Examples](https://itk.org/ITKExamples/). + +Experimental pip-installable Python packages are available for ARMv8 on macOS for the Apple M1 Silicon processor, and Linux, also known as aarch64. For a scientific computing environment on these platforms, we recommend [mini-forge](https://github.com/conda-forge/miniforge). + +The pip-installable Python packages work with conda across all platforms. We are working to add native conda-forge packages in a future release. + +All Pythonic, functional filter interfaces have type annotations with common, standard types along with `numpy.typing.ArrayLike` and `itk.support.types.ImageLike`. + +Many other improvements were made since RC 3 based on community feedback. A full list can be found in the Changelog below. + +Downloads +--------- + +**Python Packages** + +Install [ITK Python packages](https://itkpythonpackage.readthedocs.io/en/latest/Quick_start_guide.html) with: + +``` +pip install --upgrade itk +``` + + +**Guide and Textbook** + +- [InsightSoftwareGuide-Book1-5.2.0.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightSoftwareGuide-Book1-5.2.0.pdf) +- [InsightSoftwareGuide-Book2-5.2.0.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightSoftwareGuide-Book2-5.2.0.pdf) + +**Library Sources** + +- [InsightToolkit-5.2.0.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightToolkit-5.2.0.tar.gz) +- [InsightToolkit-5.2.0.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightToolkit-5.2.0.zip) + +**Testing Data** + +Unpack optional testing data in the same directory where the Library Source is unpacked. + +- [InsightData-5.2.0.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightData-5.2.0.tar.gz) +- [InsightData-5.2.0.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/InsightData-5.2.0.zip) + +**Checksums** + +- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/MD5SUMS) +- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.2.0/SHA512SUMS) + + + + +Features +-------- + +### MONAI-compatible `itk.Image` metadata dict and NumPy-indexing pixel set/get Python interfaces. + +``` + print(image['0008|0008']) + image['origin'] = [4.0, 2.0, 2.0] +``` + + +or a dictionary can be retrieved with: + +``` + meta_dict = dict(image) +``` +For example: + +``` +In [3]: dict(image) +Out[3]: +{'0008|0005': 'ISO IR 100', + '0008|0008': 'ORIGINAL\\PRIMARY\\AXIAL', + '0008|0016': '1.2.840.10008.5.1.4.1.1.2', + '0008|0018': '1.3.12.2.1107.5.8.99.484849.834848.79844848.2001082217554549', + '0008|0020': '20010822', +``` + +For non-string keys, they are passed to the NumPy array view so array views can be set and get with NumPy indexing syntax, e.g. + +``` +In [6]: image[0,:2,4] = [5,5] + +In [7]: image[0,:4,4:6] +Out[7]: +NDArrayITKBase([[ 5, -997], + [ 5, -1003], + [ -993, -999], + [ -996, -994]], dtype=int16) +``` + +Provides a Python dictionary interface to image metadata, keys are +`MetaDataDictionary` entries along with *'origin'*, *'spacing'*, and +*'direction' keys. The latter reverse their order to be consistent with +the NumPy array index order resulting from array views of the image. + +The `itk.xarray_from_image` and `itk.image_from_xarray` functions gained support for transfer of `itk` `MetaDataDictionary` and `xarray` `attrs` along with support for ordering `xarray` `DataArray` `dims`. + + +### Pythonic enhancements + +Improved Xarray support was added in the functional [filter support for NumPy `ndarray`-like images, i.e. a `numpy.ndarray`, Dask Array or `xarray.DataArray`s](https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.1.0). + + +`itk.Image` now provides an `astype()` method for casting to a NumPy `dtype` or `itk` pixel type. + +In addition to single files or an image stack in a Python list, a directory can be passed to `itk.imread` containing a DICOM series. A spatially ordered 3D image will be obtained. + +The conversion functions, `itk.vtk_image_from_image()` and `itk.image_from_vtk_image()` are directly available for working with [VTK](https://vtk.org). + +We now generate `.pyi` Python interface files, providing better feedback in integrated development environments (IDE)'s like PyCharm. + +Python code was modernized for Python 3.6, including some typehints. We now use the [`black`](https://github.com/psf/black) Python style. + +An `itk.set_nthreads()` convenience function is available to set the default number of threads. Support is now available for use in the Python `multiprocessing` module. + +In addition to `itk.imread`, `itk.imwrite`, `itk.meshread`, `itk.meshwrite`, spatial transformation IO functions are available, `itk.transformread`, `itk.transformwrite`. + +To provide an `itk.ImageIOBase` derived object to read a specific file format, `itk.imread` and `itk.imwrite` gained support for the `imageio` keyword argument. + +### Python package layout improvements + +Python support module organization has been organized into the `itk.support.*` package. + +Python development was added for multi-config CMake generators, e.g. Visual Studio or multi-config Ninja, with the limitation that it only works with the most recently built configuration. When developing ITK Python wrapping or ITK remote modules, copy the `WrapITK.pth` build tree file to your virtual environment or conda environment `site-packages` to experiment with the wrapping. + +### Python package advances + +Improved `VectorImage` and multi-component image support is available in the ITK Python packages. + +NumPy is now a required package dependency. + +Python packages are now built with interprodedural optimizations (IPO). Linux Python packages are built with the `manylinux2014` toolchain. + +Binary Python packages are available for ARM on macOS and Linux. + +Python packages are available for Python 3.6 to 3.9. Following CPython deprecation schedule, this is the last release to support Python 3.6. + +### C++ interface improvements + +A new `itk::FunctionCommand` class is available, an `itk::Command` subclass that calls `std::function` objects or lambda functions. + +New `itk::ReadImage`, `itk::WriteImage` convenience functions are available for reading and writing image files with minimal code. + +An `itk::Image` now supports `operator==` and `operator!=`. + + +A new `itk::TernaryGeneratorImageFilter` class is now available. + +### Third party library updates + +Updates were made for the third party libraries: + +* GDCM +* HDF5 +* double-conversion +* pygccxml +* castxml +* swig +* VXL +* KWIML +* KWSys +* MetaIO +* cuFFTW + + +### Remote Module Updates + +We added a new [adaptive denoising](https://github.com/ntustison/ITKAdaptiveDenoising) remote module. + +Many remote modules were updated: *AdaptiveDenoising*, *AnalyzeObjectLabelMap*, *AnisotropicDiffusionLBR*, *BSplineGradient*, *BioCell*, *BoneEnhancement*, *BoneMorphometry*, *Cuberille*, *FixedPointInverseDisplacementField*, *GenericLabelInterpolator*, *HigherOrderAccurateGradient*, *IOFDF*, *IOMeshSTL*, *IOOpenSlide*, *IOScanco*, *IOTransformDCMTK*, *IsotropicWavelets*, *LabelErodeDilate*, *LesionSizingToolkit*, *MGHIO*, *MeshNoise*, *MinimalPathExtraction*, *Montage*, *MorphologicalContourInterpolation*, *MultipleImageIterator*, *ParabolicMorphology*, *PerformanceBenchmarking*, *PhaseSymmetry*, *PolarTransform*, *PrincipalComponentsAnalysis*, *RLEImage*, *RTK*, *SCIFIO*, *SimpleITKFilters*, *SkullStrip*, *SmoothingRecursiveYvvGaussianFilter*, *SplitComponents*, *Strain*, *SubdivisionQuadEdgeMeshFilter*, *TextureFeatures*, *Thickness3D*, *TotalVariation*, *TubeTK*, *TwoProjectionRegistration*, and *VariationalRegistration*. + Their updates are included in the detailed changelog below. + + Support for cross-platform C++ testing, Python package generation, and PyPI deployment with GitHub Actions was added to almost all remote modules. + + +### Test coverage and bug fixes + +A multitude of test code coverage improvements were made -- our code coverage is [now 90.09%](https://open.cdash.org/index.php?project=Insight) with 127,103 lines tested. + +Many more bug fixes and improvements have been made. For details, see the changelog below. + +### Congratulations + +Congratulations and **thank you** to everyone who contributed to this release. + +Of the *63 authors* who contributed since v5.1.0, we would like to specially recognize the new contributors: + +Horea Christian, Baptiste Depalle, David Thompson, Pierre Wargnier, Darren Thompson, Sebastien Brousmiche, Alexander Burchardt, Marco Nolden, Michael Kuczynski, MrTzschr, Bernhard M. Wiedemann, Charles Garraud, Lee Newberg, Bryn Lloyd, Gregory Lee, justbennet, Kenji Tsumura, Zhiyuan Liu, Jonathan Daniel, Moritz Schaar, Atri Bhattacharya, Mon-ius, Michael Jackson, Tom Birdsong, Alex Domingo, Laurent Malka, Kris Thielemans, Andreas Huber, and Melvin Robinson. + +And the new contributors since **v5.2rc03**: + +Michael Kuczynski, Flanz, Robert, Adrien Boucaud, Tom Birdsong, and suryanshsangwan. + + +What's Next +----------- + + +Our next feature release, [ITK 5.3](https://github.com/InsightSoftwareConsortium/ITK/milestones/17), will follow a few [patch releases](https://github.com/InsightSoftwareConsortium/ITK/milestone/18). Remote module Python packages will be updated to leverage and work with `itk-5.2.0.post3`. Join the community discussion at [discourse.itk.org](https://discourse.itk.org). Contribute with pull requests, code reviews, and issue discussions in our [GitHub Organization](https://github.com/InsightSoftwareConsortium). + +**Enjoy ITK!** + +ITK Changes Since v5.2rc03 +--------------------------------------------- + +### Bradley Lowekamp (6): + +#### Enhancements + +- Use dynamic threading model ([38dec0a2ce](https://github.com/InsightSoftwareConsortium/ITK/commit/38dec0a2ce)) + +#### Performance Improvements + +- Replace thread index array with thread local storage ([18f764f23a](https://github.com/InsightSoftwareConsortium/ITK/commit/18f764f23a)) + +#### Platform Fixes + +- Address gcc 4.8 compilation errors ([050172153c](https://github.com/InsightSoftwareConsortium/ITK/commit/050172153c)) + +#### Bug Fixes + +- Use graft of input to mini-pipeline ([6390ebf540](https://github.com/InsightSoftwareConsortium/ITK/commit/6390ebf540)) +- Initialize member variables ([2819485a51](https://github.com/InsightSoftwareConsortium/ITK/commit/2819485a51)) + +#### Style Changes + +- Prefer in class initialization ([46f9452491](https://github.com/InsightSoftwareConsortium/ITK/commit/46f9452491)) + + +### Dženan Zukić (13): + +#### Enhancements + +- update remote modules using the script ([289564b5ff](https://github.com/InsightSoftwareConsortium/ITK/commit/289564b5ff)) +- update remote modules ([b71b85f9cd](https://github.com/InsightSoftwareConsortium/ITK/commit/b71b85f9cd)) +- add Ultrasound remote module ([04a661c78a](https://github.com/InsightSoftwareConsortium/ITK/commit/04a661c78a)) +- update remote modules by running the script ([87de84a9b0](https://github.com/InsightSoftwareConsortium/ITK/commit/87de84a9b0)) + +#### Performance Improvements + +- using constant boundary condition instead of filling the edge ([a3429dd18e](https://github.com/InsightSoftwareConsortium/ITK/commit/a3429dd18e)) + +#### Documentation Updates + +- fix AtomicInt and MutexLock broken links in migration guide ([eb0e5a01fc](https://github.com/InsightSoftwareConsortium/ITK/commit/eb0e5a01fc)) +- improve description of LBFGSERR_ROUNDING_ERROR stopping condition ([3cff310b8c](https://github.com/InsightSoftwareConsortium/ITK/commit/3cff310b8c)) + +#### Platform Fixes + +- fix CMake Deprecation Warning (Compatibility with CMake < 2.8.12) ([ff2643f37b](https://github.com/InsightSoftwareConsortium/ITK/commit/ff2643f37b)) +- Fix CMake warning by setting policy 0120 to OLD ([ce2efb1b9e](https://github.com/InsightSoftwareConsortium/ITK/commit/ce2efb1b9e)) +- Disable CMake warning by setting policy 0120 to OLD ([d9de577a7f](https://github.com/InsightSoftwareConsortium/ITK/commit/d9de577a7f)) + +#### Bug Fixes + +- Fix crash in itk.image_from_xarray if is_vector and Dimension==4 ([3f2d117175](https://github.com/InsightSoftwareConsortium/ITK/commit/3f2d117175)) + +#### Style Changes + +- mark ultrasound remote module enablement as advanced variable ([2c660a404c](https://github.com/InsightSoftwareConsortium/ITK/commit/2c660a404c)) +- use ReadImage and WriteImage in PolygonSpatialObjectIsInsideTest ([75adb9fa30](https://github.com/InsightSoftwareConsortium/ITK/commit/75adb9fa30)) + + +### Flanz, Robert (1): + +#### Bug Fixes + +- Fix regression in PolygonSpatialObject::IsInsideInObjectSpace ([e3bf8e9af8](https://github.com/InsightSoftwareConsortium/ITK/commit/e3bf8e9af8)) + + +### James Butler (1): + +#### Platform Fixes + +- Fix OpenJPEG build error with Visual Studio 16.9 ([7cebc26dfa](https://github.com/InsightSoftwareConsortium/ITK/commit/7cebc26dfa)) + + +### Jon Haitz Legarreta Gorroño (11): + +#### Enhancements + +- Label PRs on filenames ([1db37989c2](https://github.com/InsightSoftwareConsortium/ITK/commit/1db37989c2)) +- Trigger PR labeler workflows from forks ([3afcc781a0](https://github.com/InsightSoftwareConsortium/ITK/commit/3afcc781a0)) +- Increase code coverage ([f704b5f12c](https://github.com/InsightSoftwareConsortium/ITK/commit/f704b5f12c)) + +#### Documentation Updates + +- Remove duplicate `README` file from `Review` module test folder ([c077bb3f62](https://github.com/InsightSoftwareConsortium/ITK/commit/c077bb3f62)) + +#### Platform Fixes + +- Fix deduced type initialization warning and operand mismatch error ([25dea2f73d](https://github.com/InsightSoftwareConsortium/ITK/commit/25dea2f73d)) +- Fix image pointer casting error ([1c25350c93](https://github.com/InsightSoftwareConsortium/ITK/commit/1c25350c93)) +- Fix missing initializer warning ([7548a390d7](https://github.com/InsightSoftwareConsortium/ITK/commit/7548a390d7)) +- Avoid creating a copy variable ([6c352afd04](https://github.com/InsightSoftwareConsortium/ITK/commit/6c352afd04)) +- Fix unreachable code warning ([4b8767b7c5](https://github.com/InsightSoftwareConsortium/ITK/commit/4b8767b7c5)) + +#### Style Changes + +- Add missing source file extension to `Common` module tests ([d5bfbef81c](https://github.com/InsightSoftwareConsortium/ITK/commit/d5bfbef81c)) +- Move `DCMTK` test baselines to module's `Baseline` folder ([55a186f1d4](https://github.com/InsightSoftwareConsortium/ITK/commit/55a186f1d4)) + + +### Lee Newberg (11): + +#### Enhancements + +- Use (Shaped)RegionRange instead of (Shaped)RegionIterator. ([ca23a2b2ad](https://github.com/InsightSoftwareConsortium/ITK/commit/ca23a2b2ad)) +- Mark most CMake variables as advanced ([4c785c2176](https://github.com/InsightSoftwareConsortium/ITK/commit/4c785c2176)) +- Support ArrayLike type with both numpy>=1.20 and numpy<1.20. ([5c86c02178](https://github.com/InsightSoftwareConsortium/ITK/commit/5c86c02178)) + +#### Performance Improvements + +- Make loop over labels be multi-threaded ([b1ffefe79a](https://github.com/InsightSoftwareConsortium/ITK/commit/b1ffefe79a)) +- Use std::unordered_map in itkContourExtractor2DImageFilter. ([5e884ceb29](https://github.com/InsightSoftwareConsortium/ITK/commit/5e884ceb29)) + +#### Platform Fixes + +- type and const safety in ContourExtractor2DImageFilter ([ad81939921](https://github.com/InsightSoftwareConsortium/ITK/commit/ad81939921)) +- Fix gcc4.8 warnings + errors itkContourExtractor2DImageFilter.hxx ([396c2a172e](https://github.com/InsightSoftwareConsortium/ITK/commit/396c2a172e)) +- Replace Type{} with Type() for gcc4. ([22ca5dd83d](https://github.com/InsightSoftwareConsortium/ITK/commit/22ca5dd83d)) +- Address ContourExtractor2DImageFilter valgrind defects ([be7c5fda7e](https://github.com/InsightSoftwareConsortium/ITK/commit/be7c5fda7e)) + +#### Bug Fixes + +- Fix reference counts for HDF5 DataSet assignment operator ([479b9424e8](https://github.com/InsightSoftwareConsortium/ITK/commit/479b9424e8)) + +#### Style Changes + +- Mimic code that was reviewed for the upstream HDF5 source ([090399dbf0](https://github.com/InsightSoftwareConsortium/ITK/commit/090399dbf0)) + + +### Matt McCormick (21): + +#### Enhancements + +- Support 32 bit integer IO in wrapping ([beb286c327](https://github.com/InsightSoftwareConsortium/ITK/commit/beb286c327)) +- Bump KWStyle to 2021-03-17 master ([541b779329](https://github.com/InsightSoftwareConsortium/ITK/commit/541b779329)) +- Add typehints for itk types to extras ([22827a5e97](https://github.com/InsightSoftwareConsortium/ITK/commit/22827a5e97)) +- Add typehints for itk functional filters ([ed11fdcf73](https://github.com/InsightSoftwareConsortium/ITK/commit/ed11fdcf73)) +- Add .process_object attribute to functional filters ([06fe2c3c0b](https://github.com/InsightSoftwareConsortium/ITK/commit/06fe2c3c0b)) +- Update testing data content links for ITK 5.2.0 ([ac080c97b1](https://github.com/InsightSoftwareConsortium/ITK/commit/ac080c97b1)) + +#### Documentation Updates + +- Update notes for ITKExamples -> ITKSphinxExamples repository renaming ([bf7600b317](https://github.com/InsightSoftwareConsortium/ITK/commit/bf7600b317)) +- Update .zenodo ([bbf4a978c0](https://github.com/InsightSoftwareConsortium/ITK/commit/bbf4a978c0)) + +#### Platform Fixes + +- Wrap FastSymmetricForcesDemonsRegistrationFilter like its parent class ([a9d9690b32](https://github.com/InsightSoftwareConsortium/ITK/commit/a9d9690b32)) +- Set Windows Python CI version to 3.8 ([f1978435f8](https://github.com/InsightSoftwareConsortium/ITK/commit/f1978435f8)) +- Build PNG arm sources for aarch64 CMAKE_SYSTEM_PROCESSOR ([27216ceb98](https://github.com/InsightSoftwareConsortium/ITK/commit/27216ceb98)) +- Constrain x86_64 optimization flags according to CMAKE_SYSTEM_PROCESSOR ([28d2b22ca7](https://github.com/InsightSoftwareConsortium/ITK/commit/28d2b22ca7)) +- Add lxmml for Windows Python CI build ([0fb00c7977](https://github.com/InsightSoftwareConsortium/ITK/commit/0fb00c7977)) +- Do not explicitly instantiate Array in itkArrayTest ([f5ce437b9d](https://github.com/InsightSoftwareConsortium/ITK/commit/f5ce437b9d)) +- Add tolerance for patch-based denoising tests on Apple M1 ([84b59dcee4](https://github.com/InsightSoftwareConsortium/ITK/commit/84b59dcee4)) + +#### Bug Fixes + +- Checkout full depths for clang-format-linter ([3f0d124b8f](https://github.com/InsightSoftwareConsortium/ITK/commit/3f0d124b8f)) +- Add __all__ to itk.support.init_helpers ([14992c6cd7](https://github.com/InsightSoftwareConsortium/ITK/commit/14992c6cd7)) +- Set ElementType for wrapping PyVectorContainer ([dcde43cb41](https://github.com/InsightSoftwareConsortium/ITK/commit/dcde43cb41)) + +#### Style Changes + +- Remove extra itk prefix from support Python modules ([4aba024e75](https://github.com/InsightSoftwareConsortium/ITK/commit/4aba024e75)) +- Use modern, Pythonic style in ImageRegistration3.py ([224043546e](https://github.com/InsightSoftwareConsortium/ITK/commit/224043546e)) +- black formatting on Python modules ([08eb3675b8](https://github.com/InsightSoftwareConsortium/ITK/commit/08eb3675b8)) + + +### Mihail Isakov (1): + +#### Platform Fixes + +- Forward CMAKE_APPLE_SILICON_PROCESSOR ([4fbacb9513](https://github.com/InsightSoftwareConsortium/ITK/commit/4fbacb9513)) + + +### Niels Dekker (27): + +#### Enhancements + +- Add explicit OptimizerParameters(inputData, dimension) constructor ([800e59e9ea](https://github.com/InsightSoftwareConsortium/ITK/commit/800e59e9ea)) +- Make itk::Matrix trivially copyable, following Rule of Zero ([59ebc33c6e](https://github.com/InsightSoftwareConsortium/ITK/commit/59ebc33c6e)) +- Add static member function, `itk::Matrix::GetIdentity()` ([f8ad6cfdee](https://github.com/InsightSoftwareConsortium/ITK/commit/f8ad6cfdee)) + +#### Platform Fixes + +- Add virtual destructor to TestClass in ExceptionObject unit test ([e2c62faf10](https://github.com/InsightSoftwareConsortium/ITK/commit/e2c62faf10)) +- Avoid "message" naming conflicts when calling an exception macro ([3d35e43c08](https://github.com/InsightSoftwareConsortium/ITK/commit/3d35e43c08)) +- Define ExceptionObject destructor out-of-line (doing Rule of Five) ([0fce3ff86b](https://github.com/InsightSoftwareConsortium/ITK/commit/0fce3ff86b)) +- Fix macOS clang warnings [-Wunused-variable] in test source files ([24744f9ef4](https://github.com/InsightSoftwareConsortium/ITK/commit/24744f9ef4)) +- Fix macOS clang warning [-Wunused-variable] in itkMINCImageIOTest ([b2c3042da9](https://github.com/InsightSoftwareConsortium/ITK/commit/b2c3042da9)) +- No longer test `is_trivially_copyable` in itkMatrixGTest on GCC 4 ([f24496d1b8](https://github.com/InsightSoftwareConsortium/ITK/commit/f24496d1b8)) +- Workaround Clang 3 error default initialization const MatrixGTest ([874f51dba7](https://github.com/InsightSoftwareConsortium/ITK/commit/874f51dba7)) + +#### Bug Fixes + +- Remove duplicate "itk::ERROR: itk::ERROR: " from itkExceptionMacro ([df0a977dd4](https://github.com/InsightSoftwareConsortium/ITK/commit/df0a977dd4)) +- Remove duplicate "itk::ERROR: " from itkSpecializedExceptionMacro ([1bd35b3bd5](https://github.com/InsightSoftwareConsortium/ITK/commit/1bd35b3bd5)) + +#### Style Changes + +- Remove 6 no-op dynamic_casts (casting T* to T*) from Modules/Core ([5b3fc71e87](https://github.com/InsightSoftwareConsortium/ITK/commit/5b3fc71e87)) +- Avoid "no-op" dynamic_cast from inside LightObject::New() ([64cafdf93d](https://github.com/InsightSoftwareConsortium/ITK/commit/64cafdf93d)) +- Remove 9 no-op dynamic_casts (casting T* to T*) ([5089a04475](https://github.com/InsightSoftwareConsortium/ITK/commit/5089a04475)) +- Remove unintended extra space from destructors and operators ([1e99f17cf3](https://github.com/InsightSoftwareConsortium/ITK/commit/1e99f17cf3)) +- ExceptionObject may assume that std::string::c_str() never throws ([bf82b3cfee](https://github.com/InsightSoftwareConsortium/ITK/commit/bf82b3cfee)) +- Follow Rule of Zero and use std::shared_ptr in ExceptionObject ([f88fefff52](https://github.com/InsightSoftwareConsortium/ITK/commit/f88fefff52)) +- C++11 inheriting constructors from ExceptionObject for 4 classes ([e41b2ef921](https://github.com/InsightSoftwareConsortium/ITK/commit/e41b2ef921)) +- Remove destructors ExceptionObject derived classes (Rule of Zero) ([79cf5c07b2](https://github.com/InsightSoftwareConsortium/ITK/commit/79cf5c07b2)) +- Use equal_to on pixel containers DenseFiniteDifferenceImageFilter ([670863f3c8](https://github.com/InsightSoftwareConsortium/ITK/commit/670863f3c8)) +- Replace "itk::ERROR" by "ITK ERROR" in description of exception ([2b34388159](https://github.com/InsightSoftwareConsortium/ITK/commit/2b34388159)) +- Inherit constructors (C++11) inside itkDeclareExceptionMacro ([301a0482ee](https://github.com/InsightSoftwareConsortium/ITK/commit/301a0482ee)) +- Remove ITK_MACROEND_NOOP_STATEMENT calls from exception macro's ([3f6c15eb53](https://github.com/InsightSoftwareConsortium/ITK/commit/3f6c15eb53)) +- Remove dynamic_casts PosteriorImage BayesianClassifierImageFilter ([faf3d3b223](https://github.com/InsightSoftwareConsortium/ITK/commit/faf3d3b223)) +- Remove `;` from itkExceptionMacro PatchBasedDenoisingImageFilter ([c9f07d9d73](https://github.com/InsightSoftwareConsortium/ITK/commit/c9f07d9d73)) +- Default ImageBase default-constructor, call Matrix::GetIdentity() ([254a9691ae](https://github.com/InsightSoftwareConsortium/ITK/commit/254a9691ae)) + + +### Samuel Gerber (2): + +#### Enhancements + +- Add option to access index in point set registration ([b6a142a5b3](https://github.com/InsightSoftwareConsortium/ITK/commit/b6a142a5b3)) + +#### Performance Improvements + +- Avoid Superfluous PointsLocator Updates ([79c3c960c5](https://github.com/InsightSoftwareConsortium/ITK/commit/79c3c960c5)) + + +### Sean McBride (6): + +#### Enhancements + +- changed CTEST_DROP_METHOD from http to https ([3cd8502cd9](https://github.com/InsightSoftwareConsortium/ITK/commit/3cd8502cd9)) +- fixed failing test with macOS Rosetta emulation by increasing buffer size ([bca298ab36](https://github.com/InsightSoftwareConsortium/ITK/commit/bca298ab36)) + +#### Platform Fixes + +- removed dead atomic operation checks ([a44407b73f](https://github.com/InsightSoftwareConsortium/ITK/commit/a44407b73f)) +- remove try-compile for SSE2 detection ([0402e50150](https://github.com/InsightSoftwareConsortium/ITK/commit/0402e50150)) +- cherrypick HDF5 commit that added C++11 override keywords ([dded4df49e](https://github.com/InsightSoftwareConsortium/ITK/commit/dded4df49e)) +- fix link error building Universal Binary on Intel Mac ([3fe5595ae6](https://github.com/InsightSoftwareConsortium/ITK/commit/3fe5595ae6)) + + +### Simon Rit (1): + +#### Platform Fixes + +- add FFTW library directory to FFT module ([c5f8949654](https://github.com/InsightSoftwareConsortium/ITK/commit/c5f8949654)) + + +### Tom Birdsong (3): + +#### Enhancements + +- Expose numpy / vector container interface ([cca42db412](https://github.com/InsightSoftwareConsortium/ITK/commit/cca42db412)) +- Type hints in functional interface ([208e1e59e0](https://github.com/InsightSoftwareConsortium/ITK/commit/208e1e59e0)) + +#### Bug Fixes + +- Wrap PyVectorContainer for all VectorContainer templates ([7216ed1ebd](https://github.com/InsightSoftwareConsortium/ITK/commit/7216ed1ebd)) + + +### VXL Maintainers (2): + +#### Miscellaneous Changes + +- VXL 2021-03-16 (e323b72d) ([1044055af6](https://github.com/InsightSoftwareConsortium/ITK/commit/1044055af6)) +- VXL 2021-03-24 (188a98c0) ([74eaa203d2](https://github.com/InsightSoftwareConsortium/ITK/commit/74eaa203d2)) + + + + +ITK Sphinx Examples Changes Since v5.2rc03 +--------------------------------------------- + +### Brian Helba (1): + +#### Enhancements + +- Use the upstream CMake ExternalData module, instead of a vendored local copy ([d1f7d985](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d1f7d985)) + + +### Dženan Zukić (1): + +#### Style Changes + +- Switch to the new code order: Python before C++ ([5db4da31](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/5db4da31)) + + +### Lee Newberg (5): + +#### Documentation Updates + +- Indicate how to adjust resolution in ResampleAnImage ([896d48e2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/896d48e2)) +- Add details for running CreateNewExample.py ([532ca008](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/532ca008)) +- RescaleAnImage -> RescaleIntensity to clarify that it's not about size. ([a732d546](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/a732d546)) + +#### Platform Fixes + +- Include for some files ([87ab548a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/87ab548a)) + +#### Bug Fixes + +- Fix continuous integration failure of ResampleAnImage ([66b8d2f0](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/66b8d2f0)) + + +### Mathew Seng (7): + +#### Enhancements + +- Enable use of titlecase for header creation ([b33b3806](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b33b3806)) + +#### Documentation Updates + +- Rename folder directories ([3190a58e](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/3190a58e)) +- Allow consistent Documentation.rst headers ([65e5b8f9](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/65e5b8f9)) +- Put remaining example headers into proper format ([d2b99b30](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d2b99b30)) +- Enable LineSpatialObject doxygen references in Sphinx ([8dd5e762](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8dd5e762)) + +#### Bug Fixes + +- Submodules not ordered in alphabetical order ([c806da3e](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c806da3e)) +- Rename LineSpatialObject to CreateALineSpatialObject ([47e05d48](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/47e05d48)) + + +### Matt McCormick (44): + +#### Enhancements + +- Add .ipynb_checkpoints to .gitignore ([81a58211](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/81a58211)) +- Upgrade to ITK 5.2 RC 3 ([227eeff5](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/227eeff5)) +- Add clang-format pre-commit hook ([eb063108](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/eb063108)) +- Add black style pre-commit hook ([0175c886](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0175c886)) +- Bump Netlify GitHub Action to v1.1.13 ([0ee18172](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0ee18172)) +- Test Python in CI with the Superbuild ([57e24097](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/57e24097)) +- Add IsPixelInsideRegion Python example ([b9b630b2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b9b630b2)) +- Update ITK Required version to 5.2.0 ([f76453ee](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f76453ee)) +- Update ITK to v5.2.0 ([5377df13](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/5377df13)) +- Simplify ResampleAnImage output parameters ([e148246a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/e148246a)) + +#### Documentation Updates + +- Place Jupyter Notebook section before Code ([54f836da](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/54f836da)) +- Rename UpsampleOrDownsampleAScalarImage to ResampleAScalarImage ([86f62137](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/86f62137)) +- Add Python code for ResampleAScalarImage ([0a458df4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0a458df4)) +- Place resample examples next to each other in module index ([33cdf2c4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/33cdf2c4)) +- Simplify ResampleSegmentedImage, Python version ([d3ae2969](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d3ae2969)) +- Add pandoc, nbsphinx to the documentation deps ([63634901](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/63634901)) +- Rename build-test-superbuild to build-test-python ([d5505edb](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d5505edb)) +- Install titlecase package for CreateNewExample.py script ([7489cce3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/7489cce3)) +- Update example Download link instructions ([c17864d3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c17864d3)) +- Update build instructions for example .zip files ([249b93e9](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/249b93e9)) + +#### Platform Fixes + +- Bump ITK version to 2021-03-14 master ([74142c32](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/74142c32)) +- Make the Sphinx linkcheck optional ([7eae01a1](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/7eae01a1)) + +#### Bug Fixes + +- Remove Compatibility/Deprecated group ([b0777843](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b0777843)) +- Enable production-deploy on Netlify GitHub Action ([8bcc38b8](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8bcc38b8)) +- Do not use shallow checkout for linting ([43a59ba7](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/43a59ba7)) +- Use super-linter GitHub Action for black linting ([2be5415c](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2be5415c)) +- Remove unnecessary matrix options for notebook testing ([017d6fd3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/017d6fd3)) +- Add nbsphinx to the superbuild Python packages ([71aecd82](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/71aecd82)) +- Require itk>=5.2.0.post2 for notebook tests ([97c6e553](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/97c6e553)) +- Tarball html output path when not built as a remote module ([f76dc431](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f76dc431)) +- Fix download links ([635cbc75](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/635cbc75)) +- Add ipython to Python environment for documentation build ([f6cbeb76](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f6cbeb76)) +- Correct MutualInformationAffine output ([f5e029f2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f5e029f2)) +- Transform SVG files in Sphinx ([0e0de5fb](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0e0de5fb)) +- Fix epub output path link in documentation ([0ca83aa3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0ca83aa3)) + +#### Style Changes + +- Pythonic style for ResampleAVectorImage ([4cdd7029](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4cdd7029)) +- Use itk::ReadImage and itk::WriteImage in ApplyAffineTransform ([fc822448](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/fc822448)) +- Use Pythonic interface for ResampleAnImage ([473070bf](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/473070bf)) +- Run black on all Python examples ([05bd86a4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/05bd86a4)) +- Add black, flake8 GitHub Action linters ([6dd94077](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/6dd94077)) +- Disable JSCPD check ([dbda6ab0](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/dbda6ab0)) +- Explicitly enable black linting for super-linter ([4fdae985](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4fdae985)) +- Rename ITKExamples to ITKSphinxExamples ([b0d53207](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b0d53207)) +- Only output downloadable .zip archives for examples ([567b01c6](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/567b01c6)) + + +### Melvin Robinson (3): + +#### Documentation Updates + +- Update documentation output to match Code.cxx output ([0e2eca92](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0e2eca92)) + +#### Miscellaneous Changes + +- Fix filename for Create3DVolume. Need to add test ([8176dc90](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8176dc90)) +- Fix another small doc file ([d695005d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d695005d)) + + +### Pablo Hernandez-Cerdan (2): + +#### Enhancements + +- Use itk.image_to_vtk_image ([49750fad](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/49750fad)) + +#### Platform Fixes + +- Remove "vtk" prefix from VTK COMPONENTS ([9c045a18](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/9c045a18)) + + +### Stephen Aylward (5): + +#### Platform Fixes + +- Bump min required version for CMake to > 2.8 to avoid warning ([f75e9c87](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f75e9c87)) + +#### Bug Fixes + +- CreateTarball assumes /src/ is unique in path ([37da5d6c](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/37da5d6c)) + +#### Style Changes + +- Reformatting CreateTarball.py to match lint ([e706163a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/e706163a)) +- Additional lint changes to CreateTarball.py ([d19ecc34](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d19ecc34)) + +#### Miscellaneous Changes + +- Style: Fix remaining lint issues ([94d58947](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/94d58947)) + + +### Tom Birdsong (4): + +#### Enhancements + +- Build notebook docs with nbsphinx ([c5eae3cc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c5eae3cc)) +- Add ComputeMeanSquareBetweenTwoImages Python example ([d7928a96](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d7928a96)) + +#### Bug Fixes + +- Move build-test-cxx CI source tree to path with shorter name ([2f3b1dfc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2f3b1dfc)) +- Use GZip for Doxygen XML archive ([2d30a5bc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2d30a5bc)) + + +### suryanshsangwan (1): + +#### Miscellaneous Changes + +- Fixed issue 220 ([ea1de658](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/ea1de658)) + + + + +ITK Software Guide Changes Since v5.2rc03 +--------------------------------------------- + +### Matt McCormick (4): + +#### Enhancements + +- Bump ITK version to 5.2rc03 ([3fda610](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/3fda610)) +- Update ITK to v5.2.0 ([d5dab33](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/d5dab33)) + +#### Documentation Updates + +- Update for ITKExamples -> ITKSphinxExamples renaming ([c4846a2](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/c4846a2)) + +#### Bug Fixes + +- Work around CI environmental variable setting ([944a3e2](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/944a3e2)) + + + + +Remote Module Changes Since v5.2rc03 +--------------------------------------------- + +## AnisotropicDiffusionLBR: +### Mathew Seng (1): + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([3df1fde](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/3df1fde)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([cc6c28c](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/cc6c28c)) + +#### Platform Fixes + +- Constrain wrapping to 2D, 3D images ([4cec024](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/4cec024)) + +#### Bug Fixes + +- Incorporate ITKModuleTemplate CI configuration updates ([1720bae](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/1720bae)) + + + +## BSplineGradient: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI to ITK 5.2 RC 3 ([76996c4](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/76996c4)) + + + +## HigherOrderAccurateGradient: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI to ITK 5.2 RC 3 ([59fa983](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/59fa983)) + + + +## IOFDF: +### Matt McCormick (2): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([f79f207](https://github.com/InsightSoftwareConsortium/ITKIOFDF/commit/f79f207)) + +#### Documentation Updates + +- Add PyPI, License badges ([587a000](https://github.com/InsightSoftwareConsortium/ITKIOFDF/commit/587a000)) + + + +## IOScanco: +### Dženan Zukić (6): + +#### Enhancements + +- enable writing ISQ files ([08e269a](https://github.com/KitwareMedical/ITKIOScanco/commit/08e269a)) +- avoid possible buffer overflows on string ivar setters ([0f60565](https://github.com/KitwareMedical/ITKIOScanco/commit/0f60565)) +- Initializing MuWater constant to the usual value ([50aafe1](https://github.com/KitwareMedical/ITKIOScanco/commit/50aafe1)) +- update CI to 5.2RC3+ ([823fb92](https://github.com/KitwareMedical/ITKIOScanco/commit/823fb92)) + +#### Performance Improvements + +- do not re-scale the data if there is no need for it ([b4392f4](https://github.com/KitwareMedical/ITKIOScanco/commit/b4392f4)) + +#### Bug Fixes + +- do not crash in CanReadFile if the path does not exist ([7569472](https://github.com/KitwareMedical/ITKIOScanco/commit/7569472)) + + +### Matt McCormick (3): + +#### Enhancements + +- Populate the Image MetaDataDictionary when reading ([4e887b2](https://github.com/KitwareMedical/ITKIOScanco/commit/4e887b2)) +- Update build for ITK 5.2 RC 3 ([4dd399f](https://github.com/KitwareMedical/ITKIOScanco/commit/4dd399f)) +- Populate the Image MetaDataDictionary when reading ([f44399d](https://github.com/KitwareMedical/ITKIOScanco/commit/f44399d)) + + +### Michael Kuczynski (3): + +#### Enhancements + +- Add Tests for AIM Reading ([05a019d](https://github.com/KitwareMedical/ITKIOScanco/commit/05a019d)) + +#### Bug Fixes + +- Updated Baseline AIM Image to Pass Tests ([8b0ab02](https://github.com/KitwareMedical/ITKIOScanco/commit/8b0ab02)) + +#### Style Changes + +- Update Output File Names in Tests ([530cc34](https://github.com/KitwareMedical/ITKIOScanco/commit/530cc34)) + + + +## MinimalPathExtraction: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK v5.2rc03+ ([537b34a](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/537b34a)) + + + +## Montage: +### Dženan Zukić (10): + +#### Enhancements + +- update CI to 5.2RC3+ ([2869345](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/2869345)) +- add getters and setters to Tile and TileConfiguration for Python access ([325add3](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/325add3)) +- avoid deadlock when invoked via Python ([62d6492](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/62d6492)) +- support RGB and RGBA pixel types for TileMergeImageFilter ([7f565de](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/7f565de)) +- adding a Python example ([ebe2dc3](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/ebe2dc3)) +- review suggestions ([fc0a8d6](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/fc0a8d6)) + +#### Documentation Updates + +- Fix a broken article link ([65dbdc8](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/65dbdc8)) + +#### Bug Fixes + +- Do not use shallow checkout for linting ([458424d](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/458424d)) + +#### Style Changes + +- minor corrections ([29707c0](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/29707c0)) +- allow wider range of types for instantiating merge filter ([cb86803](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/cb86803)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update builds for ITK 5.2 RC 3 ([4b6aa42](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/4b6aa42)) + +#### Documentation Updates + +- Add article citation ([86fa4e0](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/86fa4e0)) +- Improve authors for Zukić, Dž. ([b66bb4f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/b66bb4f)) + + + +## MorphologicalContourInterpolation: +### Adrien Boucaud (2): + +#### Enhancements + +- Add a flag to enable/disable extrapolation ([ca5f688](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/ca5f688)) +- Update CI for ITK 5.2rc03 ([87deba0](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/87deba0)) + + +### Dženan Zukić (2): + +#### Enhancements + +- adding a Python example with a simple test with an input image ([2f90b24](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/2f90b24)) +- build examples as part of CI testing ([539da4f](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/539da4f)) + + + +## RLEImage: +### Matt McCormick (1): + +#### Enhancements + +- Update Python package version requirement to 5.2rc1 ([3ac76da](https://github.com/KitwareMedical/ITKRLEImage/commit/3ac76da)) + + + +## RTK: +### Lucas Gandel (1): + +#### Platform Fixes + +- Add missing iostream include for CUDA classes ([3dba9889](https://github.com/SimonRit/RTK/commit/3dba9889)) + + +### Simon Rit (6): + +#### Enhancements + +- upgrade CI for python packages to 5.2rc02 ([3a00f178](https://github.com/SimonRit/RTK/commit/3a00f178)) +- wrap RegularizedConjugateGradientConeBeamReconstructionFilter ([4f3b7506](https://github.com/SimonRit/RTK/commit/4f3b7506)) +- upgrade CI for python packages to 5.2rc03 ([6da67e06](https://github.com/SimonRit/RTK/commit/6da67e06)) + +#### Documentation Updates + +- fix broken links to Siggraph pages ([70cd3b37](https://github.com/SimonRit/RTK/commit/70cd3b37)) + +#### Bug Fixes + +- missing initialization of SART division threshold ([dd7a5fe9](https://github.com/SimonRit/RTK/commit/dd7a5fe9)) + +#### Style Changes + +- rename guards for Cuda includes following ITK's style ([dd660a00](https://github.com/SimonRit/RTK/commit/dd660a00)) + + + +## SplitComponents: +### Matt McCormick (3): + +#### Enhancements + +- Bump CI for ITK 5.2 RC 3 ([5c70947](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/5c70947)) + +#### Documentation Updates + +- Remove Azure Pipelines badge ([72594b2](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/72594b2)) + +#### Platform Fixes + +- Update ITK version to 2021-03-14 master for Windows CI builds ([fc7de89](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/fc7de89)) + + + +## Strain: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([9af85d8](https://github.com/KitwareMedical/ITKStrain/commit/9af85d8)) + + + +## Thickness3D: +### Mathew Seng (1): + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([82bb742](https://github.com/InsightSoftwareConsortium/ITKThickness3D/commit/82bb742)) + + +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK v5.2rc02 ([2150b11](https://github.com/InsightSoftwareConsortium/ITKThickness3D/commit/2150b11)) + + + +## TotalVariation: +### Matt McCormick (2): + +#### Enhancements + +- Update CI for ITK 5.2 RC 2 ([147c4cb](https://github.com/InsightSoftwareConsortium/ITKTotalVariation/commit/147c4cb)) + +#### Documentation Updates + +- Update setup.py download_url ([b3564d7](https://github.com/InsightSoftwareConsortium/ITKTotalVariation/commit/b3564d7)) + + + +## TubeTK: +### Mathew Seng (6): + +#### Enhancements + +- Cannot have both a modifiable and constant object macro ([b3b717c3](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/b3b717c3)) + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([79485ec1](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/79485ec1)) + +#### Bug Fixes + +- Remove old CI configurations ([d0769c36](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/d0769c36)) + +#### Style Changes + +- Update itkGetObjectMacro macros ([b8e642e9](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/b8e642e9)) +- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. ([918d7b01](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/918d7b01)) +- Place ';' at the end of each macro ([7bb42067](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/7bb42067)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update CI configuration for ITK 5.2 RC 3 ([40bbcfb1](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/40bbcfb1)) + +#### Documentation Updates + +- Fix CI status badge ([e4cb53d0](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/e4cb53d0)) + +#### Platform Fixes + +- Add cmake_minimum_required to top level CMakeLists.txt ([05b347c4](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/05b347c4)) + + +### Stephen Aylward (3): + +#### Enhancements + +- Combine jupyter notebooks into single .py file for CTP-Head ([53a34786](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/53a34786)) +- Remove cmake_minimum_requirements since ITK defines them. ([4024de62](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/4024de62)) + +#### Bug Fixes + +- Eliminate chance of divide by zero in itktubeBlurImageFunction ([7d90c1f3](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/7d90c1f3)) + + + +## Ultrasound: +### Matt McCormick (3): + +#### Enhancements + +- Update Notebook to Python 3 ([61bec2c](https://github.com/KitwareMedical/ITKUltrasound/commit/61bec2c)) +- Add notebook CI testing ([cae3e45](https://github.com/KitwareMedical/ITKUltrasound/commit/cae3e45)) + +#### Style Changes + +- Move notebooks into examples/ directory directly ([d8ebede](https://github.com/KitwareMedical/ITKUltrasound/commit/d8ebede)) + + +ITK Changes Since v5.2rc03 +--------------------------------------------- + +### Bradley Lowekamp (6): + +#### Enhancements + +- Use dynamic threading model ([38dec0a2ce](https://github.com/InsightSoftwareConsortium/ITK/commit/38dec0a2ce)) + +#### Performance Improvements + +- Replace thread index array with thread local storage ([18f764f23a](https://github.com/InsightSoftwareConsortium/ITK/commit/18f764f23a)) + +#### Platform Fixes + +- Address gcc 4.8 compilation errors ([050172153c](https://github.com/InsightSoftwareConsortium/ITK/commit/050172153c)) + +#### Bug Fixes + +- Use graft of input to mini-pipeline ([6390ebf540](https://github.com/InsightSoftwareConsortium/ITK/commit/6390ebf540)) +- Initialize member variables ([2819485a51](https://github.com/InsightSoftwareConsortium/ITK/commit/2819485a51)) + +#### Style Changes + +- Prefer in class initialization ([46f9452491](https://github.com/InsightSoftwareConsortium/ITK/commit/46f9452491)) + + +### Dženan Zukić (13): + +#### Enhancements + +- update remote modules using the script ([289564b5ff](https://github.com/InsightSoftwareConsortium/ITK/commit/289564b5ff)) +- update remote modules ([b71b85f9cd](https://github.com/InsightSoftwareConsortium/ITK/commit/b71b85f9cd)) +- add Ultrasound remote module ([04a661c78a](https://github.com/InsightSoftwareConsortium/ITK/commit/04a661c78a)) +- update remote modules by running the script ([87de84a9b0](https://github.com/InsightSoftwareConsortium/ITK/commit/87de84a9b0)) + +#### Performance Improvements + +- using constant boundary condition instead of filling the edge ([a3429dd18e](https://github.com/InsightSoftwareConsortium/ITK/commit/a3429dd18e)) + +#### Documentation Updates + +- fix AtomicInt and MutexLock broken links in migration guide ([eb0e5a01fc](https://github.com/InsightSoftwareConsortium/ITK/commit/eb0e5a01fc)) +- improve description of LBFGSERR_ROUNDING_ERROR stopping condition ([3cff310b8c](https://github.com/InsightSoftwareConsortium/ITK/commit/3cff310b8c)) + +#### Platform Fixes + +- fix CMake Deprecation Warning (Compatibility with CMake < 2.8.12) ([ff2643f37b](https://github.com/InsightSoftwareConsortium/ITK/commit/ff2643f37b)) +- Fix CMake warning by setting policy 0120 to OLD ([ce2efb1b9e](https://github.com/InsightSoftwareConsortium/ITK/commit/ce2efb1b9e)) +- Disable CMake warning by setting policy 0120 to OLD ([d9de577a7f](https://github.com/InsightSoftwareConsortium/ITK/commit/d9de577a7f)) + +#### Bug Fixes + +- Fix crash in itk.image_from_xarray if is_vector and Dimension==4 ([3f2d117175](https://github.com/InsightSoftwareConsortium/ITK/commit/3f2d117175)) + +#### Style Changes + +- mark ultrasound remote module enablement as advanced variable ([2c660a404c](https://github.com/InsightSoftwareConsortium/ITK/commit/2c660a404c)) +- use ReadImage and WriteImage in PolygonSpatialObjectIsInsideTest ([75adb9fa30](https://github.com/InsightSoftwareConsortium/ITK/commit/75adb9fa30)) + + +### Flanz, Robert (1): + +#### Bug Fixes + +- Fix regression in PolygonSpatialObject ([e3bf8e9af8](https://github.com/InsightSoftwareConsortium/ITK/commit/e3bf8e9af8)) + + +### James Butler (1): + +#### Platform Fixes + +- Fix OpenJPEG build error with Visual Studio 16.9 ([7cebc26dfa](https://github.com/InsightSoftwareConsortium/ITK/commit/7cebc26dfa)) + + +### Jon Haitz Legarreta Gorroño (11): + +#### Enhancements + +- Label PRs on filenames ([1db37989c2](https://github.com/InsightSoftwareConsortium/ITK/commit/1db37989c2)) +- Trigger PR labeler workflows from forks ([3afcc781a0](https://github.com/InsightSoftwareConsortium/ITK/commit/3afcc781a0)) +- Increase code coverage ([f704b5f12c](https://github.com/InsightSoftwareConsortium/ITK/commit/f704b5f12c)) + +#### Documentation Updates + +- Remove duplicate `README` file from `Review` module test folder ([c077bb3f62](https://github.com/InsightSoftwareConsortium/ITK/commit/c077bb3f62)) + +#### Platform Fixes + +- Fix deduced type initialization warning and operand mismatch error ([25dea2f73d](https://github.com/InsightSoftwareConsortium/ITK/commit/25dea2f73d)) +- Fix image pointer casting error ([1c25350c93](https://github.com/InsightSoftwareConsortium/ITK/commit/1c25350c93)) +- Fix missing initializer warning ([7548a390d7](https://github.com/InsightSoftwareConsortium/ITK/commit/7548a390d7)) +- Avoid creating a copy variable ([6c352afd04](https://github.com/InsightSoftwareConsortium/ITK/commit/6c352afd04)) +- Fix unreachable code warning ([4b8767b7c5](https://github.com/InsightSoftwareConsortium/ITK/commit/4b8767b7c5)) + +#### Style Changes + +- Add missing source file extension to `Common` module tests ([d5bfbef81c](https://github.com/InsightSoftwareConsortium/ITK/commit/d5bfbef81c)) +- Move `DCMTK` test baselines to module's `Baseline` folder ([55a186f1d4](https://github.com/InsightSoftwareConsortium/ITK/commit/55a186f1d4)) + + +### Lee Newberg (11): + +#### Enhancements + +- Use (Shaped)RegionRange instead of (Shaped)RegionIterator. ([ca23a2b2ad](https://github.com/InsightSoftwareConsortium/ITK/commit/ca23a2b2ad)) +- Mark most CMake variables as advanced ([4c785c2176](https://github.com/InsightSoftwareConsortium/ITK/commit/4c785c2176)) +- Support ArrayLike type with both numpy>=1.20 and numpy<1.20. ([5c86c02178](https://github.com/InsightSoftwareConsortium/ITK/commit/5c86c02178)) + +#### Performance Improvements + +- Make loop over labels be multi-threaded ([b1ffefe79a](https://github.com/InsightSoftwareConsortium/ITK/commit/b1ffefe79a)) +- Use std ([5e884ceb29](https://github.com/InsightSoftwareConsortium/ITK/commit/5e884ceb29)) + +#### Platform Fixes + +- type and const safety in ContourExtractor2DImageFilter ([ad81939921](https://github.com/InsightSoftwareConsortium/ITK/commit/ad81939921)) +- Fix gcc4.8 warnings + errors itkContourExtractor2DImageFilter.hxx ([396c2a172e](https://github.com/InsightSoftwareConsortium/ITK/commit/396c2a172e)) +- Replace Type{} with Type() for gcc4. ([22ca5dd83d](https://github.com/InsightSoftwareConsortium/ITK/commit/22ca5dd83d)) +- Address ContourExtractor2DImageFilter valgrind defects ([be7c5fda7e](https://github.com/InsightSoftwareConsortium/ITK/commit/be7c5fda7e)) + +#### Bug Fixes + +- Fix reference counts for HDF5 DataSet assignment operator ([479b9424e8](https://github.com/InsightSoftwareConsortium/ITK/commit/479b9424e8)) + +#### Style Changes + +- Mimic code that was reviewed for the upstream HDF5 source ([090399dbf0](https://github.com/InsightSoftwareConsortium/ITK/commit/090399dbf0)) + + +### Matt McCormick (21): + +#### Enhancements + +- Support 32 bit integer IO in wrapping ([beb286c327](https://github.com/InsightSoftwareConsortium/ITK/commit/beb286c327)) +- Bump KWStyle to 2021-03-17 master ([541b779329](https://github.com/InsightSoftwareConsortium/ITK/commit/541b779329)) +- Add typehints for itk types to extras ([22827a5e97](https://github.com/InsightSoftwareConsortium/ITK/commit/22827a5e97)) +- Add typehints for itk functional filters ([ed11fdcf73](https://github.com/InsightSoftwareConsortium/ITK/commit/ed11fdcf73)) +- Add .process_object attribute to functional filters ([06fe2c3c0b](https://github.com/InsightSoftwareConsortium/ITK/commit/06fe2c3c0b)) +- Update testing data content links for ITK 5.2.0 ([ac080c97b1](https://github.com/InsightSoftwareConsortium/ITK/commit/ac080c97b1)) + +#### Documentation Updates + +- Update notes for ITKExamples -> ITKSphinxExamples repository renaming ([bf7600b317](https://github.com/InsightSoftwareConsortium/ITK/commit/bf7600b317)) +- Update .zenodo ([bbf4a978c0](https://github.com/InsightSoftwareConsortium/ITK/commit/bbf4a978c0)) + +#### Platform Fixes + +- Wrap FastSymmetricForcesDemonsRegistrationFilter like its parent class ([a9d9690b32](https://github.com/InsightSoftwareConsortium/ITK/commit/a9d9690b32)) +- Set Windows Python CI version to 3.8 ([f1978435f8](https://github.com/InsightSoftwareConsortium/ITK/commit/f1978435f8)) +- Build PNG arm sources for aarch64 CMAKE_SYSTEM_PROCESSOR ([27216ceb98](https://github.com/InsightSoftwareConsortium/ITK/commit/27216ceb98)) +- Constrain x86_64 optimization flags according to CMAKE_SYSTEM_PROCESSOR ([28d2b22ca7](https://github.com/InsightSoftwareConsortium/ITK/commit/28d2b22ca7)) +- Add lxmml for Windows Python CI build ([0fb00c7977](https://github.com/InsightSoftwareConsortium/ITK/commit/0fb00c7977)) +- Do not explicitly instantiate Array in itkArrayTest ([f5ce437b9d](https://github.com/InsightSoftwareConsortium/ITK/commit/f5ce437b9d)) +- Add tolerance for patch-based denoising tests on Apple M1 ([84b59dcee4](https://github.com/InsightSoftwareConsortium/ITK/commit/84b59dcee4)) + +#### Bug Fixes + +- Checkout full depths for clang-format-linter ([3f0d124b8f](https://github.com/InsightSoftwareConsortium/ITK/commit/3f0d124b8f)) +- Add __all__ to itk.support.init_helpers ([14992c6cd7](https://github.com/InsightSoftwareConsortium/ITK/commit/14992c6cd7)) +- Set ElementType for wrapping PyVectorContainer ([dcde43cb41](https://github.com/InsightSoftwareConsortium/ITK/commit/dcde43cb41)) + +#### Style Changes + +- Remove extra itk prefix from support Python modules ([4aba024e75](https://github.com/InsightSoftwareConsortium/ITK/commit/4aba024e75)) +- Use modern, Pythonic style in ImageRegistration3.py ([224043546e](https://github.com/InsightSoftwareConsortium/ITK/commit/224043546e)) +- black formatting on Python modules ([08eb3675b8](https://github.com/InsightSoftwareConsortium/ITK/commit/08eb3675b8)) + + +### Mihail Isakov (1): + +#### Platform Fixes + +- Forward CMAKE_APPLE_SILICON_PROCESSOR ([4fbacb9513](https://github.com/InsightSoftwareConsortium/ITK/commit/4fbacb9513)) + + +### Niels Dekker (27): + +#### Enhancements + +- Add explicit OptimizerParameters(inputData, dimension) constructor ([800e59e9ea](https://github.com/InsightSoftwareConsortium/ITK/commit/800e59e9ea)) +- Make itk ([59ebc33c6e](https://github.com/InsightSoftwareConsortium/ITK/commit/59ebc33c6e)) +- Add static member function, `itk ([f8ad6cfdee](https://github.com/InsightSoftwareConsortium/ITK/commit/f8ad6cfdee)) + +#### Platform Fixes + +- Add virtual destructor to TestClass in ExceptionObject unit test ([e2c62faf10](https://github.com/InsightSoftwareConsortium/ITK/commit/e2c62faf10)) +- Avoid "message" naming conflicts when calling an exception macro ([3d35e43c08](https://github.com/InsightSoftwareConsortium/ITK/commit/3d35e43c08)) +- Define ExceptionObject destructor out-of-line (doing Rule of Five) ([0fce3ff86b](https://github.com/InsightSoftwareConsortium/ITK/commit/0fce3ff86b)) +- Fix macOS clang warnings [-Wunused-variable] in test source files ([24744f9ef4](https://github.com/InsightSoftwareConsortium/ITK/commit/24744f9ef4)) +- Fix macOS clang warning [-Wunused-variable] in itkMINCImageIOTest ([b2c3042da9](https://github.com/InsightSoftwareConsortium/ITK/commit/b2c3042da9)) +- No longer test `is_trivially_copyable` in itkMatrixGTest on GCC 4 ([f24496d1b8](https://github.com/InsightSoftwareConsortium/ITK/commit/f24496d1b8)) +- Workaround Clang 3 error default initialization const MatrixGTest ([874f51dba7](https://github.com/InsightSoftwareConsortium/ITK/commit/874f51dba7)) + +#### Bug Fixes + +- Remove duplicate "itk ([df0a977dd4](https://github.com/InsightSoftwareConsortium/ITK/commit/df0a977dd4)) +- Remove duplicate "itk ([1bd35b3bd5](https://github.com/InsightSoftwareConsortium/ITK/commit/1bd35b3bd5)) + +#### Style Changes + +- Remove 6 no-op dynamic_casts (casting T* to T*) from Modules/Core ([5b3fc71e87](https://github.com/InsightSoftwareConsortium/ITK/commit/5b3fc71e87)) +- Avoid "no-op" dynamic_cast from inside LightObject ([64cafdf93d](https://github.com/InsightSoftwareConsortium/ITK/commit/64cafdf93d)) +- Remove 9 no-op dynamic_casts (casting T* to T*) ([5089a04475](https://github.com/InsightSoftwareConsortium/ITK/commit/5089a04475)) +- Remove unintended extra space from destructors and operators ([1e99f17cf3](https://github.com/InsightSoftwareConsortium/ITK/commit/1e99f17cf3)) +- ExceptionObject may assume that std ([bf82b3cfee](https://github.com/InsightSoftwareConsortium/ITK/commit/bf82b3cfee)) +- Follow Rule of Zero and use std ([f88fefff52](https://github.com/InsightSoftwareConsortium/ITK/commit/f88fefff52)) +- C++11 inheriting constructors from ExceptionObject for 4 classes ([e41b2ef921](https://github.com/InsightSoftwareConsortium/ITK/commit/e41b2ef921)) +- Remove destructors ExceptionObject derived classes (Rule of Zero) ([79cf5c07b2](https://github.com/InsightSoftwareConsortium/ITK/commit/79cf5c07b2)) +- Use equal_to on pixel containers DenseFiniteDifferenceImageFilter ([670863f3c8](https://github.com/InsightSoftwareConsortium/ITK/commit/670863f3c8)) +- Replace "itk ([2b34388159](https://github.com/InsightSoftwareConsortium/ITK/commit/2b34388159)) +- Inherit constructors (C++11) inside itkDeclareExceptionMacro ([301a0482ee](https://github.com/InsightSoftwareConsortium/ITK/commit/301a0482ee)) +- Remove ITK_MACROEND_NOOP_STATEMENT calls from exception macro's ([3f6c15eb53](https://github.com/InsightSoftwareConsortium/ITK/commit/3f6c15eb53)) +- Remove dynamic_casts PosteriorImage BayesianClassifierImageFilter ([faf3d3b223](https://github.com/InsightSoftwareConsortium/ITK/commit/faf3d3b223)) +- Remove `;` from itkExceptionMacro PatchBasedDenoisingImageFilter ([c9f07d9d73](https://github.com/InsightSoftwareConsortium/ITK/commit/c9f07d9d73)) +- Default ImageBase default-constructor, call Matrix ([254a9691ae](https://github.com/InsightSoftwareConsortium/ITK/commit/254a9691ae)) + + +### Samuel Gerber (2): + +#### Enhancements + +- Add option to access index in point set registration ([b6a142a5b3](https://github.com/InsightSoftwareConsortium/ITK/commit/b6a142a5b3)) + +#### Performance Improvements + +- Avoid Superfluous PointsLocator Updates ([79c3c960c5](https://github.com/InsightSoftwareConsortium/ITK/commit/79c3c960c5)) + + +### Sean McBride (6): + +#### Enhancements + +- changed CTEST_DROP_METHOD from http to https ([3cd8502cd9](https://github.com/InsightSoftwareConsortium/ITK/commit/3cd8502cd9)) +- fixed failing test with macOS Rosetta emulation by increasing buffer size ([bca298ab36](https://github.com/InsightSoftwareConsortium/ITK/commit/bca298ab36)) + +#### Platform Fixes + +- removed dead atomic operation checks ([a44407b73f](https://github.com/InsightSoftwareConsortium/ITK/commit/a44407b73f)) +- remove try-compile for SSE2 detection ([0402e50150](https://github.com/InsightSoftwareConsortium/ITK/commit/0402e50150)) +- cherrypick HDF5 commit that added C++11 override keywords ([dded4df49e](https://github.com/InsightSoftwareConsortium/ITK/commit/dded4df49e)) +- fix link error building Universal Binary on Intel Mac ([3fe5595ae6](https://github.com/InsightSoftwareConsortium/ITK/commit/3fe5595ae6)) + + +### Simon Rit (1): + +#### Platform Fixes + +- add FFTW library directory to FFT module ([c5f8949654](https://github.com/InsightSoftwareConsortium/ITK/commit/c5f8949654)) + + +### Tom Birdsong (3): + +#### Enhancements + +- Expose numpy / vector container interface ([cca42db412](https://github.com/InsightSoftwareConsortium/ITK/commit/cca42db412)) +- Type hints in functional interface ([208e1e59e0](https://github.com/InsightSoftwareConsortium/ITK/commit/208e1e59e0)) + +#### Bug Fixes + +- Wrap PyVectorContainer for all VectorContainer templates ([7216ed1ebd](https://github.com/InsightSoftwareConsortium/ITK/commit/7216ed1ebd)) + + +### VXL Maintainers (2): + +#### Miscellaneous Changes + +- 1044055af6 ([1044055af6](https://github.com/InsightSoftwareConsortium/ITK/commit/1044055af6)) +- 74eaa203d2 ([74eaa203d2](https://github.com/InsightSoftwareConsortium/ITK/commit/74eaa203d2)) + + + + +ITK Sphinx Examples Changes Since v5.2rc03 +--------------------------------------------- + +### Brian Helba (1): + +#### Enhancements + +- Use the upstream CMake ExternalData module, instead of a vendored local copy ([d1f7d985](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d1f7d985)) + + +### Dženan Zukić (1): + +#### Style Changes + +- Switch to the new code order ([5db4da31](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/5db4da31)) + + +### Lee Newberg (5): + +#### Documentation Updates + +- Indicate how to adjust resolution in ResampleAnImage ([896d48e2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/896d48e2)) +- Add details for running CreateNewExample.py ([532ca008](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/532ca008)) +- RescaleAnImage -> RescaleIntensity to clarify that it's not about size. ([a732d546](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/a732d546)) + +#### Platform Fixes + +- Include for some files ([87ab548a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/87ab548a)) + +#### Bug Fixes + +- Fix continuous integration failure of ResampleAnImage ([66b8d2f0](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/66b8d2f0)) + + +### Mathew Seng (7): + +#### Enhancements + +- Enable use of titlecase for header creation ([b33b3806](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b33b3806)) + +#### Documentation Updates + +- Rename folder directories ([3190a58e](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/3190a58e)) +- Allow consistent Documentation.rst headers ([65e5b8f9](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/65e5b8f9)) +- Put remaining example headers into proper format ([d2b99b30](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d2b99b30)) +- Enable LineSpatialObject doxygen references in Sphinx ([8dd5e762](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8dd5e762)) + +#### Bug Fixes + +- Submodules not ordered in alphabetical order ([c806da3e](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c806da3e)) +- Rename LineSpatialObject to CreateALineSpatialObject ([47e05d48](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/47e05d48)) + + +### Matt McCormick (44): + +#### Enhancements + +- Add .ipynb_checkpoints to .gitignore ([81a58211](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/81a58211)) +- Upgrade to ITK 5.2 RC 3 ([227eeff5](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/227eeff5)) +- Add clang-format pre-commit hook ([eb063108](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/eb063108)) +- Add black style pre-commit hook ([0175c886](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0175c886)) +- Bump Netlify GitHub Action to v1.1.13 ([0ee18172](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0ee18172)) +- Test Python in CI with the Superbuild ([57e24097](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/57e24097)) +- Add IsPixelInsideRegion Python example ([b9b630b2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b9b630b2)) +- Update ITK Required version to 5.2.0 ([f76453ee](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f76453ee)) +- Update ITK to v5.2.0 ([5377df13](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/5377df13)) +- Simplify ResampleAnImage output parameters ([e148246a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/e148246a)) + +#### Documentation Updates + +- Place Jupyter Notebook section before Code ([54f836da](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/54f836da)) +- Rename UpsampleOrDownsampleAScalarImage to ResampleAScalarImage ([86f62137](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/86f62137)) +- Add Python code for ResampleAScalarImage ([0a458df4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0a458df4)) +- Place resample examples next to each other in module index ([33cdf2c4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/33cdf2c4)) +- Simplify ResampleSegmentedImage, Python version ([d3ae2969](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d3ae2969)) +- Add pandoc, nbsphinx to the documentation deps ([63634901](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/63634901)) +- Rename build-test-superbuild to build-test-python ([d5505edb](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d5505edb)) +- Install titlecase package for CreateNewExample.py script ([7489cce3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/7489cce3)) +- Update example Download link instructions ([c17864d3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c17864d3)) +- Update build instructions for example .zip files ([249b93e9](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/249b93e9)) + +#### Platform Fixes + +- Bump ITK version to 2021-03-14 master ([74142c32](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/74142c32)) +- Make the Sphinx linkcheck optional ([7eae01a1](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/7eae01a1)) + +#### Bug Fixes + +- Remove Compatibility/Deprecated group ([b0777843](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b0777843)) +- Enable production-deploy on Netlify GitHub Action ([8bcc38b8](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8bcc38b8)) +- Do not use shallow checkout for linting ([43a59ba7](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/43a59ba7)) +- Use super-linter GitHub Action for black linting ([2be5415c](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2be5415c)) +- Remove unnecessary matrix options for notebook testing ([017d6fd3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/017d6fd3)) +- Add nbsphinx to the superbuild Python packages ([71aecd82](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/71aecd82)) +- Require itk>=5.2.0.post2 for notebook tests ([97c6e553](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/97c6e553)) +- Tarball html output path when not built as a remote module ([f76dc431](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f76dc431)) +- Fix download links ([635cbc75](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/635cbc75)) +- Add ipython to Python environment for documentation build ([f6cbeb76](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f6cbeb76)) +- Correct MutualInformationAffine output ([f5e029f2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f5e029f2)) +- Transform SVG files in Sphinx ([0e0de5fb](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0e0de5fb)) +- Fix epub output path link in documentation ([0ca83aa3](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0ca83aa3)) + +#### Style Changes + +- Pythonic style for ResampleAVectorImage ([4cdd7029](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4cdd7029)) +- Use itk ([fc822448](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/fc822448)) +- Use Pythonic interface for ResampleAnImage ([473070bf](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/473070bf)) +- Run black on all Python examples ([05bd86a4](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/05bd86a4)) +- Add black, flake8 GitHub Action linters ([6dd94077](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/6dd94077)) +- Disable JSCPD check ([dbda6ab0](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/dbda6ab0)) +- Explicitly enable black linting for super-linter ([4fdae985](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4fdae985)) +- Rename ITKExamples to ITKSphinxExamples ([b0d53207](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/b0d53207)) +- Only output downloadable .zip archives for examples ([567b01c6](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/567b01c6)) + + +### Melvin Robinson (3): + +#### Documentation Updates + +- Update documentation output to match Code.cxx output ([0e2eca92](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0e2eca92)) + +#### Miscellaneous Changes + +- 8176dc90 ([8176dc90](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/8176dc90)) +- d695005d ([d695005d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d695005d)) + + +### Pablo Hernandez-Cerdan (2): + +#### Enhancements + +- Use itk.image_to_vtk_image ([49750fad](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/49750fad)) + +#### Platform Fixes + +- Remove "vtk" prefix from VTK COMPONENTS ([9c045a18](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/9c045a18)) + + +### Stephen Aylward (5): + +#### Platform Fixes + +- Bump min required version for CMake to > 2.8 to avoid warning ([f75e9c87](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f75e9c87)) + +#### Bug Fixes + +- CreateTarball assumes /src/ is unique in path ([37da5d6c](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/37da5d6c)) + +#### Style Changes + +- Reformatting CreateTarball.py to match lint ([e706163a](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/e706163a)) +- Additional lint changes to CreateTarball.py ([d19ecc34](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d19ecc34)) + +#### Miscellaneous Changes + +- Fix remaining lint issues ([94d58947](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/94d58947)) + + +### Tom Birdsong (4): + +#### Enhancements + +- Build notebook docs with nbsphinx ([c5eae3cc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c5eae3cc)) +- Add ComputeMeanSquareBetweenTwoImages Python example ([d7928a96](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d7928a96)) + +#### Bug Fixes + +- Move build-test-cxx CI source tree to path with shorter name ([2f3b1dfc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2f3b1dfc)) +- Use GZip for Doxygen XML archive ([2d30a5bc](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/2d30a5bc)) + + +### suryanshsangwan (1): + +#### Miscellaneous Changes + +- ea1de658 ([ea1de658](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/ea1de658)) + + + + +ITK Software Guide Changes Since v5.2rc03 +--------------------------------------------- + +### Matt McCormick (4): + +#### Enhancements + +- Bump ITK version to 5.2rc03 ([3fda610](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/3fda610)) +- Update ITK to v5.2.0 ([d5dab33](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/d5dab33)) + +#### Documentation Updates + +- Update for ITKExamples -> ITKSphinxExamples renaming ([c4846a2](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/c4846a2)) + +#### Bug Fixes + +- Work around CI environmental variable setting ([944a3e2](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/944a3e2)) + + + + +Remote Module Changes Since v5.2rc03 +--------------------------------------------- + +## AnisotropicDiffusionLBR: +### Mathew Seng (1): + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([3df1fde](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/3df1fde)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([cc6c28c](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/cc6c28c)) + +#### Platform Fixes + +- Constrain wrapping to 2D, 3D images ([4cec024](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/4cec024)) + +#### Bug Fixes + +- Incorporate ITKModuleTemplate CI configuration updates ([1720bae](https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR/commit/1720bae)) + + + +## BSplineGradient: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI to ITK 5.2 RC 3 ([76996c4](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/76996c4)) + + + +## HigherOrderAccurateGradient: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI to ITK 5.2 RC 3 ([59fa983](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/59fa983)) + + + +## IOFDF: +### Matt McCormick (2): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([f79f207](https://github.com/InsightSoftwareConsortium/ITKIOFDF/commit/f79f207)) + +#### Documentation Updates + +- Add PyPI, License badges ([587a000](https://github.com/InsightSoftwareConsortium/ITKIOFDF/commit/587a000)) + + + +## IOScanco: +### Dženan Zukić (6): + +#### Enhancements + +- enable writing ISQ files ([08e269a](https://github.com/KitwareMedical/ITKIOScanco/commit/08e269a)) +- avoid possible buffer overflows on string ivar setters ([0f60565](https://github.com/KitwareMedical/ITKIOScanco/commit/0f60565)) +- Initializing MuWater constant to the usual value ([50aafe1](https://github.com/KitwareMedical/ITKIOScanco/commit/50aafe1)) +- update CI to 5.2RC3+ ([823fb92](https://github.com/KitwareMedical/ITKIOScanco/commit/823fb92)) + +#### Performance Improvements + +- do not re-scale the data if there is no need for it ([b4392f4](https://github.com/KitwareMedical/ITKIOScanco/commit/b4392f4)) + +#### Bug Fixes + +- do not crash in CanReadFile if the path does not exist ([7569472](https://github.com/KitwareMedical/ITKIOScanco/commit/7569472)) + + +### Matt McCormick (3): + +#### Enhancements + +- Populate the Image MetaDataDictionary when reading ([4e887b2](https://github.com/KitwareMedical/ITKIOScanco/commit/4e887b2)) +- Update build for ITK 5.2 RC 3 ([4dd399f](https://github.com/KitwareMedical/ITKIOScanco/commit/4dd399f)) +- Populate the Image MetaDataDictionary when reading ([f44399d](https://github.com/KitwareMedical/ITKIOScanco/commit/f44399d)) + + +### Michael Kuczynski (3): + +#### Enhancements + +- Add Tests for AIM Reading ([05a019d](https://github.com/KitwareMedical/ITKIOScanco/commit/05a019d)) + +#### Bug Fixes + +- Updated Baseline AIM Image to Pass Tests ([8b0ab02](https://github.com/KitwareMedical/ITKIOScanco/commit/8b0ab02)) + +#### Style Changes + +- Update Output File Names in Tests ([530cc34](https://github.com/KitwareMedical/ITKIOScanco/commit/530cc34)) + + + +## MinimalPathExtraction: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK v5.2rc03+ ([537b34a](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/537b34a)) + + + +## Montage: +### Dženan Zukić (10): + +#### Enhancements + +- update CI to 5.2RC3+ ([2869345](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/2869345)) +- add getters and setters to Tile and TileConfiguration for Python access ([325add3](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/325add3)) +- avoid deadlock when invoked via Python ([62d6492](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/62d6492)) +- support RGB and RGBA pixel types for TileMergeImageFilter ([7f565de](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/7f565de)) +- adding a Python example ([ebe2dc3](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/ebe2dc3)) +- review suggestions ([fc0a8d6](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/fc0a8d6)) + +#### Documentation Updates + +- Fix a broken article link ([65dbdc8](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/65dbdc8)) + +#### Bug Fixes + +- Do not use shallow checkout for linting ([458424d](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/458424d)) + +#### Style Changes + +- minor corrections ([29707c0](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/29707c0)) +- allow wider range of types for instantiating merge filter ([cb86803](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/cb86803)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update builds for ITK 5.2 RC 3 ([4b6aa42](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/4b6aa42)) + +#### Documentation Updates + +- Add article citation ([86fa4e0](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/86fa4e0)) +- Improve authors for Zukić, Dž. ([b66bb4f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/b66bb4f)) + + + +## MorphologicalContourInterpolation: +### Adrien Boucaud (2): + +#### Enhancements + +-  Add a flag to enable/disable extrapolation ([ca5f688](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/ca5f688)) +-  Update CI for ITK 5.2rc03 ([87deba0](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/87deba0)) + + +### Dženan Zukić (2): + +#### Enhancements + +- adding a Python example with a simple test with an input image ([2f90b24](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/2f90b24)) +- build examples as part of CI testing ([539da4f](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/539da4f)) + + + +## RLEImage: +### Matt McCormick (1): + +#### Enhancements + +- Update Python package version requirement to 5.2rc1 ([3ac76da](https://github.com/KitwareMedical/ITKRLEImage/commit/3ac76da)) + + + +## RTK: +### Lucas Gandel (1): + +#### Platform Fixes + +- Add missing iostream include for CUDA classes ([3dba9889](https://github.com/SimonRit/RTK/commit/3dba9889)) + + +### Simon Rit (6): + +#### Enhancements + +- upgrade CI for python packages to 5.2rc02 ([3a00f178](https://github.com/SimonRit/RTK/commit/3a00f178)) +- wrap RegularizedConjugateGradientConeBeamReconstructionFilter ([4f3b7506](https://github.com/SimonRit/RTK/commit/4f3b7506)) +- upgrade CI for python packages to 5.2rc03 ([6da67e06](https://github.com/SimonRit/RTK/commit/6da67e06)) + +#### Documentation Updates + +- fix broken links to Siggraph pages ([70cd3b37](https://github.com/SimonRit/RTK/commit/70cd3b37)) + +#### Bug Fixes + +- missing initialization of SART division threshold ([dd7a5fe9](https://github.com/SimonRit/RTK/commit/dd7a5fe9)) + +#### Style Changes + +- rename guards for Cuda includes following ITK's style ([dd660a00](https://github.com/SimonRit/RTK/commit/dd660a00)) + + + +## SplitComponents: +### Matt McCormick (3): + +#### Enhancements + +- Bump CI for ITK 5.2 RC 3 ([5c70947](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/5c70947)) + +#### Documentation Updates + +- Remove Azure Pipelines badge ([72594b2](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/72594b2)) + +#### Platform Fixes + +- Update ITK version to 2021-03-14 master for Windows CI builds ([fc7de89](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/fc7de89)) + + + +## Strain: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK 5.2 RC 3 ([9af85d8](https://github.com/KitwareMedical/ITKStrain/commit/9af85d8)) + + + +## Thickness3D: +### Mathew Seng (1): + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([82bb742](https://github.com/InsightSoftwareConsortium/ITKThickness3D/commit/82bb742)) + + +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK v5.2rc02 ([2150b11](https://github.com/InsightSoftwareConsortium/ITKThickness3D/commit/2150b11)) + + + +## TotalVariation: +### Matt McCormick (2): + +#### Enhancements + +- Update CI for ITK 5.2 RC 2 ([147c4cb](https://github.com/InsightSoftwareConsortium/ITKTotalVariation/commit/147c4cb)) + +#### Documentation Updates + +- Update setup.py download_url ([b3564d7](https://github.com/InsightSoftwareConsortium/ITKTotalVariation/commit/b3564d7)) + + + +## TubeTK: +### Mathew Seng (6): + +#### Enhancements + +- Cannot have both a modifiable and constant object macro ([b3b717c3](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/b3b717c3)) + +#### Platform Fixes + +- Update GitHub Actions from ITKModuleTemplate ([79485ec1](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/79485ec1)) + +#### Bug Fixes + +- Remove old CI configurations ([d0769c36](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/d0769c36)) + +#### Style Changes + +- Update itkGetObjectMacro macros ([b8e642e9](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/b8e642e9)) +- Rename ITK_DISALLOW_COPY_AND_ASSIGN to ITK_DISALLOW_COPY_AND_MOVE Fixes changes made in #2053. ITK_DISALLOW_COPY_AND_ASSIGN will be used if ITK_FUTURE_LEGACY_REMOVE=OFF. ([918d7b01](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/918d7b01)) +- Place ';' at the end of each macro ([7bb42067](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/7bb42067)) + + +### Matt McCormick (3): + +#### Enhancements + +- Update CI configuration for ITK 5.2 RC 3 ([40bbcfb1](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/40bbcfb1)) + +#### Documentation Updates + +- Fix CI status badge ([e4cb53d0](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/e4cb53d0)) + +#### Platform Fixes + +- Add cmake_minimum_required to top level CMakeLists.txt ([05b347c4](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/05b347c4)) + + +### Stephen Aylward (3): + +#### Enhancements + +- Combine jupyter notebooks into single .py file for CTP-Head ([53a34786](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/53a34786)) +- Remove cmake_minimum_requirements since ITK defines them. ([4024de62](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/4024de62)) + +#### Bug Fixes + +- Eliminate chance of divide by zero in itktubeBlurImageFunction ([7d90c1f3](https://github.com/InsightSoftwareConsortium/ITKTubeTK/commit/7d90c1f3)) + + + +## Ultrasound: +### Matt McCormick (3): + +#### Enhancements + +- Update Notebook to Python 3 ([61bec2c](https://github.com/KitwareMedical/ITKUltrasound/commit/61bec2c)) +- Add notebook CI testing ([cae3e45](https://github.com/KitwareMedical/ITKUltrasound/commit/cae3e45)) + +#### Style Changes + +- Move notebooks into examples/ directory directly ([d8ebede](https://github.com/KitwareMedical/ITKUltrasound/commit/d8ebede)) + + + + diff --git a/Documentation/Releases/5.3.md b/Documentation/docs/releases/5.3.md similarity index 100% rename from Documentation/Releases/5.3.md rename to Documentation/docs/releases/5.3.md diff --git a/Documentation/Releases/5.3rc01.md b/Documentation/docs/releases/5.3rc01.md similarity index 100% rename from Documentation/Releases/5.3rc01.md rename to Documentation/docs/releases/5.3rc01.md diff --git a/Documentation/Releases/5.3rc02.md b/Documentation/docs/releases/5.3rc02.md similarity index 100% rename from Documentation/Releases/5.3rc02.md rename to Documentation/docs/releases/5.3rc02.md diff --git a/Documentation/Releases/5.3rc03.md b/Documentation/docs/releases/5.3rc03.md similarity index 100% rename from Documentation/Releases/5.3rc03.md rename to Documentation/docs/releases/5.3rc03.md diff --git a/Documentation/Releases/5.3rc04.md b/Documentation/docs/releases/5.3rc04.md similarity index 99% rename from Documentation/Releases/5.3rc04.md rename to Documentation/docs/releases/5.3rc04.md index 6aac1580eb5a..7af7c4db06ef 100644 --- a/Documentation/Releases/5.3rc04.md +++ b/Documentation/docs/releases/5.3rc04.md @@ -1,3 +1,5 @@ +# ITK 5.3 Release Candidate 4: Distributed Computing + We are happy to announce the [Insight Toolkit (ITK)](https://itk.org) 5.3 Release Candidate 4 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration. ITK 5.3 is a feature release that accelerates performance, provides new segmentation and shape analysis algorithms, improves documentation, adds distributed computing support, among many more improvements. For more information about performance improvements, see [the 5.3 RC 1 Release Notes](https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.3rc01). For more information about new segmentation and shape analysis algorithms, see [the 5.3 RC 2 Release Notes](https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.3rc02). For more information about documentation improvements, see [the 5.3 RC 3 Release Notes](https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.3rc03). diff --git a/Documentation/docs/releases/5.4rc01.md b/Documentation/docs/releases/5.4rc01.md new file mode 100644 index 000000000000..30ea4eed3725 --- /dev/null +++ b/Documentation/docs/releases/5.4rc01.md @@ -0,0 +1,1873 @@ +# ITK 5.4 Release Candidate 1 + +We are happy to announce the [Insight Toolkit (ITK)](https://itk.org) 5.4 Release Candidate 1 is available for testing! :tada: ITK is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration. + +:flashlight: Highlights +------------------------- + +ITK 5.4 is a feature release that continues our modern C++ evolution by requiring C\+\+17. The toolkit progresses in performance with a simple and elegant style and syntax. Through hundreds of changes in this release, we advance in readability and maintainability for the library and client code, often facilitated by improvements in the C++ standards. + +Community contributions through Remote extension Modules are a valuable source of innovation in ITK, and updates to 30 modules in this release are no exception. A few examples of the Remote Modules updated include: *BoneMorphometry, Cleaver, GenericLabelInterpolator, IOScanco, LabelErodeDilate, MinimalPathExtraction, Montage, MorphologicalContourInterpolation, ParabolicMorphology, RANSAC, ReconstructionToolkit (RTK), TextureFeatures, TubeTK, Ultrasound, VkFFTBackend,* and *WebAssemblyInterface*. New modules can quickly be created with [a cookiecutter](https://github.com/InsightSoftwareConsortium/ITKModuleTemplate) and cross-platform testing for high quality development and Python package generation is supported by a [reusable GitHub Action](https://github.com/InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction). For more information, see Chapter 9 of the [ITK Software Guide](https://itk.org/ItkSoftwareGuide.pdf). + +![image](https://github.com/InsightSoftwareConsortium/ITK/assets/25432/5c603076-1ab0-41e2-aedf-a2b29522d7d2) + +*Highlights from the [ITKElastix Remote Module](https://github.com/InsightSoftwareConsortium/ITKElastix) presentation at SciPy 2023, the Annual Scientific Computing with Python Conference. Konstantinos Ntatsis, Niels Dekker, Viktor van der Valk, Tom Birdsong, Dženan Zukić, Stefan Klein, Marius Staring, & Matthew McCormick. (2023). itk-elastix: Medical image registration in Python [SciPy 2023 Poster]. Zenodo. [https://doi.org/10.5281/zenodo.8136801](https://doi.org/10.5281/zenodo.8136801).* + +💾 Download +------------- + +**Python Packages** + +Install [ITK Python packages](https://itkpythonpackage.readthedocs.io/en/latest/Quick_start_guide.html) with: + +```sh +pip install --upgrade --pre itk +``` + +**Guide and Textbook** + +- [InsightSoftwareGuide-Book1-5.4rc01.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightSoftwareGuide-Book1-5.4rc01.pdf) +- [InsightSoftwareGuide-Book2-5.4rc01.pdf](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightSoftwareGuide-Book2-5.4rc01.pdf) + +**Library Sources** + +- [InsightToolkit-5.4rc01.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightToolkit-5.4rc01.tar.gz) +- [InsightToolkit-5.4rc01.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightToolkit-5.4rc01.zip) + +**Testing Data** + +Unpack optional testing data in the same directory where the Library Source is unpacked. + +- [InsightData-5.4rc01.tar.gz](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightData-5.4rc01.tar.gz) +- [InsightData-5.4rc01.zip](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/InsightData-5.4rc01.zip) + +**Checksums** + +- [MD5SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/MD5SUMS) +- [SHA512SUMS](https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.4rc01/SHA512SUMS) + + +✨ Features +------------ + +### Python + +- `itk.imread` supports a `series_uid` kwarg for DICOM series selection +- TBB version updated to latest stable version, disabled on Intel macOS +- Python binaries for 3.7-3.11 across platforms +- This will be the last release with Python 3.7 suppport +- Remote module GitHub action updated, Python 3.7 is not supported in Remote module builds +- Updated to the latest version of scikit-build + +### C++ + +- C++17 is now required +- Many style improvements for modern C++ +- GCC 13 support +- Name mangling prefix for third party libraries is configurable +- Many improvements to code coverage +- Improved SSE2 detection +- Enhanced NRRD and Nifti metadata support + +### Documentation + +- Doxygen formatting cleanup +- Doxygen spelling fixes +- Doxygen Insight Journal links are consistent +- Software Guide updated for style modernization + +### Remote module updates + +Updated modules: +- [BSplineGradient](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient.git) +- [BoneMorphometry](https://github.com/InsightSoftwareConsortium/ITKBoneMorphometry.git) +- [Cleaver](https://github.com/SCIInstitute/ITKCleaver.git) +- [Cuberille](https://github.com/InsightSoftwareConsortium/ITKCuberille.git), +- [CudaCommon](https://github.com/RTKConsortium/ITKCudaCommon.git) +- [FPFH](https://github.com/InsightSoftwareConsortium/ITKFPFH.git) +- [GenericLabelInterpolator](https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git) +- [HASI](https://github.com/KitwareMedical/HASI.git) +- [HigherOrderAccurateGradient](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient.git) +- [IOMeshSTL](https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL.git) +- [IOMeshSWC](https://github.com/InsightSoftwareConsortium/ITKIOMeshSWC.git) +- [IOScanco](https://github.com/KitwareMedical/ITKIOScanco.git) +- [LabelErodeDilate](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate.git) +- [MeshToPolyData](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData.git) +- [MinimalPathExtraction](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction.git) +- [Montage](https://github.com/InsightSoftwareConsortium/ITKMontage.git) +- [MorphologicalContourInterpolation](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation.git) +- [ParabolicMorphology](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology.git) +- [RANSAC](https://github.com/InsightSoftwareConsortium/ITKRANSAC.git) +- [RLEImage](https://github.com/KitwareMedical/ITKRLEImage.git) +- [RTK](https://github.com/RTKConsortium/RTK.git) +- [Shape](https://github.com/SlicerSALT/ITKShape.git) +- [SimpleITKFilters](https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters.git) +- [SplitComponents](https://github.com/InsightSoftwareConsortium/ITKSplitComponents.git) +- [Strain](https://github.com/KitwareMedical/ITKStrain.git) +- [TextureFeatures](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures.git) +- [Thickness3D](https://github.com/InsightSoftwareConsortium/ITKThickness3D.git) +- [TubeTK](https://github.com/InsightSoftwareConsortium/ITKTubeTK.git) +- [Ultrasound](https://github.com/KitwareMedical/ITKUltrasound.git) +- [VkFFTBackend](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend.git) +- [WebAssemblyInterface](https://github.com/InsightSoftwareConsortium/itk-wasm.git) + + +### Third party library updates + +- eigen +- gdcm +- googletest +- kwsys +- nifti +- vxl +- zlib-ng + + +🙏 Congratulations +------------------------ + +Congratulations and **thank you** to everyone who contributed to this release. + +Of the *42 authors* who contributed since v5.3.0, we would like to specially recognize the new contributors: + +*huangjxbq, Sankhesh Jhaveri, adrinkwater, FabioLolix, Vaibhaw, Ningfei Li, Max Aehle, Noah Egnatis, Federico Zivolo, Patrick Linnane, LAURENDEAU Matthieu, Shreeraj Jadhav, Shengpeng YU, Fernando Bordignon, and Andras Lasso.* + +🗣️ What's Next +--------------- + +Our next release candidate will include improvements based on experiences with 5.4 RC 1. Please try out the current release candidate, and discuss your experiences at [discourse.itk.org](https://discourse.itk.org). Contribute with pull requests, code reviews, and issue discussions in our [GitHub Organization](https://github.com/InsightSoftwareConsortium). + +**Enjoy ITK!** + +ITK Changes Since v5.3.0 +--------------------------------------------- + +### Andras Lasso (1): + +#### Bug Fixes + +- Fix read/write of displacement field in NIFTI file format ([d007ee8e78](https://github.com/InsightSoftwareConsortium/ITK/commit/d007ee8e78)) + + +### Bradley Lowekamp (20): + +#### Enhancements + +- Add VectorImage support to MaskNegateImageFilter ([e3a1a598c8](https://github.com/InsightSoftwareConsortium/ITK/commit/e3a1a598c8)) +- Set ITK_TEST_OUTPUT_DIR with module path ([7d50786353](https://github.com/InsightSoftwareConsortium/ITK/commit/7d50786353)) +- Use generator/lambda ITK filter for pixel computation ([0624dad082](https://github.com/InsightSoftwareConsortium/ITK/commit/0624dad082)) +- Restore integer support for laplacian sharpening ([6a5060be54](https://github.com/InsightSoftwareConsortium/ITK/commit/6a5060be54)) + +#### Platform Fixes + +- Supress warning in MSVC for non-float complex ([3a9c76273e](https://github.com/InsightSoftwareConsortium/ITK/commit/3a9c76273e)) +- fix linkage for MINCTransformIO ([97f003cb91](https://github.com/InsightSoftwareConsortium/ITK/commit/97f003cb91)) +- Supress warning in MSVC for non-float complex ([a7a3e5dfe0](https://github.com/InsightSoftwareConsortium/ITK/commit/a7a3e5dfe0)) +- Address HasNumericTraits failure for Vector pixel type. ([c9fc138886](https://github.com/InsightSoftwareConsortium/ITK/commit/c9fc138886)) +- address missing enum error ([dbc9c9112f](https://github.com/InsightSoftwareConsortium/ITK/commit/dbc9c9112f)) +- QualifiedIterator follow rule of zero ([df6aa66e40](https://github.com/InsightSoftwareConsortium/ITK/commit/df6aa66e40)) + +#### Bug Fixes + +- Set GTest discovery timeout to 120 ([050bab52f2](https://github.com/InsightSoftwareConsortium/ITK/commit/050bab52f2)) +- Restore setting TargetPoints after ReachMode ([bb0f6e84fe](https://github.com/InsightSoftwareConsortium/ITK/commit/bb0f6e84fe)) +- Remove dead code in MRC Header ([d96191b40e](https://github.com/InsightSoftwareConsortium/ITK/commit/d96191b40e)) +- Fix MRC zero spacing for tilt series ([c380670dd1](https://github.com/InsightSoftwareConsortium/ITK/commit/c380670dd1)) +- MRC write full machine stamp ([cac4e26b69](https://github.com/InsightSoftwareConsortium/ITK/commit/cac4e26b69)) +- Remove dead code in MRC Header ([3b643f53f9](https://github.com/InsightSoftwareConsortium/ITK/commit/3b643f53f9)) +- Fix MRC zero spacing for tilt series ([e7ffba648f](https://github.com/InsightSoftwareConsortium/ITK/commit/e7ffba648f)) +- MRC write full machine stamp ([8ca5d1f676](https://github.com/InsightSoftwareConsortium/ITK/commit/8ca5d1f676)) +- Add missing string value for NoTargets enum ([ac32a50e6e](https://github.com/InsightSoftwareConsortium/ITK/commit/ac32a50e6e)) + +#### Style Changes + +- Use inline initializers for MaskImageFilter ([c0374a334c](https://github.com/InsightSoftwareConsortium/ITK/commit/c0374a334c)) + + +### Darren Thompson (2): + +#### Platform Fixes + +- Reworked ITKFFT_SRCS for FFTW and cuFFTW use ([5703c74375](https://github.com/InsightSoftwareConsortium/ITK/commit/5703c74375)) + +#### Bug Fixes + +- itkFFTWFFTImageFilterInitFactory.cxx is required for ITK_USE_CUFFTW ([5b9861d743](https://github.com/InsightSoftwareConsortium/ITK/commit/5b9861d743)) + + +### Dave Chen (10): + +#### Documentation Updates + +- fixed spelling errors in Modules/IO subdir ([64f2428bd0](https://github.com/InsightSoftwareConsortium/ITK/commit/64f2428bd0)) +- Fixed spelling bugs in Modules/Filtering headers ([2513f8f62e](https://github.com/InsightSoftwareConsortium/ITK/commit/2513f8f62e)) +- Spell checking Registration headers ([b44e0b13f8](https://github.com/InsightSoftwareConsortium/ITK/commit/b44e0b13f8)) +- Spell checking Modules/Segmentation ([9cf6ee9081](https://github.com/InsightSoftwareConsortium/ITK/commit/9cf6ee9081)) +- spell checking Modules/Numerics ([f51ac27b98](https://github.com/InsightSoftwareConsortium/ITK/commit/f51ac27b98)) +- Spellcheck Filtering HXX and Video headers ([ed7ad92dd6](https://github.com/InsightSoftwareConsortium/ITK/commit/ed7ad92dd6)) +- Spell check remaining headers ([61b0a16d22](https://github.com/InsightSoftwareConsortium/ITK/commit/61b0a16d22)) +- spell out OOP ([379eb109e9](https://github.com/InsightSoftwareConsortium/ITK/commit/379eb109e9)) +- Spell check the code in Examples ([e6b03bbd4b](https://github.com/InsightSoftwareConsortium/ITK/commit/e6b03bbd4b)) + +#### Style Changes + +- Fixed spelling errors in Modules/Core headers ([2ec7cd1cf7](https://github.com/InsightSoftwareConsortium/ITK/commit/2ec7cd1cf7)) + + +### Dženan Zukić (24): + +#### Enhancements + +- Disable itkNiftiLargeImageRegionReadTest on 32-bit architectures ([f77c8dbd0a](https://github.com/InsightSoftwareConsortium/ITK/commit/f77c8dbd0a)) +- Improve itk.imread error message when the input file doesn't exist ([3c802f650d](https://github.com/InsightSoftwareConsortium/ITK/commit/3c802f650d)) +- Use latest stable GTest v1.13.0 ([56875007ab](https://github.com/InsightSoftwareConsortium/ITK/commit/56875007ab)) +- Add ITK_NODISCARD(message) macro to Image "Transform" members ([bc75d43a41](https://github.com/InsightSoftwareConsortium/ITK/commit/bc75d43a41)) +- Update remote modules using the script ([455b06be6c](https://github.com/InsightSoftwareConsortium/ITK/commit/455b06be6c)) +- Update remote modules using the script ([a0c67bb21e](https://github.com/InsightSoftwareConsortium/ITK/commit/a0c67bb21e)) +- Drop support for MSVC toolset v141 aka Visual Studio 2017 ([140f3c249f](https://github.com/InsightSoftwareConsortium/ITK/commit/140f3c249f)) +- Update ContinuousIntegration Batch test to use VS2022 ([92c17bc4da](https://github.com/InsightSoftwareConsortium/ITK/commit/92c17bc4da)) +- Exclude Utilities/ITKv5Preparation/* from triggering CI builds ([f5cfdd4018](https://github.com/InsightSoftwareConsortium/ITK/commit/f5cfdd4018)) +- Update remote modules using the script ([56c7434002](https://github.com/InsightSoftwareConsortium/ITK/commit/56c7434002)) + +#### Documentation Updates + +- Add a reminder to update API docs link to older version ([da36517a51](https://github.com/InsightSoftwareConsortium/ITK/commit/da36517a51)) + +#### Platform Fixes + +- Use proper floating point-pixel type in Frequency FFT Layout Test ([9a7846e6a1](https://github.com/InsightSoftwareConsortium/ITK/commit/9a7846e6a1)) +- Fix new warning STL4037 raised by VS2022 ([37e4c71805](https://github.com/InsightSoftwareConsortium/ITK/commit/37e4c71805)) +- Use proper floating point-pixel type in Frequency FFT Layout Test ([19e02a4e9d](https://github.com/InsightSoftwareConsortium/ITK/commit/19e02a4e9d)) +- Fix new warning STL4037 raised by VS2022 ([0892cd1e3f](https://github.com/InsightSoftwareConsortium/ITK/commit/0892cd1e3f)) +- Fix deprecation warning for PyEval_CallObject ([138f9d9e8d](https://github.com/InsightSoftwareConsortium/ITK/commit/138f9d9e8d)) +- Fix boolean member print statement in `itk::GPUDataManager` ([9b55bcec62](https://github.com/InsightSoftwareConsortium/ITK/commit/9b55bcec62)) +- Add Superclass alias to GPUGradientAnisotropicDiffusionImageFilter ([296db6ac2b](https://github.com/InsightSoftwareConsortium/ITK/commit/296db6ac2b)) +- Update maintenance script to compile with C++17 ([04ef14a37a](https://github.com/InsightSoftwareConsortium/ITK/commit/04ef14a37a)) + +#### Bug Fixes + +- Fix a crash in itkDirectoryTest caused by updating to newest KWSys ([b92705851b](https://github.com/InsightSoftwareConsortium/ITK/commit/b92705851b)) + +#### Style Changes + +- Convert a tab indent into spaces in BuildHeaderTest.py ([0ca7901450](https://github.com/InsightSoftwareConsortium/ITK/commit/0ca7901450)) +- Change some declarations to use trailing return type ([b37ac53206](https://github.com/InsightSoftwareConsortium/ITK/commit/b37ac53206)) +- Use trailing return type instead of typename + dependent type ([5f83fb2537](https://github.com/InsightSoftwareConsortium/ITK/commit/5f83fb2537)) +- Use trailing return type for declarations containing "inline" ([f048a5b8a9](https://github.com/InsightSoftwareConsortium/ITK/commit/f048a5b8a9)) + + +### FabioLolix (1): + +#### Platform Fixes + +- add missing header with GCC 13.1.1 ([d3b5e8baa6](https://github.com/InsightSoftwareConsortium/ITK/commit/d3b5e8baa6)) + + +### Fernando Bordignon (1): + +#### Platform Fixes + +- Mangle HDF5 symbols: H5_debug_t, H5E_t and H5I_type_info_t ([17b0fded41](https://github.com/InsightSoftwareConsortium/ITK/commit/17b0fded41)) + + +### GDCM Upstream (2): + +#### Miscellaneous Changes + +- GDCM 2023-05-05 (401a81d7) ([8713d6f217](https://github.com/InsightSoftwareConsortium/ITK/commit/8713d6f217)) +- GDCM 2023-06-02 (2ea6fd87) ([6f3a0a8855](https://github.com/InsightSoftwareConsortium/ITK/commit/6f3a0a8855)) + + +### GoogleTest Upstream (1): + +#### Miscellaneous Changes + +- GoogleTest 2023-01-17 (b796f7d4) ([1a5c2de017](https://github.com/InsightSoftwareConsortium/ITK/commit/1a5c2de017)) + + +### Hans J. Johnson (17): + +#### Enhancements + +- Need large source for lbfg*.c files ([a5d61cb4d0](https://github.com/InsightSoftwareConsortium/ITK/commit/a5d61cb4d0)) +- Add more specific diagnostics for lbfgs stopping ([0de99b2d48](https://github.com/InsightSoftwareConsortium/ITK/commit/0de99b2d48)) +- Enforce computational requirements for SobelOperator ([03c8176dca](https://github.com/InsightSoftwareConsortium/ITK/commit/03c8176dca)) + +#### Performance Improvements + +- Should not check bounds by default with vnl ([67a791262f](https://github.com/InsightSoftwareConsortium/ITK/commit/67a791262f)) + +#### Platform Fixes + +- Threads package is required by TBB ([5d1aa4aced](https://github.com/InsightSoftwareConsortium/ITK/commit/5d1aa4aced)) +- Manually merged formatting changes for jpeg9f ([b37e416490](https://github.com/InsightSoftwareConsortium/ITK/commit/b37e416490)) +- Updated to jpeg9f to address ubsan failures ([e80db20c05](https://github.com/InsightSoftwareConsortium/ITK/commit/e80db20c05)) +- Manual review of itkjpeg and jpeg-8b differences ([cd6d907d5c](https://github.com/InsightSoftwareConsortium/ITK/commit/cd6d907d5c)) +- Suppress ubsan in H5detect.c code ([bdc523419f](https://github.com/InsightSoftwareConsortium/ITK/commit/bdc523419f)) +- Remove unused variables ([cd97879e6b](https://github.com/InsightSoftwareConsortium/ITK/commit/cd97879e6b)) +- Remove clang unsupported compiler flag from default ([4fc92814dc](https://github.com/InsightSoftwareConsortium/ITK/commit/4fc92814dc)) + +#### Bug Fixes + +- Testing of sobel operators was being done with unsigned data values ([a8eed95093](https://github.com/InsightSoftwareConsortium/ITK/commit/a8eed95093)) +- Casting negative numbers to unsigned char error ([1d6b3e92bc](https://github.com/InsightSoftwareConsortium/ITK/commit/1d6b3e92bc)) +- implicit conversion undefined behavior ([264114331f](https://github.com/InsightSoftwareConsortium/ITK/commit/264114331f)) + +#### Style Changes + +- Use typedef for type to ensure consistency ([1eb4fed9a3](https://github.com/InsightSoftwareConsortium/ITK/commit/1eb4fed9a3)) +- Prefer initialization to assignment ([1a6f2ce261](https://github.com/InsightSoftwareConsortium/ITK/commit/1a6f2ce261)) +- Prefer C++11 zero initializer to ZeroValue ([ef5cc8c495](https://github.com/InsightSoftwareConsortium/ITK/commit/ef5cc8c495)) + + +### Jon Haitz Legarreta Gorroño (83): + +#### Enhancements + +- Use windows-2019 image v141 toolchain in `Batch` Azure CI matrix ([2cf08be965](https://github.com/InsightSoftwareConsortium/ITK/commit/2cf08be965)) +- Apply the `type:Infrastructure` label to CI config files ([a83d4ded92](https://github.com/InsightSoftwareConsortium/ITK/commit/a83d4ded92)) +- Increase coverage for miscellaneous classes ([41339276ee](https://github.com/InsightSoftwareConsortium/ITK/commit/41339276ee)) +- Add boolean macro to use cluster labels ([4351f3651a](https://github.com/InsightSoftwareConsortium/ITK/commit/4351f3651a)) +- Use `itkPrintSelfObjectMacro` to print objects that can be null ([c6d374a457](https://github.com/InsightSoftwareConsortium/ITK/commit/c6d374a457)) +- Increase coverage for `itk::AttributeSelectionLabelMapFilter` ([e9bc06e6f5](https://github.com/InsightSoftwareConsortium/ITK/commit/e9bc06e6f5)) +- Increase coverage for `itk::OnePlusOneEvolutionaryOptimizer` ([5286bdb2f3](https://github.com/InsightSoftwareConsortium/ITK/commit/5286bdb2f3)) +- Increase coverage for `itk::ImageRegistrationMethodv4` ([ac019e3744](https://github.com/InsightSoftwareConsortium/ITK/commit/ac019e3744)) +- Add boolean macro to across-scale normalization ivar ([e7aca74334](https://github.com/InsightSoftwareConsortium/ITK/commit/e7aca74334)) +- Increase coverage for `itk::RecursiveGaussianImageFilter` ([7c13d36ba0](https://github.com/InsightSoftwareConsortium/ITK/commit/7c13d36ba0)) +- Add test for the `itk::BoundedReciprocalImageFilter` class ([9d2c892600](https://github.com/InsightSoftwareConsortium/ITK/commit/9d2c892600)) +- Fix `clang-format` workflow actions warnings linked to `Node.js` ([791686038e](https://github.com/InsightSoftwareConsortium/ITK/commit/791686038e)) +- Use strongly typed enums for FMUG filter target reached condition ([6919764fab](https://github.com/InsightSoftwareConsortium/ITK/commit/6919764fab)) +- Remove ivar memberless/static-only class `PrinSelf` ([d2ff3110f1](https://github.com/InsightSoftwareConsortium/ITK/commit/d2ff3110f1)) +- Increase coverage for miscellaneous classes ([f76d26a0e2](https://github.com/InsightSoftwareConsortium/ITK/commit/f76d26a0e2)) +- Add getter methods for `itk::KdTreeGenerator` publicly set ivars ([2c5dec142e](https://github.com/InsightSoftwareConsortium/ITK/commit/2c5dec142e)) +- Use ITK macros to print runtime type information ([74f557094b](https://github.com/InsightSoftwareConsortium/ITK/commit/74f557094b)) +- Remove ivar memberless `PrintSelf` ([1f81ef69d1](https://github.com/InsightSoftwareConsortium/ITK/commit/1f81ef69d1)) +- Remove `itkMath.h` duplicate include ([48025bd985](https://github.com/InsightSoftwareConsortium/ITK/commit/48025bd985)) +- Remove duplicate `itkMath.h` include in itkFEMRegistrationFilter ([4d440dc3ae](https://github.com/InsightSoftwareConsortium/ITK/commit/4d440dc3ae)) +- Provide with printing ability to time resource classes ([cd303c33ae](https://github.com/InsightSoftwareConsortium/ITK/commit/cd303c33ae)) +- Increase coverage for `itk::ConstantVelocityFieldTransform` ([33697686c7](https://github.com/InsightSoftwareConsortium/ITK/commit/33697686c7)) +- Increase coverage for miscellaneous classes ([bf183be9c4](https://github.com/InsightSoftwareConsortium/ITK/commit/bf183be9c4)) +- Increase coverage for `itk::Rigid3DTransform` ([9bc884e619](https://github.com/InsightSoftwareConsortium/ITK/commit/9bc884e619)) +- Test `itk::RegistrationParameterScales*` classes ([bc1025b1c0](https://github.com/InsightSoftwareConsortium/ITK/commit/bc1025b1c0)) +- Add macros to `itk::kRegistrationParameterScalesEstimator` ivars ([37a2151768](https://github.com/InsightSoftwareConsortium/ITK/commit/37a2151768)) +- Increase `RegistrationParameterScalesFromPhysicalShift` coverage ([165fb5b6fe](https://github.com/InsightSoftwareConsortium/ITK/commit/165fb5b6fe)) + +#### Performance Improvements + +- Remove immediately modified ivar assignment ([d1c46d63be](https://github.com/InsightSoftwareConsortium/ITK/commit/d1c46d63be)) + +#### Documentation Updates + +- Fix class names in documentation and comments ([482102d507](https://github.com/InsightSoftwareConsortium/ITK/commit/482102d507)) +- Fix typos in documentation ([d589e6b034](https://github.com/InsightSoftwareConsortium/ITK/commit/d589e6b034)) +- Remove unnecessary or empty implementation file method doc blocks ([aff7703dc8](https://github.com/InsightSoftwareConsortium/ITK/commit/aff7703dc8)) +- Document methods in header file ([c7d3cda80f](https://github.com/InsightSoftwareConsortium/ITK/commit/c7d3cda80f)) +- Make class description be a complete sentence ([4241506fa8](https://github.com/InsightSoftwareConsortium/ITK/commit/4241506fa8)) +- Fix grammar in documentation ([18609c6296](https://github.com/InsightSoftwareConsortium/ITK/commit/18609c6296)) +- Restrict the class authorship to the Doxygen documentation ([eae47ff0d1](https://github.com/InsightSoftwareConsortium/ITK/commit/eae47ff0d1)) +- Remove duplicate `FourierTransform` Doxygen grouping command ([138d135656](https://github.com/InsightSoftwareConsortium/ITK/commit/138d135656)) +- Clean up method Doxygen documentation ([d58bf56fe2](https://github.com/InsightSoftwareConsortium/ITK/commit/d58bf56fe2)) +- Clean up method Doxygen documentation ([c44f9c1b39](https://github.com/InsightSoftwareConsortium/ITK/commit/c44f9c1b39)) +- Change the Insight Journal handle links to insight-journal links ([e936cabc7a](https://github.com/InsightSoftwareConsortium/ITK/commit/e936cabc7a)) +- Make insight-journal links consistent: add www to URL ([7e000aec50](https://github.com/InsightSoftwareConsortium/ITK/commit/7e000aec50)) +- Consolidate `LaplacianSharpeningImageFilter` `UseImageSpacing` doc ([75bf848e27](https://github.com/InsightSoftwareConsortium/ITK/commit/75bf848e27)) +- Clean up method Doxygen documentation ([9d1a93dfb8](https://github.com/InsightSoftwareConsortium/ITK/commit/9d1a93dfb8)) + +#### Platform Fixes + +- Install the `lxml` Python package for the `Batch` Azure CI build ([1adbb26384](https://github.com/InsightSoftwareConsortium/ITK/commit/1adbb26384)) +- Fix missing initialization braces warnings ([5834520cc9](https://github.com/InsightSoftwareConsortium/ITK/commit/5834520cc9)) +- Fix missing initialization braces warning in Convolution test ([5094cfb7f5](https://github.com/InsightSoftwareConsortium/ITK/commit/5094cfb7f5)) +- Remove unused local variables in image iterator tests ([fd38fe7290](https://github.com/InsightSoftwareConsortium/ITK/commit/fd38fe7290)) +- Fix declaration and syntax errors in Review class `PrintSelf` ([94538d42c2](https://github.com/InsightSoftwareConsortium/ITK/commit/94538d42c2)) +- Fix `Regitration::FEM` module `PrintSelf` compiler errors ([dde9dc39c0](https://github.com/InsightSoftwareConsortium/ITK/commit/dde9dc39c0)) +- Restore `PrintSelf` in itkGPUPDEDeformableRegistrationFilter.h ([fc1cce56a9](https://github.com/InsightSoftwareConsortium/ITK/commit/fc1cce56a9)) +- Provide prefix-less member name to `itkPrintSelfObjectMacro` ([748ef3002a](https://github.com/InsightSoftwareConsortium/ITK/commit/748ef3002a)) +- Fix itkParallelSparseFieldLevelSetImageFilter uninitialized memory ([f11797b7a9](https://github.com/InsightSoftwareConsortium/ITK/commit/f11797b7a9)) +- Fix `itk::Histogram` uninitialized memory ([b32182fdec](https://github.com/InsightSoftwareConsortium/ITK/commit/b32182fdec)) + +#### Bug Fixes + +- Fix Superclass name in RTTI macro ([d60ed81f76](https://github.com/InsightSoftwareConsortium/ITK/commit/d60ed81f76)) +- Fix input argument indices in test ([dcc8ea3851](https://github.com/InsightSoftwareConsortium/ITK/commit/dcc8ea3851)) +- Fix Superclass name in RTTI macro ([84d402a619](https://github.com/InsightSoftwareConsortium/ITK/commit/84d402a619)) +- Set ivar to appropriate value when condition is met ([cd3e200ada](https://github.com/InsightSoftwareConsortium/ITK/commit/cd3e200ada)) +- Fix uninitialized value ImageRegistrationMethodv4::m_NumberOfLevels ([a31e8bf32a](https://github.com/InsightSoftwareConsortium/ITK/commit/a31e8bf32a)) +- Fix symbol exportation macro module name in `itk::DCMTKImageIO` ([736410b7e1](https://github.com/InsightSoftwareConsortium/ITK/commit/736410b7e1)) +- Add semicolon after `ITK_EXERCISE_BASIC_OBJECT_METHODS` call ([9a2379f0f7](https://github.com/InsightSoftwareConsortium/ITK/commit/9a2379f0f7)) + +#### Style Changes + +- Prefer using test macros for setter/getter method testing ([f0e6c56e6f](https://github.com/InsightSoftwareConsortium/ITK/commit/f0e6c56e6f)) +- Rename a type alias to honor the class purpose ([f20e3140c4](https://github.com/InsightSoftwareConsortium/ITK/commit/f20e3140c4)) +- Conform to ITK style in miscellaneous tests ([1de6b4fc4a](https://github.com/InsightSoftwareConsortium/ITK/commit/1de6b4fc4a)) +- Prefer using exception macros in tests ([f0ce6a871f](https://github.com/InsightSoftwareConsortium/ITK/commit/f0ce6a871f)) +- Prefer using local counters in loops ([b28578da4f](https://github.com/InsightSoftwareConsortium/ITK/commit/b28578da4f)) +- Improve style in miscellaneous `LabelMap` module tests ([3d6a2e147e](https://github.com/InsightSoftwareConsortium/ITK/commit/3d6a2e147e)) +- Prefer using exception macros in tests ([b3dadeee1d](https://github.com/InsightSoftwareConsortium/ITK/commit/b3dadeee1d)) +- Remove unnecessary test starting message ([acd4b67359](https://github.com/InsightSoftwareConsortium/ITK/commit/acd4b67359)) +- Use canonical naming for itkRecursiveGaussianImageFilter tests ([4156d3d563](https://github.com/InsightSoftwareConsortium/ITK/commit/4156d3d563)) +- Prefer double forward slashes for within-method body comments ([be6b447afc](https://github.com/InsightSoftwareConsortium/ITK/commit/be6b447afc)) +- Remove commented output stream messages ([f42c10a20f](https://github.com/InsightSoftwareConsortium/ITK/commit/f42c10a20f)) +- Remove unnecessary within-method body comments ([7a34977bd4](https://github.com/InsightSoftwareConsortium/ITK/commit/7a34977bd4)) +- Break line before calling `PrintSelf` in test ([626c1b4d99](https://github.com/InsightSoftwareConsortium/ITK/commit/626c1b4d99)) +- Remove commented code in `itk::LevelSetMotionRegistrationFunction` ([484ada7ff8](https://github.com/InsightSoftwareConsortium/ITK/commit/484ada7ff8)) +- Prefer double forward slashes for within-method body comments ([1a296b5dd3](https://github.com/InsightSoftwareConsortium/ITK/commit/1a296b5dd3)) +- Make `PrintSelf` implementation style consistent ([c47ed1c1b3](https://github.com/InsightSoftwareConsortium/ITK/commit/c47ed1c1b3)) +- Use the ellipsis properly in printed messages ([a925c70af8](https://github.com/InsightSoftwareConsortium/ITK/commit/a925c70af8)) +- Remove an unnecessary static_cast from Histogram::PrintSelf ([4aa66a29e2](https://github.com/InsightSoftwareConsortium/ITK/commit/4aa66a29e2)) +- Prefer in-class `{}` member initializers ([998b25b25a](https://github.com/InsightSoftwareConsortium/ITK/commit/998b25b25a)) +- Make `PrintSelf` implementation style consistent ([e750782e41](https://github.com/InsightSoftwareConsortium/ITK/commit/e750782e41)) +- Remove duplicate statement in `itk::Histogram::Initialize` ([bbc691ab30](https://github.com/InsightSoftwareConsortium/ITK/commit/bbc691ab30)) +- Prefer double forward slashes for within-method body comments ([647ef1fe6a](https://github.com/InsightSoftwareConsortium/ITK/commit/647ef1fe6a)) +- Remove unnecessary within-method body comments ([1d316c5454](https://github.com/InsightSoftwareConsortium/ITK/commit/1d316c5454)) +- Make PrintSelf implementation style consistent ([34a598a3a8](https://github.com/InsightSoftwareConsortium/ITK/commit/34a598a3a8)) + + +### KWSys Upstream (1): + +#### Miscellaneous Changes + +- KWSys 2023-01-19 (be3c441e) ([e8b74bbf06](https://github.com/InsightSoftwareConsortium/ITK/commit/e8b74bbf06)) + + +### Lee Newberg (1): + +#### Platform Fixes + +- Replace numpy.bool8 (deprecated in numpy>=1.24) with numpy.bool_ ([a508af5100](https://github.com/InsightSoftwareConsortium/ITK/commit/a508af5100)) + + +### Matt McCormick (23): + +#### Enhancements + +- Bump ITK_VERSION_MINOR to 4 ([928774748a](https://github.com/InsightSoftwareConsortium/ITK/commit/928774748a)) +- Update remote modules for 2022-11-24 ([dd3b4a2f9e](https://github.com/InsightSoftwareConsortium/ITK/commit/dd3b4a2f9e)) +- Bump Azure Testing ExternalDataVersion to 5.3.0 ([07c91df71e](https://github.com/InsightSoftwareConsortium/ITK/commit/07c91df71e)) + +#### Documentation Updates + +- Include links to updated remote modules in release notes ([81143d0775](https://github.com/InsightSoftwareConsortium/ITK/commit/81143d0775)) +- Add links to previous versions in the Doxygen footer ([205ce51d2a](https://github.com/InsightSoftwareConsortium/ITK/commit/205ce51d2a)) +- Improve doxygen footer formatting ([cf19aba2fa](https://github.com/InsightSoftwareConsortium/ITK/commit/cf19aba2fa)) +- Add archives of 5.3 release notes ([5a7dcb1a02](https://github.com/InsightSoftwareConsortium/ITK/commit/5a7dcb1a02)) +- Add link to 5.3 documentation in Doxygen footer ([542ae7b3d5](https://github.com/InsightSoftwareConsortium/ITK/commit/542ae7b3d5)) +- Release process updates for 5.3.0 ([d76a1833a7](https://github.com/InsightSoftwareConsortium/ITK/commit/d76a1833a7)) +- Add emojis to the first-interaction message ([ba054649ac](https://github.com/InsightSoftwareConsortium/ITK/commit/ba054649ac)) +- Consolidate release notes inte Documentation/Releases ([5093d831ba](https://github.com/InsightSoftwareConsortium/ITK/commit/5093d831ba)) +- Add contributing graph to CONTRIBUTING.md ([366ed3edc9](https://github.com/InsightSoftwareConsortium/ITK/commit/366ed3edc9)) + +#### Platform Fixes + +- Add CastXML binary for Windows 11 ([e30096df7d](https://github.com/InsightSoftwareConsortium/ITK/commit/e30096df7d)) +- zlib crc32_braid.c cast to smaller integer type ([0cd5391417](https://github.com/InsightSoftwareConsortium/ITK/commit/0cd5391417)) +- Use newer CastXML binary for latest versions of Windows 10 ([364c27a393](https://github.com/InsightSoftwareConsortium/ITK/commit/364c27a393)) +- Use pre-built swig for Linux/x86_64 ([bfc7f7b800](https://github.com/InsightSoftwareConsortium/ITK/commit/bfc7f7b800)) +- Replace numpy.bool8 with np.bool_ ([63fd7e7a89](https://github.com/InsightSoftwareConsortium/ITK/commit/63fd7e7a89)) + +#### Bug Fixes + +- pointset_type_from_wasm_type return a PointSet ([2f2e888612](https://github.com/InsightSoftwareConsortium/ITK/commit/2f2e888612)) +- transform_to_displacement_field_filter type inference ([f13070288b](https://github.com/InsightSoftwareConsortium/ITK/commit/f13070288b)) +- SetRegions in image_from_dict ([504f06f9e3](https://github.com/InsightSoftwareConsortium/ITK/commit/504f06f9e3)) +- Support heterogeneous inputs/outputs for PyImageFilter ([eee6f8ac9b](https://github.com/InsightSoftwareConsortium/ITK/commit/eee6f8ac9b)) +- Add other SWIG sources download URLs ([0e3a056e89](https://github.com/InsightSoftwareConsortium/ITK/commit/0e3a056e89)) +- wasm_type_from_image_type for VariableLengthVector ([99f16a0dfe](https://github.com/InsightSoftwareConsortium/ITK/commit/99f16a0dfe)) + + +### Max Aehle (3): + +#### Platform Fixes + +- Declare ZLIB_SYMBOL_PREFIX as cache variable ([f935f4c666](https://github.com/InsightSoftwareConsortium/ITK/commit/f935f4c666)) +- Perform TEST_LFS_WORKS in every CMake run ([1d056d2f19](https://github.com/InsightSoftwareConsortium/ITK/commit/1d056d2f19)) +- Decide early whether to use -msse2 ([52732a065e](https://github.com/InsightSoftwareConsortium/ITK/commit/52732a065e)) + + +### Mihail Isakov (4): + +#### Bug Fixes + +- ITK_COMPILER_SUPPORTS_SSE2_64 incorrectly set for 32-bit x86 ([6c800e4640](https://github.com/InsightSoftwareConsortium/ITK/commit/6c800e4640)) +- ITK_COMPILER_SUPPORTS_SSE2_64 incorrectly set for 32-bit x86 ([37c107436f](https://github.com/InsightSoftwareConsortium/ITK/commit/37c107436f)) +- fixed valgrind defect in FreeSurfer mesh test ([336cf57efc](https://github.com/InsightSoftwareConsortium/ITK/commit/336cf57efc)) +- Added missing semicolon in FastMarchingUpwindGradientTest ([4ca68daba0](https://github.com/InsightSoftwareConsortium/ITK/commit/4ca68daba0)) + + +### NIFTI Upstream (2): + +#### Miscellaneous Changes + +- nifti 2023-03-29 (2acc4449) ([5e40191542](https://github.com/InsightSoftwareConsortium/ITK/commit/5e40191542)) +- nifti 2023-05-22 (c135c3d4) ([8a04aa2070](https://github.com/InsightSoftwareConsortium/ITK/commit/8a04aa2070)) + + +### Nick Tustison (3): + +#### Enhancements + +- refactor LaplacianSharpeningImageFilter (#4052) ([c93f06865e](https://github.com/InsightSoftwareConsortium/ITK/commit/c93f06865e)) + +#### Bug Fixes + +- Need to initialize both seeds. ([8e1b8259f0](https://github.com/InsightSoftwareConsortium/ITK/commit/8e1b8259f0)) +- Need to initialize both seeds. ([490b5c6069](https://github.com/InsightSoftwareConsortium/ITK/commit/490b5c6069)) + + +### Niels Dekker (143): + +#### Enhancements + +- Mention the floating point type on a NumberToString expect failure ([43d3e848a6](https://github.com/InsightSoftwareConsortium/ITK/commit/43d3e848a6)) +- Add GTest `FixedArray.ValueInitialized` ([6bb951c394](https://github.com/InsightSoftwareConsortium/ITK/commit/6bb951c394)) +- Add C++ script to add in-class `{}` member initializers to ITK ([ef40e98381](https://github.com/InsightSoftwareConsortium/ITK/commit/ef40e98381)) +- Upgrade ITK from C++14 to C++17 ([513507e4c7](https://github.com/InsightSoftwareConsortium/ITK/commit/513507e4c7)) +- Test `bool` return value of TransformPhysicalPoint member functions ([1d03697690](https://github.com/InsightSoftwareConsortium/ITK/commit/1d03697690)) +- Add C++17 `[[nodiscard]]` to Image "Transform" member functions ([63d43546a3](https://github.com/InsightSoftwareConsortium/ITK/commit/63d43546a3)) +- Add C++17 CTAD deduction guides to `ImageScanlineIterator` ([7f934595eb](https://github.com/InsightSoftwareConsortium/ITK/commit/7f934595eb)) +- CTAD guide `ImageScanlineConstIterator` support non-const image ([a6c37421f6](https://github.com/InsightSoftwareConsortium/ITK/commit/a6c37421f6)) + +#### Performance Improvements + +- Declare TriangleCell::m_PointIds std::array instead of std::vector ([8aa679af1b](https://github.com/InsightSoftwareConsortium/ITK/commit/8aa679af1b)) +- SLICImageFilter use faster TransformPhysicalPointToContinuousIndex ([d0109630dc](https://github.com/InsightSoftwareConsortium/ITK/commit/d0109630dc)) +- Use faster TransformPhysicalPointToIndex/ContinuousIndex in Python ([87b48e49be](https://github.com/InsightSoftwareConsortium/ITK/commit/87b48e49be)) +- Use `std::move` inside `itkSetMacro`, declare parameter non-const ([e5011aeb76](https://github.com/InsightSoftwareConsortium/ITK/commit/e5011aeb76)) + +#### Documentation Updates + +- Mention that Utilities/Maintenance is excluded from CI triggers ([4728e7c436](https://github.com/InsightSoftwareConsortium/ITK/commit/4728e7c436)) +- Add note to Image "Transform" member functions that return `bool` ([dc43b54be6](https://github.com/InsightSoftwareConsortium/ITK/commit/dc43b54be6)) +- Add note constructors on class template argument deduction (CTAD) ([e421dac080](https://github.com/InsightSoftwareConsortium/ITK/commit/e421dac080)) +- ShapedImageNeighborhoodRange iterator types follow Rule of Zero ([a024dfa34d](https://github.com/InsightSoftwareConsortium/ITK/commit/a024dfa34d)) + +#### Platform Fixes + +- Fix MSVC warning C26495: `m_MetaDataObjectValue` uninitialized ([0dc5b66bd3](https://github.com/InsightSoftwareConsortium/ITK/commit/0dc5b66bd3)) +- Fix MSVC warning C26495: `ZwQuerySystemInformation` uninitialized ([a1f40a77ca](https://github.com/InsightSoftwareConsortium/ITK/commit/a1f40a77ca)) +- Fix MSVC `/permissive-` error C2516: ... is not a legal base class ([687f51e642](https://github.com/InsightSoftwareConsortium/ITK/commit/687f51e642)) +- Do #include "itkConfigure.h" before using `ITK_USE_WIN32_THREADS` ([15ce483e5b](https://github.com/InsightSoftwareConsortium/ITK/commit/15ce483e5b)) +- Fix MSVC warning C26495: `m_PositionIndex` uninitialized ([de142a0dbd](https://github.com/InsightSoftwareConsortium/ITK/commit/de142a0dbd)) +- Make ITK implementation `make_unique_for_overwrite` unconditional ([a0aecfe0a7](https://github.com/InsightSoftwareConsortium/ITK/commit/a0aecfe0a7)) +- Make ITK implementation `bit_cast` unconditional ([f187319530](https://github.com/InsightSoftwareConsortium/ITK/commit/f187319530)) +- MSVC Code Analysis warning, "redundant code" in ImageIORegionGTest ([3d14c44629](https://github.com/InsightSoftwareConsortium/ITK/commit/3d14c44629)) +- Exclude Utilities/Maintenance and documentation files from AZP CI ([eb5ca2585a](https://github.com/InsightSoftwareConsortium/ITK/commit/eb5ca2585a)) +- Fix warning: unused variable 'compensatedSum' [-Wunused-variable] ([a51d204c49](https://github.com/InsightSoftwareConsortium/ITK/commit/a51d204c49)) +- Move RayCastHelper from unnamed namespace to private class section ([208902e16a](https://github.com/InsightSoftwareConsortium/ITK/commit/208902e16a)) +- Place `#define _SILENCE_..._DEPRECATION_WARNING` before `#include` ([cd0ff94e4f](https://github.com/InsightSoftwareConsortium/ITK/commit/cd0ff94e4f)) +- Declare `operator-(const Self &)` member functions const ([8bd60993a7](https://github.com/InsightSoftwareConsortium/ITK/commit/8bd60993a7)) +- Declare `operator<(const SliceIterator &)` member function const ([f60dc98cef](https://github.com/InsightSoftwareConsortium/ITK/commit/f60dc98cef)) +- Declare `operator*` and `operator/` of VariableSizeMatrix const ([212c0e1cc4](https://github.com/InsightSoftwareConsortium/ITK/commit/212c0e1cc4)) +- Replace result_of_t with C++17 invoke_result_t in ThreadPool ([75350f1f81](https://github.com/InsightSoftwareConsortium/ITK/commit/75350f1f81)) +- Work around GCC < 10 bug, "no user-provided default constructor" ([79faea587c](https://github.com/InsightSoftwareConsortium/ITK/commit/79faea587c)) +- Require compiler versions that support C++17 ([45407f3560](https://github.com/InsightSoftwareConsortium/ITK/commit/45407f3560)) +- Fix `[[nodiscard]]` warnings in PolyLineParametricPath1 example ([6b2d4701bb](https://github.com/InsightSoftwareConsortium/ITK/commit/6b2d4701bb)) +- Remove CTAD because of clang "error: member reference base" bug ([2f30e35b4f](https://github.com/InsightSoftwareConsortium/ITK/commit/2f30e35b4f)) +- Remove use of C++17 CTAD from `lock_guard` variable declarations ([6958f05338](https://github.com/InsightSoftwareConsortium/ITK/commit/6958f05338)) +- Add CTAD deduction guides to ImageBufferRange and ImageRegionRange ([639e8ff31a](https://github.com/InsightSoftwareConsortium/ITK/commit/639e8ff31a)) +- Fix TransformPhysicalPointToIndex `nodiscard` warnings ([49ece7f608](https://github.com/InsightSoftwareConsortium/ITK/commit/49ece7f608)) +- Fix TransformPhysicalPointToContinuousIndex `nodiscard` warnings ([7cda5badd0](https://github.com/InsightSoftwareConsortium/ITK/commit/7cda5badd0)) +- Fix Nonunit/Review/test error: ContinuousIndexType is not a member ([fd2b6d6d72](https://github.com/InsightSoftwareConsortium/ITK/commit/fd2b6d6d72)) +- Fix Nonunit/Review/test error: 'cindex': undeclared identifier ([1a1281ce03](https://github.com/InsightSoftwareConsortium/ITK/commit/1a1281ce03)) +- Fix BinomialBlurImageFilter error, num_reps undeclared identifier ([1e3e606e83](https://github.com/InsightSoftwareConsortium/ITK/commit/1e3e606e83)) +- Add `template` to TransformPhysicalPointToContinuousIndex in tests ([1f8c0f8128](https://github.com/InsightSoftwareConsortium/ITK/commit/1f8c0f8128)) +- Enable warning on C++17 class template argument deduction (CTAD) ([d26c07ea57](https://github.com/InsightSoftwareConsortium/ITK/commit/d26c07ea57)) +- Disable KWStyle check "error: namespace is wrong" on *.cxx files ([cce48b3cfa](https://github.com/InsightSoftwareConsortium/ITK/commit/cce48b3cfa)) +- Rule of Zero, SFINAE ImageBufferRange, ImageRegionRange iterators ([19079c8bc7](https://github.com/InsightSoftwareConsortium/ITK/commit/19079c8bc7)) + +#### Style Changes + +- Remove `diff` variables from ConvertPixelBuffer (warning C26451) ([288d87b89f](https://github.com/InsightSoftwareConsortium/ITK/commit/288d87b89f)) +- Replace C-style cast (size_t) ConvertPixelBuffer with static_cast ([622fb69f84](https://github.com/InsightSoftwareConsortium/ITK/commit/622fb69f84)) +- NumberToStringGTest: add #include, avoid narrowing conversion pow ([d5beb7a657](https://github.com/InsightSoftwareConsortium/ITK/commit/d5beb7a657)) +- Add `const` to `inputData` parameters of `ConvertPixelBuffer` ([c28be8ba00](https://github.com/InsightSoftwareConsortium/ITK/commit/c28be8ba00)) +- Use range-based `for` loops to iterate over `faceList` variables ([2de7e24b0b](https://github.com/InsightSoftwareConsortium/ITK/commit/2de7e24b0b)) +- Do not suppress clang "-Wfloat-equal" inside `itkSetObjectMacro` ([10f6e6bc5e](https://github.com/InsightSoftwareConsortium/ITK/commit/10f6e6bc5e)) +- Declare m_PointIds of Cell types std::array instead of C-array ([09e5548a07](https://github.com/InsightSoftwareConsortium/ITK/commit/09e5548a07)) +- Add `const` to `inputData` of `DoConvertBuffer` member functions ([f8dc373884](https://github.com/InsightSoftwareConsortium/ITK/commit/f8dc373884)) +- Initialize `faceList` directly by ImageBoundaryFacesCalculator ([18a672368d](https://github.com/InsightSoftwareConsortium/ITK/commit/18a672368d)) +- Replace `for` loops SetPointIds(PointIdConstIterator) by copy_n ([e019779ba5](https://github.com/InsightSoftwareConsortium/ITK/commit/e019779ba5)) +- Add missing `<< indent` insertions to `PrintSelf` implementations ([48c6ed7697](https://github.com/InsightSoftwareConsortium/ITK/commit/48c6ed7697)) +- Replace `*x.begin()` with `x.front()` ([c8103b4e55](https://github.com/InsightSoftwareConsortium/ITK/commit/c8103b4e55)) +- Replace `*x.begin()` with `x.front()` in DecisionRule test ([eb26094080](https://github.com/InsightSoftwareConsortium/ITK/commit/eb26094080)) +- Chain consecutive insertions (`<<`) to the same output stream ([67ca856a8c](https://github.com/InsightSoftwareConsortium/ITK/commit/67ca856a8c)) +- Make data of PixelReferenceWrapper (in ImageBufferRange) private ([ca965f3300](https://github.com/InsightSoftwareConsortium/ITK/commit/ca965f3300)) +- In-class default-member-initialization in Command derived classes ([76dad9f321](https://github.com/InsightSoftwareConsortium/ITK/commit/76dad9f321)) +- In-class default-member-initialization in VTKImageImport ([a0488b99f3](https://github.com/InsightSoftwareConsortium/ITK/commit/a0488b99f3)) +- Move ObjectFactorBase `OverrideInformation` to unnamed namespace ([cdd5408631](https://github.com/InsightSoftwareConsortium/ITK/commit/cdd5408631)) +- Add in-class `{}` member initializers to objects created by New() ([5e2c49f9eb](https://github.com/InsightSoftwareConsortium/ITK/commit/5e2c49f9eb)) +- Add missing braces to the substatements of `if` statements ([8d12282fd7](https://github.com/InsightSoftwareConsortium/ITK/commit/8d12282fd7)) +- Add missing braces to the substatements of `for` loops ([57624fda9a](https://github.com/InsightSoftwareConsortium/ITK/commit/57624fda9a)) +- Default default-constructors of class templates in Core/Common ([c2c67ac48c](https://github.com/InsightSoftwareConsortium/ITK/commit/c2c67ac48c)) +- Replace double quotes around a space character with single quotes ([e8773472dd](https://github.com/InsightSoftwareConsortium/ITK/commit/e8773472dd)) +- Default default-constructor ImageConstIteratorWithIndex/OnlyIndex ([ca0021b93c](https://github.com/InsightSoftwareConsortium/ITK/commit/ca0021b93c)) +- Replace double quotes around single characters with single quotes ([ea231d6002](https://github.com/InsightSoftwareConsortium/ITK/commit/ea231d6002)) +- Replace double quotes around double quote with single quotes ([ffa592d124](https://github.com/InsightSoftwareConsortium/ITK/commit/ffa592d124)) +- Replace double quotes around escaped chars with single quotes ([3ec88007fc](https://github.com/InsightSoftwareConsortium/ITK/commit/3ec88007fc)) +- Add in-class `{}` initializers to classes with itkSimpleNewMacro ([21f500a807](https://github.com/InsightSoftwareConsortium/ITK/commit/21f500a807)) +- Use `lock_guard` in Logger classes and GPUImageDataManager ([a744aef227](https://github.com/InsightSoftwareConsortium/ITK/commit/a744aef227)) +- Use range-based `for` in MultipleLogOutput and LoggerManager ([4bd1e7a10a](https://github.com/InsightSoftwareConsortium/ITK/commit/4bd1e7a10a)) +- Remove unnecessary private type aliases from Log classes ([b91931b381](https://github.com/InsightSoftwareConsortium/ITK/commit/b91931b381)) +- Add in-class `{}` initializers to classes with virtual functions ([5c97b7605e](https://github.com/InsightSoftwareConsortium/ITK/commit/5c97b7605e)) +- Add in-class `{}` initializers to classes with override = default ([5635b75d8f](https://github.com/InsightSoftwareConsortium/ITK/commit/5635b75d8f)) +- Default default-constructor of ConstantBoundaryCondition ([67ec6584a3](https://github.com/InsightSoftwareConsortium/ITK/commit/67ec6584a3)) +- Default default-constructor of CompensatedSummation ([015e93635b](https://github.com/InsightSoftwareConsortium/ITK/commit/015e93635b)) +- Default default-constructor of SpatialFunction classes ([554c442430](https://github.com/InsightSoftwareConsortium/ITK/commit/554c442430)) +- Default default-constructor of Image classes ([e596c0110f](https://github.com/InsightSoftwareConsortium/ITK/commit/e596c0110f)) +- Default default-constructor of ImageRandom ConstIterator classes ([4e46cb6ef5](https://github.com/InsightSoftwareConsortium/ITK/commit/4e46cb6ef5)) +- Default default-constructor of ConstNeighborhoodIterator ([6a1ccdccb6](https://github.com/InsightSoftwareConsortium/ITK/commit/6a1ccdccb6)) +- Default default-constructor ImageVectorOptimizerParametersHelper ([6df203ab20](https://github.com/InsightSoftwareConsortium/ITK/commit/6df203ab20)) +- Default default-constructor of ImportImageContainer and Filter ([b9e08130d0](https://github.com/InsightSoftwareConsortium/ITK/commit/b9e08130d0)) +- Default default-constructor of MinimumMaximumImageCalculator ([791e2d462b](https://github.com/InsightSoftwareConsortium/ITK/commit/791e2d462b)) +- Default default-constructor of ObjectStore and MemoryBlock ([a77ace2e26](https://github.com/InsightSoftwareConsortium/ITK/commit/a77ace2e26)) +- Default default-constructor of PointSet ([e996dac415](https://github.com/InsightSoftwareConsortium/ITK/commit/e996dac415)) +- Default default-constructor of PriorityQueueContainer ([ea237faaac](https://github.com/InsightSoftwareConsortium/ITK/commit/ea237faaac)) +- Default default-constructor of RegularizedHeavisideStepFunction ([8aa993b758](https://github.com/InsightSoftwareConsortium/ITK/commit/8aa993b758)) +- Default default-constructor of ThreadedImageRegionPartitioner ([992537a393](https://github.com/InsightSoftwareConsortium/ITK/commit/992537a393)) +- Default default-constructor of VariableLengthVector ([74a55f9f8b](https://github.com/InsightSoftwareConsortium/ITK/commit/74a55f9f8b)) +- Default default-constructor of Versor ([1b5da45dc7](https://github.com/InsightSoftwareConsortium/ITK/commit/1b5da45dc7)) +- Add in-class `{}` member initializers to 3-letter data members ([ffe5eb6118](https://github.com/InsightSoftwareConsortium/ITK/commit/ffe5eb6118)) +- Construct local variables by passing their arguments directly ([9e5dda5425](https://github.com/InsightSoftwareConsortium/ITK/commit/9e5dda5425)) +- Add in-class `{}` member initializers having trailing comments ([8f233d177a](https://github.com/InsightSoftwareConsortium/ITK/commit/8f233d177a)) +- Remove unnecessary iterator `GoToBegin()` calls from Filtering ([5a60ed00ad](https://github.com/InsightSoftwareConsortium/ITK/commit/5a60ed00ad)) +- Remove duplicate `InLineIt.GoToBegin()` calls from Filtering ([dfbc85fd77](https://github.com/InsightSoftwareConsortium/ITK/commit/dfbc85fd77)) +- Move ITK iterator declarations into init-statement of `for` loops ([d91d2b15b2](https://github.com/InsightSoftwareConsortium/ITK/commit/d91d2b15b2)) +- Replace `T var = NumericTraits::ZeroValue()` with `T var{}` ([42b0bfc077](https://github.com/InsightSoftwareConsortium/ITK/commit/42b0bfc077)) +- Replace `while (!outIt.IsAtEnd())` with `for` loops, in Filtering ([31c713eb10](https://github.com/InsightSoftwareConsortium/ITK/commit/31c713eb10)) +- Replace `T var = T()` with modern `T var{}` value-initialization ([6e3d4b3dc7](https://github.com/InsightSoftwareConsortium/ITK/commit/6e3d4b3dc7)) +- Construct local variables by passing arguments directly (part 2) ([ef24b65d02](https://github.com/InsightSoftwareConsortium/ITK/commit/ef24b65d02)) +- Reduce scope ResampleImageFilter::NonlinearThreadedGenerateData ([6b0d4b8337](https://github.com/InsightSoftwareConsortium/ITK/commit/6b0d4b8337)) +- Default default-constructors MultiTransform, CompositeTransform ([8fbbcd5a6e](https://github.com/InsightSoftwareConsortium/ITK/commit/8fbbcd5a6e)) +- Remove std::allocator from TestImportImageContainer (Common/test) ([55fb520252](https://github.com/InsightSoftwareConsortium/ITK/commit/55fb520252)) +- Default default-constructor BSplineBaseTransform ([94f5a43e71](https://github.com/InsightSoftwareConsortium/ITK/commit/94f5a43e71)) +- Simplify `BSplineBaseTransform::SetIdentity()` ([12df6f4d1c](https://github.com/InsightSoftwareConsortium/ITK/commit/12df6f4d1c)) +- Declare local supportSize variables in BSplineTransform constexpr ([85dccb237f](https://github.com/InsightSoftwareConsortium/ITK/commit/85dccb237f)) +- Use C++17 `_v` variable templates from `std` library type traits ([1a914b71bd](https://github.com/InsightSoftwareConsortium/ITK/commit/1a914b71bd)) +- Remove pre-C++17 definition constexpr data member `SupportSize` ([014ea433aa](https://github.com/InsightSoftwareConsortium/ITK/commit/014ea433aa)) +- Remove GCC 5.2 specific code from IntensityLinearTransform ([9e81d6d88d](https://github.com/InsightSoftwareConsortium/ITK/commit/9e81d6d88d)) +- Use C++17 CTAD for `ImageBufferRange` ([acab22f238](https://github.com/InsightSoftwareConsortium/ITK/commit/acab22f238)) +- Use C++17 CTAD for `ImageRegionRange` ([8ee4d9a410](https://github.com/InsightSoftwareConsortium/ITK/commit/8ee4d9a410)) +- Replace `std::min` and `std::max` calls with C++17 `std::clamp` ([fa667ebe40](https://github.com/InsightSoftwareConsortium/ITK/commit/fa667ebe40)) +- Use C++17 class template argument deduction (CTAD) for lock_guard ([3bfdc28908](https://github.com/InsightSoftwareConsortium/ITK/commit/3bfdc28908)) +- Declare all lock_guard variables `const` ([357503ea5b](https://github.com/InsightSoftwareConsortium/ITK/commit/357503ea5b)) +- Replace `sizeof(array) / sizeof(array[0])` with C++17 `std::size` ([feb86b8a81](https://github.com/InsightSoftwareConsortium/ITK/commit/feb86b8a81)) +- Remove private ImageBufferRange ImageType alias, just use TImage ([136064885e](https://github.com/InsightSoftwareConsortium/ITK/commit/136064885e)) +- Add `const` to TransformPhysicalPointToIndex results in "Review" ([7c4b827b44](https://github.com/InsightSoftwareConsortium/ITK/commit/7c4b827b44)) +- Replace `T var = NumericTraits::ZeroValue()` having whitespace ([b7bfef30a8](https://github.com/InsightSoftwareConsortium/ITK/commit/b7bfef30a8)) +- Use TImage for CTAD supporting constructors ImageScanlineIterator ([1b14a34459](https://github.com/InsightSoftwareConsortium/ITK/commit/1b14a34459)) +- Use C++17 CTAD for `ImageScanlineIterator` variable declarations ([e287d819f5](https://github.com/InsightSoftwareConsortium/ITK/commit/e287d819f5)) +- Use C++17 "constexpr if" in `ImageRegionRange` ([2e1b8fffe0](https://github.com/InsightSoftwareConsortium/ITK/commit/2e1b8fffe0)) +- Use C++17 "constexpr if" in `ImageHelper` ComputeIndex, Offset ([a980ae9faf](https://github.com/InsightSoftwareConsortium/ITK/commit/a980ae9faf)) +- Replace `T var{ NumericTraits::ZeroValue() }` with `T var{}` ([5ac803e290](https://github.com/InsightSoftwareConsortium/ITK/commit/5ac803e290)) +- Remove local ImageScanlineIterator type aliases, using C++17 CTAD ([788e55897c](https://github.com/InsightSoftwareConsortium/ITK/commit/788e55897c)) +- Default default-constructor SimpleDataObjectDecorator ([7a89717c1a](https://github.com/InsightSoftwareConsortium/ITK/commit/7a89717c1a)) +- Replace ImageScanlineIterator `while` loops with `for` loops ([dbd3db552f](https://github.com/InsightSoftwareConsortium/ITK/commit/dbd3db552f)) +- Move ImageScanlineIterator variable declarations into `for` loops ([869b22217d](https://github.com/InsightSoftwareConsortium/ITK/commit/869b22217d)) +- Remove empty ResourceProbe legacy function GetSystemInformation() ([1ee4cd8e63](https://github.com/InsightSoftwareConsortium/ITK/commit/1ee4cd8e63)) +- Use trailing return type instead of `typename` in "*.h" files ([c1628d5ff9](https://github.com/InsightSoftwareConsortium/ITK/commit/c1628d5ff9)) +- More trailing return types for declarations containing "inline" ([b3f74ffbda](https://github.com/InsightSoftwareConsortium/ITK/commit/b3f74ffbda)) +- Use trailing return types in multi-line function declarations ([f7fa2693f6](https://github.com/InsightSoftwareConsortium/ITK/commit/f7fa2693f6)) +- Remove initial `<<` insertion from `itkExceptionMacro(<< "` calls ([89beb0447f](https://github.com/InsightSoftwareConsortium/ITK/commit/89beb0447f)) +- Remove initial `<<` from `itkGenericExceptionMacro(<< "` calls ([1d0d43cc6d](https://github.com/InsightSoftwareConsortium/ITK/commit/1d0d43cc6d)) +- Remove initial `<<` insertion from `itkDebugMacro(<< "` calls ([b52f423117](https://github.com/InsightSoftwareConsortium/ITK/commit/b52f423117)) +- Remove initial `<<` insertion from `itkWarningMacro(<< "` calls ([c6fedbdb9a](https://github.com/InsightSoftwareConsortium/ITK/commit/c6fedbdb9a)) +- Remove initial `<<` from `itkGenericOutputMacro(<< "` calls ([30ef8733c1](https://github.com/InsightSoftwareConsortium/ITK/commit/30ef8733c1)) +- MultiTransform iterate over m_TransformQueue by range-based `for` ([da9ecbb513](https://github.com/InsightSoftwareConsortium/ITK/commit/da9ecbb513)) + + +### Ningfei Li (1): + +#### Platform Fixes + +- Update itkExternal_Eigen3.cmake ([b8c2c94be4](https://github.com/InsightSoftwareConsortium/ITK/commit/b8c2c94be4)) + + +### Noah Egnatis (1): + +#### Platform Fixes + +- gcc-13 compatability ([9a719a0d2f](https://github.com/InsightSoftwareConsortium/ITK/commit/9a719a0d2f)) + + +### Pablo Hernandez-Cerdan (1): + +#### Bug Fixes + +- CMake, Eigen, pass CMAKE_SYSTEM_VERSION to Eigen ([c3bfb987b8](https://github.com/InsightSoftwareConsortium/ITK/commit/c3bfb987b8)) + + +### Patrick Linnane (1): + +#### Documentation Updates + +- add Homebrew instructions ([dbce33bc68](https://github.com/InsightSoftwareConsortium/ITK/commit/dbce33bc68)) + + +### Philip Cook (1): + +#### Documentation Updates + +- Remove outdated comment about sparse sampling ([8d6e787f2d](https://github.com/InsightSoftwareConsortium/ITK/commit/8d6e787f2d)) + + +### Sean McBride (1): + +#### Platform Fixes + +- Get the Utilities/gdcmext folder from GDCM, it's needed to build now ([6adfd15ab9](https://github.com/InsightSoftwareConsortium/ITK/commit/6adfd15ab9)) + + +### Simon Rit (3): + +#### Platform Fixes + +- Remove in-class {} member initializers of unique_ptr ([eac289d252](https://github.com/InsightSoftwareConsortium/ITK/commit/eac289d252)) +- Remove in class init of SmartPointer of forward declaration ([f5f8367875](https://github.com/InsightSoftwareConsortium/ITK/commit/f5f8367875)) + +#### Bug Fixes + +- Add missing Python string prefix in wrapping warning ([e7a9e9a48e](https://github.com/InsightSoftwareConsortium/ITK/commit/e7a9e9a48e)) + + +### Stephen R. Aylward (3): + +#### Enhancements + +- Bump to TubeTKv1.3.4 and MinimalPathExtractionv1.2.4 ([065c5d8539](https://github.com/InsightSoftwareConsortium/ITK/commit/065c5d8539)) +- Bump TubeTK to v1.3.5 and MinimalPathExtraction to v1.2.6 ([fe46f35f00](https://github.com/InsightSoftwareConsortium/ITK/commit/fe46f35f00)) +- Add series_uid arg to imread() for dicom series selection ([9759b63e56](https://github.com/InsightSoftwareConsortium/ITK/commit/9759b63e56)) + + +### Tom Birdsong (2): + +#### Documentation Updates + +- Update remote module docs for git hash instead of tag ([bdbbf82c9a](https://github.com/InsightSoftwareConsortium/ITK/commit/bdbbf82c9a)) + +#### Bug Fixes + +- Use hashes instead of tags for remote modules ([fd386e4c29](https://github.com/InsightSoftwareConsortium/ITK/commit/fd386e4c29)) + + +### VXL Maintainers (3): + +#### Miscellaneous Changes + +- VXL 2022-11-22 (4fd87cd5) ([24cb223828](https://github.com/InsightSoftwareConsortium/ITK/commit/24cb223828)) +- VXL 2022-12-23 (8169cc76) ([5e4d60e58c](https://github.com/InsightSoftwareConsortium/ITK/commit/5e4d60e58c)) +- VXL 2023-04-06 (4cfb87fc) ([37351308a3](https://github.com/InsightSoftwareConsortium/ITK/commit/37351308a3)) + + +### Vaibhaw (1): + +#### Bug Fixes + +- Update UpdateRequiredITKVersionInRemoteModules.sh ([05d3490db4](https://github.com/InsightSoftwareConsortium/ITK/commit/05d3490db4)) + + +### Vladimir S. FONOV (5): + +#### Enhancements + +- Added saving metadata in NRRD file in more data types ([94368f8ce3](https://github.com/InsightSoftwareConsortium/ITK/commit/94368f8ce3)) +- Added permissive mode to NIFTI reader ([5cdf6ee6c9](https://github.com/InsightSoftwareConsortium/ITK/commit/5cdf6ee6c9)) +- Made ITK_NIFTI_IO_SFORM_PERMISSIVE_DEFAULT OFF by default ([629f39c69c](https://github.com/InsightSoftwareConsortium/ITK/commit/629f39c69c)) + +#### Bug Fixes + +- fixed the itkNiftiReadWriteDirectionSmallVoxelTest test ([9c6e5fd4a6](https://github.com/InsightSoftwareConsortium/ITK/commit/9c6e5fd4a6)) +- orthogonalization should be done only on 3x3 submatrix ([815d0f0531](https://github.com/InsightSoftwareConsortium/ITK/commit/815d0f0531)) + + +### Zlib-ng Upstream (2): + +#### Miscellaneous Changes + +- zlib-ng 2023-01-09 (43fd1418) ([e49bab8469](https://github.com/InsightSoftwareConsortium/ITK/commit/e49bab8469)) +- zlib-ng 2023-02-08 (3e75a5c9) ([15cd2ffe33](https://github.com/InsightSoftwareConsortium/ITK/commit/15cd2ffe33)) + + +### huangjxbq (1): + +#### Bug Fixes + +- Error converting from rotation axis and rotation angle to quaternion ([e2f0d9aa6a](https://github.com/InsightSoftwareConsortium/ITK/commit/e2f0d9aa6a)) + + + + +ITK Sphinx Examples Changes Since v5.3.0 +--------------------------------------------- + +### Dženan Zukić (1): + +#### Enhancements + +- Rename CreateAnother into CreateAnotherInstanceOfAFilter ([724543b2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/724543b2)) + + +### Jon Haitz Legarreta Gorroño (4): + +#### Enhancements + +- Transition to `nbmake` to test notebooks ([f898fc5d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/f898fc5d)) +- Fix workflow actions warnings linked to `Node.js` ([67c46c79](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/67c46c79)) +- Bump `actions/upload-artifact` action to v3 ([0d24e60d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0d24e60d)) + +#### Style Changes + +- Capitalize first letter for `Histogram` class name in index ([ccde3363](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/ccde3363)) + + +### Matt McCormick (17): + +#### Enhancements + +- Bump ITK version to 5.3.0 ([4078f3fb](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4078f3fb)) +- Add "Edit this page" links ([875c43bd](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/875c43bd)) +- Add DeformAVolumeWithAThinPlateSpline ([407addb2](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/407addb2)) +- Add Python version of ExtractIsoSurface ([a312fd34](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/a312fd34)) +- Update to ITK 5.4 RC 01 ([0b4ca644](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/0b4ca644)) + +#### Documentation Updates + +- Update README required CMake version ([c46ff9b9](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c46ff9b9)) +- Add GitHub repository icon link ([c7fda565](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c7fda565)) +- Browser-based editing is now available via GitHub ([4b25d62e](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/4b25d62e)) + +#### Platform Fixes + +- Remove Superbuild zlib ([56fcffdf](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/56fcffdf)) +- Enable IPython.sphinxext.ipython_console_highlighting ([a428ef2c](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/a428ef2c)) +- Bump CI images to latest versions ([c0c0fc3d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/c0c0fc3d)) +- Address ITK Windows warnings ([d68014af](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/d68014af)) +- Fix traitlets version to 5.6.0 ([33888c1d](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/33888c1d)) +- Bump minimum CMake version to 3.16.3 ([cc99d7aa](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/cc99d7aa)) +- pandoc version for docs build ([3370d2ae](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/3370d2ae)) + +#### Bug Fixes + +- Bump srvaroa/labeler to v0.9 ([57a8dea5](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/57a8dea5)) +- Download HTML tarballs from GitHub Releases ([ec4ead33](https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/commit/ec4ead33)) + + + + +ITK Software Guide Changes Since v5.3.0 +--------------------------------------------- + +### Dženan Zukić (1): + +#### Documentation Updates + +- Update supported compiler versions to C++17 ([cb8ba6e](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/cb8ba6e)) + + +### Jon Haitz Legarreta Gorroño (9): + +#### Enhancements + +- Update Python version in GitHub Actions to 3.9 ([10275b3](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/10275b3)) +- Fix workflow actions warnings linked to Node.js ([1999983](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/1999983)) +- Bump `actions/upload-artifact` action to v3 ([1cadef0](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/1cadef0)) +- Update GitHub Actions Ubuntu environment version ([013c3b5](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/013c3b5)) + +#### Documentation Updates + +- Avoid documenting ivar default values ([6a2861a](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/6a2861a)) +- Avoid using initialization lists in coding style snippets ([35a15c2](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/35a15c2)) +- Use non-boolean, built-in type ivars to illustrate `PrintSelf` ([8f61111](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/8f61111)) +- Do not encourage using empty comment lines ([278366c](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/278366c)) + +#### Style Changes + +- Finish coding style guideline item sentence with period ([14aee41](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/14aee41)) + + +### Matt McCormick (2): + +#### Enhancements + +- Bump ITK to 5.3.0 ([83a3e23](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/83a3e23)) +- Bump ITK Superbuild version to 5.4 RC 1 ([381c84c](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/381c84c)) + + +### Niels Dekker (4): + +#### Documentation Updates + +- Remove mistaken exception to data member initialization guideline ([6525a5c](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/6525a5c)) +- Adjust initialization rule for padding data, smart pointers, etc. ([6d5f5b5](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/6d5f5b5)) +- Do not require using NumericTraits, replace ZeroValue() with `{}` ([b5410c5](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/b5410c5)) +- Add "Integer Type Specifiers" section ([612adf5](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/commit/612adf5)) + + + + +Remote Module Changes Since v5.3.0 +--------------------------------------------- + +## BSplineGradient: +### Tom Birdsong (6): + +#### Enhancements + +- Bump to ITK v5.3rc04.post3 ([16c1cc7](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/16c1cc7)) +- Bump ITK workflow for v5.3rc04.post4 ([1bff249](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/1bff249)) +- Bump ITK to v5.3 ([9281af8](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/9281af8)) +- Use ITK reusable CI workflow ([5bd41c5](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/5bd41c5)) + +#### Bug Fixes + +- Do not fail CI if archive is already removed ([bbf518e](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/bbf518e)) + +#### Miscellaneous Changes + +- Bump ITKBSplineGradient to 0.2.10 ([3577ec7](https://github.com/InsightSoftwareConsortium/ITKBSplineGradient/commit/3577ec7)) + + + +## BoneMorphometry: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI, package for ITK 5.3.0 ([cb826f5](https://github.com/InsightSoftwareConsortium/ITKBoneMorphometry/commit/cb826f5)) + + + +## Cleaver: +### Jean-Christophe Fillion-Robin (8): + +#### Enhancements + +- Update references to Cleaver repository to account for project rename ([ac2827b](https://github.com/SCIInstitute/ITKCleaver/commit/ac2827b)) +- Download Cleaver source from upstream repository instead of a fork ([767985f](https://github.com/SCIInstitute/ITKCleaver/commit/767985f)) +- Avoid triggering GitHub Actions workflow on both upstream and fork ([dd988f6](https://github.com/SCIInstitute/ITKCleaver/commit/dd988f6)) +- Bump Cleaver version to integrate build-system updates ([c5ed2c4](https://github.com/SCIInstitute/ITKCleaver/commit/c5ed2c4)) + +#### Documentation Updates + +- Fix license referenced in setup.py ([9cc174d](https://github.com/SCIInstitute/ITKCleaver/commit/9cc174d)) +- Tweak list of classifiers associated with the package ([56f8592](https://github.com/SCIInstitute/ITKCleaver/commit/56f8592)) + +#### Platform Fixes + +- Pin GitHub actions to full length commit SHA ([44ba697](https://github.com/SCIInstitute/ITKCleaver/commit/44ba697)) +- Add Dependabot workflow to update GitHub Actions ([5e844c2](https://github.com/SCIInstitute/ITKCleaver/commit/5e844c2)) + + +### Matt McCormick (26): + +#### Enhancements + +- Update for ITK 5.3.0 ([c1f76a0](https://github.com/SCIInstitute/ITKCleaver/commit/c1f76a0)) +- Generate Linux ARM wheels ([fc650e6](https://github.com/SCIInstitute/ITKCleaver/commit/fc650e6)) +- Add Emscripten Wasm build configuration ([f0d18e3](https://github.com/SCIInstitute/ITKCleaver/commit/f0d18e3)) +- Add WebAssembly CI build ([336b154](https://github.com/SCIInstitute/ITKCleaver/commit/336b154)) +- Add wasi build target ([9abbd0e](https://github.com/SCIInstitute/ITKCleaver/commit/9abbd0e)) +- Bump itk-wasm version to 1.0.0-b.84 ([a915fac](https://github.com/SCIInstitute/ITKCleaver/commit/a915fac)) +- Update JS package name to @itk-wasm/cleaver ([56c1be5](https://github.com/SCIInstitute/ITKCleaver/commit/56c1be5)) +- Bump itk-wasm to 1.0.0-b.85 ([5b251c8](https://github.com/SCIInstitute/ITKCleaver/commit/5b251c8)) +- Add TypeScript build to CI ([5b494ed](https://github.com/SCIInstitute/ITKCleaver/commit/5b494ed)) +- Add TypeScript sources ([e08e0a2](https://github.com/SCIInstitute/ITKCleaver/commit/e08e0a2)) +- Add wasi debug build script target ([ff2a6ac](https://github.com/SCIInstitute/ITKCleaver/commit/ff2a6ac)) +- Add WASI CTest configuration ([f9b1049](https://github.com/SCIInstitute/ITKCleaver/commit/f9b1049)) +- Test Emscripten Node.js function ([a2c6773](https://github.com/SCIInstitute/ITKCleaver/commit/a2c6773)) +- Add initial wasm browser testing ([d67b0d6](https://github.com/SCIInstitute/ITKCleaver/commit/d67b0d6)) +- Test TypeScript bindings generation ([cb2c6c2](https://github.com/SCIInstitute/ITKCleaver/commit/cb2c6c2)) + +#### Documentation Updates + +- Add wasm CI badge ([3af57cf](https://github.com/SCIInstitute/ITKCleaver/commit/3af57cf)) +- Add NPM badge ([1d050de](https://github.com/SCIInstitute/ITKCleaver/commit/1d050de)) + +#### Platform Fixes + +- Fix wasm CLI testing enablement ([895a8c3](https://github.com/SCIInstitute/ITKCleaver/commit/895a8c3)) +- Export and link to cleaver's jsoncpp ([1584960](https://github.com/SCIInstitute/ITKCleaver/commit/1584960)) +- Do not force enable BUILD_TESTING with WASI ([55a27bf](https://github.com/SCIInstitute/ITKCleaver/commit/55a27bf)) + +#### Bug Fixes + +- Fix wasm CI yaml name ([713c9d7](https://github.com/SCIInstitute/ITKCleaver/commit/713c9d7)) +- Fix input option identifier ([ff7099d](https://github.com/SCIInstitute/ITKCleaver/commit/ff7099d)) +- Add image and mesh type names to wasm pipeline ([f9ba30b](https://github.com/SCIInstitute/ITKCleaver/commit/f9ba30b)) +- Output triangle mesh should be a positional output ([46d152c](https://github.com/SCIInstitute/ITKCleaver/commit/46d152c)) +- Set BUILD_TESTING on CMake CACHE ([ae88148](https://github.com/SCIInstitute/ITKCleaver/commit/ae88148)) + +#### Miscellaneous Changes + +- build(WASI): Fix WASI build / execution ([0b9cbfc](https://github.com/SCIInstitute/ITKCleaver/commit/0b9cbfc)) + + +### dependabot[bot] (5): + +#### Platform Fixes + +- Bump actions/checkout from 1.2.0 to 3.4.0 ([739160b](https://github.com/SCIInstitute/ITKCleaver/commit/739160b)) +- Bump InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction ([0f0e2f9](https://github.com/SCIInstitute/ITKCleaver/commit/0f0e2f9)) +- Bump actions/checkout from 3.4.0 to 3.5.0 ([ae3a644](https://github.com/SCIInstitute/ITKCleaver/commit/ae3a644)) +- Bump actions/upload-artifact from 2 to 3 ([a45f652](https://github.com/SCIInstitute/ITKCleaver/commit/a45f652)) +- Bump actions/checkout from 3.5.0 to 3.5.2 ([c0d7137](https://github.com/SCIInstitute/ITKCleaver/commit/c0d7137)) + + + +## Cuberille: +### Pranjal Sahu (2): + +#### Enhancements + +- Bump ITK to make Python packages compatible ([3b4cd1e](https://github.com/InsightSoftwareConsortium/ITKCuberille/commit/3b4cd1e)) + +#### Miscellaneous Changes + +- Update package version to 2.6.0 ([859d3c4](https://github.com/InsightSoftwareConsortium/ITKCuberille/commit/859d3c4)) + + + +## CudaCommon: +### Simon Rit (10): + +#### Enhancements + +- Upgrade GitHub actions following ITKRemoteModuleBuildTestPackageAction ([f08c035](https://github.com/RTKConsortium/ITKCudaCommon/commit/f08c035)) +- Use cmake-options variable in GitHub action for Python packaging ([7763f2c](https://github.com/RTKConsortium/ITKCudaCommon/commit/7763f2c)) + +#### Documentation Updates + +- Changed radART to medPhoton in RTK consortium ([87c2643](https://github.com/RTKConsortium/ITKCudaCommon/commit/87c2643)) +- Change mailing list links to CREATIS website ([e5dba4a](https://github.com/RTKConsortium/ITKCudaCommon/commit/e5dba4a)) + +#### Platform Fixes + +- Set CMP0135 to remove DOWNLOAD_EXTRACT_TIMESTAMP config warning ([82ce410](https://github.com/RTKConsortium/ITKCudaCommon/commit/82ce410)) +- Fix unsigned int warning on image dimension ([319222c](https://github.com/RTKConsortium/ITKCudaCommon/commit/319222c)) +- Add missing ITK config include for external compilation ([36ea588](https://github.com/RTKConsortium/ITKCudaCommon/commit/36ea588)) +- Fix unused parameters argc / argv warnings ([cc77281](https://github.com/RTKConsortium/ITKCudaCommon/commit/cc77281)) + +#### Bug Fixes + +- Fix typo in wheel name ([5cb1187](https://github.com/RTKConsortium/ITKCudaCommon/commit/5cb1187)) +- Remove CUDA libraries from the CI generated Python packages ([cefcfbb](https://github.com/RTKConsortium/ITKCudaCommon/commit/cefcfbb)) + + + +## FPFH: +### Pranjal Sahu (6): + +#### Miscellaneous Changes + +- Update description in setup.py ([4c58393](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/4c58393)) +- Update github link in setup.py ([6c14c8d](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/6c14c8d)) +- Update the actions URL in setup.py ([7889e74](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/7889e74)) +- WIP: Removing not required dependencies ([f7bebe4](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/f7bebe4)) +- Update ITK tag to 5.3 ([b0d5a70](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/b0d5a70)) +- Bump tag to 0.1.1 ([b89bd09](https://github.com/InsightSoftwareConsortium/ITKFPFH/commit/b89bd09)) + + + +## GenericLabelInterpolator: +### Matt McCormick (3): + +#### Enhancements + +- Update CI configuration ([28398f8](https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/commit/28398f8)) +- Bump Python package version, dependency ([411d3b1](https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/commit/411d3b1)) +- Bump CI itk-git-tag to be closer to itk-wheel-tag ([f4de9ec](https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/commit/f4de9ec)) + + +### Tom Birdsong (1): + +#### Enhancements + +- Bump CI workflow to ITK v5.3.0 ([a4383b2](https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/commit/a4383b2)) + + + +## HASI: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for reusable workflow, ITK 5.3.0 ([65ec726](https://github.com/KitwareMedical/HASI/commit/65ec726)) + + +### Paul Elliott (36): + +#### Enhancements + +- add Vite and Lit frontend ([621287b](https://github.com/KitwareMedical/HASI/commit/621287b)) +- add some nav buttons and router ([bd824b6](https://github.com/KitwareMedical/HASI/commit/bd824b6)) +- router points to stub page components ([4eea911](https://github.com/KitwareMedical/HASI/commit/4eea911)) +- toggle nav sidebar with button ([0b79596](https://github.com/KitwareMedical/HASI/commit/0b79596)) +- add biomarker-picker ([04ac055](https://github.com/KitwareMedical/HASI/commit/04ac055)) +- add table ([a9dd01f](https://github.com/KitwareMedical/HASI/commit/a9dd01f)) +- add xstate machine ([e12f8c9](https://github.com/KitwareMedical/HASI/commit/e12f8c9)) +- set PlotParameters on machine context with types ([7a4453c](https://github.com/KitwareMedical/HASI/commit/7a4453c)) +- click grid row to select scan ([fc728f2](https://github.com/KitwareMedical/HASI/commit/fc728f2)) +- row cell color changes on selecting scan ([e94335b](https://github.com/KitwareMedical/HASI/commit/e94335b)) +- checkbox for row header, smaller width ([2600501](https://github.com/KitwareMedical/HASI/commit/2600501)) +- add scan-views, connect to selectedScans ([33b9896](https://github.com/KitwareMedical/HASI/commit/33b9896)) +- add SelectController for xstate ([d996faf](https://github.com/KitwareMedical/HASI/commit/d996faf)) +- refactor SelectController to SelectState ([c7e4b27](https://github.com/KitwareMedical/HASI/commit/c7e4b27)) +- can add and remove feature views ([322fcb5](https://github.com/KitwareMedical/HASI/commit/322fcb5)) +- add scan selection model ([a426584](https://github.com/KitwareMedical/HASI/commit/a426584)) +- color whole selected row ([308b6ef](https://github.com/KitwareMedical/HASI/commit/308b6ef)) +- rename ScanSelections, use color in feature view ([18efa93](https://github.com/KitwareMedical/HASI/commit/18efa93)) +- add focus row button to scan views ([3a6d25b](https://github.com/KitwareMedical/HASI/commit/3a6d25b)) +- add 3 sections of shoelace details on population ([e993d5c](https://github.com/KitwareMedical/HASI/commit/e993d5c)) +- style accordion headers, min height to sections ([8d8fac8](https://github.com/KitwareMedical/HASI/commit/8d8fac8)) +- styled navbar ([31b9cb3](https://github.com/KitwareMedical/HASI/commit/31b9cb3)) +- add chart placeholder images ([55a4781](https://github.com/KitwareMedical/HASI/commit/55a4781)) +- add feature view image placeholder ([3d5a112](https://github.com/KitwareMedical/HASI/commit/3d5a112)) +- add accordion layout component ([c90755e](https://github.com/KitwareMedical/HASI/commit/c90755e)) +- add upload scans component ([86e3180](https://github.com/KitwareMedical/HASI/commit/86e3180)) +- add upload process flow via button ([3b0001a](https://github.com/KitwareMedical/HASI/commit/3b0001a)) +- add upload progress component: ([8169f38](https://github.com/KitwareMedical/HASI/commit/8169f38)) + +#### Platform Fixes + +- build as website ([62edf44](https://github.com/KitwareMedical/HASI/commit/62edf44)) + +#### Bug Fixes + +- use keys for feature views for dom stability ([9172eee](https://github.com/KitwareMedical/HASI/commit/9172eee)) +- fix repeated clicks of focus scan ID button ([904f7af](https://github.com/KitwareMedical/HASI/commit/904f7af)) + +#### Style Changes + +- use single quotes ([def2ee6](https://github.com/KitwareMedical/HASI/commit/def2ee6)) + +#### Miscellaneous Changes + +- fix: router works in Firefox and full page row clickable ([72009be](https://github.com/KitwareMedical/HASI/commit/72009be)) +- FIX: remove top level await ([c6771dc](https://github.com/KitwareMedical/HASI/commit/c6771dc)) +- FIX: update DataGrid on menu close ([cd6841e](https://github.com/KitwareMedical/HASI/commit/cd6841e)) +- WIP ENH: stash machine state on url ([329f860](https://github.com/KitwareMedical/HASI/commit/329f860)) + + +### Tom Birdsong (1): + +#### Platform Fixes + +- Build ITK module dependencies in CI reusable workflow ([5ee74fd](https://github.com/KitwareMedical/HASI/commit/5ee74fd)) + + + +## HigherOrderAccurateGradient: +### Jon Haitz Legarreta Gorroño (1): + +#### Documentation Updates + +- Fix module description ([31e65e4](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/31e65e4)) + + +### Tom Birdsong (3): + +#### Enhancements + +- Bump ITK to v5.3rc04.post3 and reference ITK CI workflow ([449f2b1](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/449f2b1)) +- Bump ITK workflow to v5.3rc04.post4 ([6298ae1](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/6298ae1)) +- Bump for ITK v5.3 ([b524294](https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient/commit/b524294)) + + + +## IOMeshSTL: +### Jon Haitz Legarreta Gorroño (2): + +#### Enhancements + +- Update linter checkout action to v3 ([7779c09](https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL/commit/7779c09)) + +#### Platform Fixes + +- Match CMake minimum required version to ITK's ([0fdd038](https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL/commit/0fdd038)) + + +### Matt McCormick (1): + +#### Enhancements + +- Bump CI for ITK 5.3.0 ([cbe9793](https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL/commit/cbe9793)) + + + +## IOMeshSWC: +### Matt McCormick (1): + +#### Enhancements + +- Update CI configuration for ITK 5.3.0 ([103e3c4](https://github.com/InsightSoftwareConsortium/ITKIOMeshSWC/commit/103e3c4)) + + + +## IOScanco: +### Matt McCormick (7): + +#### Enhancements + +- Update CI / packaging for ITK 5.3.0 ([18e17a2](https://github.com/KitwareMedical/ITKIOScanco/commit/18e17a2)) +- Bump Notebook Actions runner to ubuntu-22.04 ([e67f066](https://github.com/KitwareMedical/ITKIOScanco/commit/e67f066)) +- Update Notebook CI configuration ([fe56af4](https://github.com/KitwareMedical/ITKIOScanco/commit/fe56af4)) + +#### Documentation Updates + +- Add notebook tests CI badge ([32700b2](https://github.com/KitwareMedical/ITKIOScanco/commit/32700b2)) +- Update notebooks for new api, itkwidgets 1.0, pooch ([8a67a3b](https://github.com/KitwareMedical/ITKIOScanco/commit/8a67a3b)) + +#### Platform Fixes + +- Use Python version for notebook tests ([92c567a](https://github.com/KitwareMedical/ITKIOScanco/commit/92c567a)) +- Bump itk-ioscanco Notebook CI required version to 0.10.0 ([fdd18cc](https://github.com/KitwareMedical/ITKIOScanco/commit/fdd18cc)) + + +### Michael Kuczynski (4): + +#### Enhancements + +- Adding get/set functions for missing header parameters ([2d22baa](https://github.com/KitwareMedical/ITKIOScanco/commit/2d22baa)) + +#### Miscellaneous Changes + +- Updated tests for new get/set functions ([ce0727a](https://github.com/KitwareMedical/ITKIOScanco/commit/ce0727a)) +- Updated formatting ([c468eba](https://github.com/KitwareMedical/ITKIOScanco/commit/c468eba)) +- Updating format as line length was less than limit ([bc0d40a](https://github.com/KitwareMedical/ITKIOScanco/commit/bc0d40a)) + + + +## LabelErodeDilate: +### Bryn Lloyd (1): + +#### Enhancements + +- update to ITK 5.3.0 (#38) ([7e23b12](https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate/commit/7e23b12)) + + + +## MeshToPolyData: +### Matt McCormick (11): + +#### Enhancements + +- Bump CI itk-git-tag to v5.3rc04 ([12d3c3d](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/12d3c3d)) +- Bump Python package version to 0.9.0 ([f26b80c](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/f26b80c)) +- Bump itk-wasm to 1.0.0-b.71 ([a77ed2e](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/a77ed2e)) +- Move wasm/ to top level ([4c3df79](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/4c3df79)) +- Add .gitignore for wasm artifacts ([3b53d80](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/3b53d80)) +- Bump itk-wasm to 1.0.0-b.73 ([0b98db4](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/0b98db4)) +- Add wasi build step ([6af3e34](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/6af3e34)) +- Build wasi in build script ([6972bd9](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/6972bd9)) +- Add Wasm GitHub Action ([3b6d67e](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/3b6d67e)) + +#### Bug Fixes + +- Build-test-package: resolve merge conflicts ([2558bd4](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/2558bd4)) + +#### Style Changes + +- Rename mesh-to-polydata to mesh-to-poly-data ([58730f9](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/58730f9)) + + +### Paul Elliott (1): + +#### Enhancements + +- Add package with itk-wasm build ([c183978](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/c183978)) + + +### Pranjal Sahu (3): + +#### Enhancements + +- Adding changes for itk::PolyLineCell ([5586157](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/5586157)) +- Adding test for itk::PolyLineCell ([d56e249](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/d56e249)) +- Adding Python test for itk::PolyLineCell conversion ([374bea6](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/374bea6)) + + +### Tom Birdsong (6): + +#### Enhancements + +- Bump for ITK v5.3rc04.post3 ([a5f1897](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/a5f1897)) +- Bump ITK workflow to v5.3rc04.post4 ([d46d656](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/d46d656)) +- Bump for ITK v5.3 ([3ad8f08](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/3ad8f08)) +- Bump CI workflow for ARM builds and wheel validation ([496096f](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/496096f)) +- Enable notebook CI check ([e597c84](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/e597c84)) + +#### Bug Fixes + +- Example notebook fixups ([f963101](https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData/commit/f963101)) + + + +## MinimalPathExtraction: +### Dženan Zukić (1): + +#### Platform Fixes + +- Fix discarding return value warning introduced by ITK 5.4 ([35dd8e8](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/35dd8e8)) + + +### Matt McCormick (1): + +#### Enhancements + +- Bump Python package version to 1.2.6 ([592d965](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/592d965)) + + +### Stephen R. Aylward (3): + +#### Enhancements + +- Bump CI and setup to ITKv5.3.0 (#96) ([458796e](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/458796e)) +- Release 1.2.4 with ITK v5.3.0 support ([71813fa](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/71813fa)) +- Update python builds to 1.2.5 ([426576c](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/426576c)) + + +### Tom Birdsong (1): + +#### Enhancements + +- Use ITK reusable CI workflow ([bd45bf0](https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction/commit/bd45bf0)) + + + +## Montage: +### Dženan Zukić (8): + +#### Enhancements + +- Require less components to be built for examples ([76b2286](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/76b2286)) + +#### Platform Fixes + +- Fix compile error of MontageImageCompareCommand ([da7649e](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/da7649e)) +- Fix discarding return value warning introduced by ITK 5.4 ([d8c9a3f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/d8c9a3f)) +- Update minimum CMake version from 3.10.2 to 3.16.3 ([2789c34](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/2789c34)) + +#### Bug Fixes + +- erase confidence together with the translation candidate ([4f501a8](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/4f501a8)) +- Avoid appearance of NaN values ([b7ab26a](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/b7ab26a)) + +#### Style Changes + +- Replace SFINAE selection by constexpr if ([33b6b74](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/33b6b74)) +- Use trailing return type instead of typename + dependent type ([b91741f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/b91741f)) + + +### Matt McCormick (2): + +#### Enhancements + +- Bump Python package version to 0.8.1 ([d7f849f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/d7f849f)) + +#### Bug Fixes + +- Do not wrap duplicate complex double dependencies ([ce1c9f0](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/ce1c9f0)) + + +### Tom Birdsong (4): + +#### Enhancements + +- Bump for ITK v5.3 ([fc64c6f](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/fc64c6f)) +- Port montage notebook example ([7015e4a](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/7015e4a)) +- Add CI notebook testing ([777a669](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/777a669)) + +#### Bug Fixes + +- Update `TileMergeImageFilter` signature in example script ([bfe0cac](https://github.com/InsightSoftwareConsortium/ITKMontage/commit/bfe0cac)) + + + +## MorphologicalContourInterpolation: +### Dženan Zukić (2): + +#### Enhancements + +- Remove test parallelism to prevent non-deterministic test failures ([a31fbf7](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/a31fbf7)) + +#### Style Changes + +- Use trailing return type instead of typename + dependent type ([0a057d7](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/0a057d7)) + + +### Tom Birdsong (1): + +#### Enhancements + +- Bump to ITK v5.3.0 ([ac69d71](https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation/commit/ac69d71)) + + + +## ParabolicMorphology: +### Matt McCormick (8): + +#### Enhancements + +- Update to ITK 5.3.0 ([45eff88](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/45eff88)) +- Add notebook testing CI configuration ([2c3b2ea](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/2c3b2ea)) +- Update to consolidated notebook testing configuration ([847e1ec](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/847e1ec)) + +#### Documentation Updates + +- Update notebook to use itkwidgets 1.X, pooch ([bae9eb6](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/bae9eb6)) +- Add distance map example ([34da76a](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/34da76a)) +- Update notebook screenshots ([cd2b6c4](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/cd2b6c4)) + +#### Platform Fixes + +- Update build-test-package GitHub Action ([32c7ca7](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/32c7ca7)) + +#### Bug Fixes + +- Distance filters should only be wrapped for real outputs ([c9516f8](https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology/commit/c9516f8)) + + + +## RANSAC: +### Matt McCormick (1): + +#### Documentation Updates + +- Add Python installation, IJ link ([e3ce1ff](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/e3ce1ff)) + + +### Pranjal Sahu (13): + +#### Miscellaneous Changes + +- Update URL and description in setup.py ([b1c5e66](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/b1c5e66)) +- Update Badge URLs in README ([2886c2b](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/2886c2b)) +- Update ITK tag to 5.3 ([198f5e9](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/198f5e9)) +- Bump tag to 0.1.1 ([6b0417d](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/6b0417d)) +- Remove itkPoint dimension 6 wrapping ([23cf7a3](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/23cf7a3)) +- Add support for VersorRigid3D Transform ([acccf2c](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/acccf2c)) +- Update Tag to 0.1.2 ([20b38a6](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/20b38a6)) +- Add early prune check for transformed feature points ([58aebfd](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/58aebfd)) +- Check for RMSE when inlier count is same ([07d57c5](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/07d57c5)) +- Add Set/Get for additional corresspondence checks ([f6b16a2](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/f6b16a2)) +- Upgrade Version to 0.1.3 with additional checks ([4259b25](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/4259b25)) +- Change delta to Euclidean distance ([04db366](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/04db366)) +- Upgrade ITKRANSAC to 0.1.4 ([5d6bdf7](https://github.com/InsightSoftwareConsortium/ITKRANSAC/commit/5d6bdf7)) + + + +## RLEImage: +### Dženan Zukić (1): + +#### Style Changes + +- Use trailing return type instead of typename + dependent type ([901e40f](https://github.com/KitwareMedical/ITKRLEImage/commit/901e40f)) + + +### Tom Birdsong (3): + +#### Enhancements + +- Bump to ITK v5.3.0 ([fe2bb30](https://github.com/KitwareMedical/ITKRLEImage/commit/fe2bb30)) + +#### Platform Fixes + +- Remove Python CI workflow ([070fef6](https://github.com/KitwareMedical/ITKRLEImage/commit/070fef6)) + +#### Bug Fixes + +- Remove Linux notebook check from CI ([310b579](https://github.com/KitwareMedical/ITKRLEImage/commit/310b579)) + + + +## RTK: +### Antoine Robert (2): + +#### Enhancements + +- Change default value of OSEM regularization to O ([5f01b347](https://github.com/RTKConsortium/RTK/commit/5f01b347)) + +#### Bug Fixes + +- Fix OSEM image quality test ([c92dde36](https://github.com/RTKConsortium/RTK/commit/c92dde36)) + + +### LAURENDEAU Matthieu (2): + +#### Enhancements + +- Add MaskCollimationImageFilter Python wrapping ([c6fa8732](https://github.com/RTKConsortium/RTK/commit/c6fa8732)) +- Add option to set the rotation axis in MaskCollimationImageFilter ([688e9ab8](https://github.com/RTKConsortium/RTK/commit/688e9ab8)) + + +### Shengpeng YU (1): + +#### Bug Fixes + +- Fix CUDA/CPU inconsistency in DisplacedDetectorImageFilter ([e8299590](https://github.com/RTKConsortium/RTK/commit/e8299590)) + + +### Simon Rit (30): + +#### Enhancements + +- Bump for ITK v5.3 release ([c87911c4](https://github.com/RTKConsortium/RTK/commit/c87911c4)) +- Reduce downloads in self-hosted Github runners ([038ad5d4](https://github.com/RTKConsortium/RTK/commit/038ad5d4)) +- Upgrade GitHub actions to checkout@v3 ([a924bb73](https://github.com/RTKConsortium/RTK/commit/a924bb73)) +- Update for ITKPythonPackage script updates ([b3145e37](https://github.com/RTKConsortium/RTK/commit/b3145e37)) +- Account for yaw rotation in ImagingRing geometry ([c7206715](https://github.com/RTKConsortium/RTK/commit/c7206715)) +- Add OptiTrack option to Ora geometry ([ab572956](https://github.com/RTKConsortium/RTK/commit/ab572956)) +- Add warning when Ora projection is not valid ([36982471](https://github.com/RTKConsortium/RTK/commit/36982471)) +- Add tests for yaw and optitrack information in ImagingRing files ([40a2fc61](https://github.com/RTKConsortium/RTK/commit/40a2fc61)) +- Make tolerances on angle verification parametrizable ([fac3f646](https://github.com/RTKConsortium/RTK/commit/fac3f646)) +- Allow more than one projection in Weidinger's spectrum ([4707a3ce](https://github.com/RTKConsortium/RTK/commit/4707a3ce)) +- Allow one step reconstruction with fast switching ([a1d91c41](https://github.com/RTKConsortium/RTK/commit/a1d91c41)) +- Use ITKRemoteModuleBuildTestPackageAction and separate CUDA actions ([bcce053e](https://github.com/RTKConsortium/RTK/commit/bcce053e)) +- Split MacOS Python package jobs in GitHub actions ([15e1aa85](https://github.com/RTKConsortium/RTK/commit/15e1aa85)) +- Do not build C++ applications when generating Python packages ([d9724b45](https://github.com/RTKConsortium/RTK/commit/d9724b45)) +- Remove ITKCudaCommon from the source tree ([138474a8](https://github.com/RTKConsortium/RTK/commit/138474a8)) +- Add CudaCommon dependency to Cuda wheels ([9bc33997](https://github.com/RTKConsortium/RTK/commit/9bc33997)) +- Import Cuda bin directory in the Windows environment for Cuda DLLs ([abe956fb](https://github.com/RTKConsortium/RTK/commit/abe956fb)) + +#### Documentation Updates + +- Fix digraph for projection weights ([2c35fdf4](https://github.com/RTKConsortium/RTK/commit/2c35fdf4)) +- Change mailing list links to CREATIS website ([23cb5598](https://github.com/RTKConsortium/RTK/commit/23cb5598)) + +#### Platform Fixes + +- Fix unused variables and sign warnings in Ora geometry ([f26e5cf8](https://github.com/RTKConsortium/RTK/commit/f26e5cf8)) +- Set CMake Policy 135 to NEW to suppress warnings in CMake 3.24 ([93bcf263](https://github.com/RTKConsortium/RTK/commit/93bcf263)) +- Upgrade GitHub remote action to avoid MacOS warnings ([dd49c2f4](https://github.com/RTKConsortium/RTK/commit/dd49c2f4)) +- Remove warnings due to re-use of Python wrapping names ([b357c903](https://github.com/RTKConsortium/RTK/commit/b357c903)) +- Remove wrapping warning due to unwrapped geometry class ([e7de14d6](https://github.com/RTKConsortium/RTK/commit/e7de14d6)) +- Fix [[nodiscard]] warnings of Image "Transform" member functions ([37b2cee7](https://github.com/RTKConsortium/RTK/commit/37b2cee7)) +- Fix Cuda [[nodiscard]] warnings of Image "Transform" functions ([ab08d7a6](https://github.com/RTKConsortium/RTK/commit/ab08d7a6)) + +#### Bug Fixes + +- Fix ITKPythonPackage git tag in Python CUDA action ([02005d75](https://github.com/RTKConsortium/RTK/commit/02005d75)) + +#### Style Changes + +- Rename non-templated types from T* to *Type ([c4882b88](https://github.com/RTKConsortium/RTK/commit/c4882b88)) +- Rename template parameter values ([e1484a09](https://github.com/RTKConsortium/RTK/commit/e1484a09)) +- Remove traces of CG cost function calculation ([a7e0f2df](https://github.com/RTKConsortium/RTK/commit/a7e0f2df)) + + + +## Shape: +### Matt McCormick (1): + +#### Enhancements + +- Bump CI and Python package for ITK 5.3.0 ([0c8b94e](https://github.com/SlicerSALT/ITKShape/commit/0c8b94e)) + + +### Tom Birdsong (1): + +#### Enhancements + +- Bump ITK to v5.3rc04.post3 with reusable workflow ([a9ba859](https://github.com/SlicerSALT/ITKShape/commit/a9ba859)) + + + +## SimpleITKFilters: +### Bradley Lowekamp (3): + +#### Miscellaneous Changes + +- Update GHA from template for ITK 5.3.0 ([04c3f48](https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters/commit/04c3f48)) +- Wrap DICOMOrientation ([0557b25](https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters/commit/0557b25)) +- Update to version 1.0 ([9926e46](https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters/commit/9926e46)) + + + +## SplitComponents: +### Tom Birdsong (16): + +#### Enhancements + +- Update Linux CI OS version ([6173045](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/6173045)) +- Replace cxx CI steps with composite action ([a715438](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/a715438)) +- Update macos version in CI ([430301b](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/430301b)) +- Bump to ITK v5.3rc04.post3 ([f37cc13](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/f37cc13)) +- Update tarball list for Python CI ([4ab0a64](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/4ab0a64)) +- Use reusable ITK CI workflow ([869eceb](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/869eceb)) +- Bump ITK workflows to v5.3rc04.post4 ([58428c5](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/58428c5)) +- Bump for v5.3 release ([ac1b3da](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/ac1b3da)) +- Apply ITK CI workflow updates ([ef7a950](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/ef7a950)) +- Bump ITKPythonPackage tag ([e126069](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/e126069)) +- Build only required ITK modules for testing ([0e6214b](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/0e6214b)) +- Add CI Linux ARM build and notebook checks ([9d1565d](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/9d1565d)) +- Bump reusable workflow for wheel validation ([343a9ef](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/343a9ef)) + +#### Bug Fixes + +- Update example notebook from python2 to python3 kernel ([67237cd](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/67237cd)) +- Address Python notebook test failures ([04710af](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/04710af)) +- Resolve CMP135 Warning ([981b099](https://github.com/InsightSoftwareConsortium/ITKSplitComponents/commit/981b099)) + + + +## Strain: +### Tom Birdsong (3): + +#### Enhancements + +- Bump ITK to v5.3rc04.post3 ([59cb2b4](https://github.com/KitwareMedical/ITKStrain/commit/59cb2b4)) +- Bump for ITK v5.3rc04.post4 ([d6af2c5](https://github.com/KitwareMedical/ITKStrain/commit/d6af2c5)) +- Bump for ITK v5.3 ([8666068](https://github.com/KitwareMedical/ITKStrain/commit/8666068)) + + + +## TextureFeatures: +### Jon Haitz Legarreta Gorroño (1): + +#### Platform Fixes + +- Match CMake minimum required version to ITK's ([867bbc6](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures/commit/867bbc6)) + + +### Matt McCormick (2): + +#### Enhancements + +- Update CI configuration to 5.3.0 latest ([e20b8f0](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures/commit/e20b8f0)) +- Bump Python package version to 3.6.0 ([d3e5d1c](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures/commit/d3e5d1c)) + + +### Pranjal Sahu (1): + +#### Enhancements + +- Remove unused FixedArray wrapping ([0823b10](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures/commit/0823b10)) + + +### Tom Birdsong (1): + +#### Enhancements + +- Bump to ITK v5.3rc04.post3 with reusable workflow ([015ff58](https://github.com/InsightSoftwareConsortium/ITKTextureFeatures/commit/015ff58)) + + + +## Thickness3D: +### Matt McCormick (1): + +#### Enhancements + +- Update CI for ITK 5.3.0 ([944886a](https://github.com/InsightSoftwareConsortium/ITKThickness3D/commit/944886a)) + + + +## Ultrasound: +### Dženan Zukić (10): + +#### Enhancements + +- Add BackscatterImageFilter with Python wrapping ([d8e02b2](https://github.com/KitwareMedical/ITKUltrasound/commit/d8e02b2)) +- Use tighter tolerances for C++ attenuation tests ([b8c81da](https://github.com/KitwareMedical/ITKUltrasound/commit/b8c81da)) +- Make the output mask of AttenuationImageFilter a normal output ([39fd2d5](https://github.com/KitwareMedical/ITKUltrasound/commit/39fd2d5)) +- Add a Python test for AttenuationImageFilter ([b5ecbc5](https://github.com/KitwareMedical/ITKUltrasound/commit/b5ecbc5)) +- Wrap ResampleFilter for 3D CurvilinearArraySpecialCoordinatesImage ([cff669e](https://github.com/KitwareMedical/ITKUltrasound/commit/cff669e)) +- Add quantitative regression test for Python curvilinear resampling ([86aff35](https://github.com/KitwareMedical/ITKUltrasound/commit/86aff35)) + +#### Platform Fixes + +- Use more performant variants of transform physical point methods ([aeb838b](https://github.com/KitwareMedical/ITKUltrasound/commit/aeb838b)) + +#### Style Changes + +- make the Python test documentation more consistent ([07f3e41](https://github.com/KitwareMedical/ITKUltrasound/commit/07f3e41)) +- Baseline image is the first parameter in regression comparison ([43b5123](https://github.com/KitwareMedical/ITKUltrasound/commit/43b5123)) +- Use ITK_DISALLOW_COPY_AND_MOVE instead deleted private members ([9acfc48](https://github.com/KitwareMedical/ITKUltrasound/commit/9acfc48)) + + +### Tom Birdsong (9): + +#### Enhancements + +- Bump ITK to v5.3rc04.post3 ([269d8cc](https://github.com/KitwareMedical/ITKUltrasound/commit/269d8cc)) +- Bump version to 0.5.9 ([13d57e2](https://github.com/KitwareMedical/ITKUltrasound/commit/13d57e2)) +- Bump for ITK v5.3.0 ([0ff2216](https://github.com/KitwareMedical/ITKUltrasound/commit/0ff2216)) +- Bump notebook workflow ([88f79b5](https://github.com/KitwareMedical/ITKUltrasound/commit/88f79b5)) +- Use ITK reusable workflow ([38280fc](https://github.com/KitwareMedical/ITKUltrasound/commit/38280fc)) +- Update ITK CI reusable workflow ([ca760c8](https://github.com/KitwareMedical/ITKUltrasound/commit/ca760c8)) + +#### Platform Fixes + +- Ignore `SliceSeriesSpecialCoordinatesImage` warning ([568fc49](https://github.com/KitwareMedical/ITKUltrasound/commit/568fc49)) + +#### Bug Fixes + +- Fix `install_requires` list in `setup.py` ([1e8a1f1](https://github.com/KitwareMedical/ITKUltrasound/commit/1e8a1f1)) +- Update SpectralDistributions example for itkwidgets 0.21a ([128e4f0](https://github.com/KitwareMedical/ITKUltrasound/commit/128e4f0)) + + + +## VkFFTBackend: +### Lee Newberg (1): + +#### Enhancements + +- Versions as strings, not numbers, so that 3.1 != 3.10, etc. ([a4d0860](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/a4d0860)) + + +### Tom Birdsong (8): + +#### Enhancements + +- Update AWS EC2 GPU AMI tag ([900f0db](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/900f0db)) +- Bump ITK version to v5.3rc04.post2 ([1d4b375](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/1d4b375)) +- Bump to v5.3rc04.post3 ([4c968f1](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/4c968f1)) +- Support ITK tarball specializations in linux build ([eae3ddd](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/eae3ddd)) +- Bump VkFFT to v1.2.31 ([933862b](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/933862b)) +- Bump for ITK v5.3.0 ([31a1921](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/31a1921)) + +#### Platform Fixes + +- Ignore VkFFT benchmark compiler warning ([ed3c449](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/ed3c449)) +- Use VkFFT as a header-only library ([9a1f6c3](https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend/commit/9a1f6c3)) + + + +## WebAssemblyInterface: +### Dženan Zukić (5): + +#### Miscellaneous Changes + +- docs(examples): remove manual line breaks from examples/index.md ([3697feaf](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/3697feaf)) +- docs: remove manual line breaks in itk_js_to_itk_wasm_migration_guide.md ([7523fdff](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/7523fdff)) +- docs: typo fixes in itk_js_to_itk_wasm_migration_guide.md ([95d8324a](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/95d8324a)) +- docs(HelloWorldExample): More direct link to Git repository ([0741bf34](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/0741bf34)) +- docs(HelloWorldExample): HTML file should be named index.html ([10e91189](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/10e91189)) + + +### Federico Zivolo (2): + +#### Miscellaneous Changes + +- feat: expose version ([c51dcf53](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/c51dcf53)) +- fix: import ([3e6d0a79](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/3e6d0a79)) + + +### Matt McCormick (380): + +#### Miscellaneous Changes + +- style(ViteExample): Add textarea styling for readability ([ef41550e](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/ef41550e)) +- build(DynamicImports): Add @vite-ignore ([f32fccf3](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f32fccf3)) +- chore(ViteExample): Bump to Vite 3 ([320fe99e](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/320fe99e)) +- feat(Pipeline): Add interface_json() ([24bbeb77](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/24bbeb77)) +- style(Pipelines): Use dash delimited names for name and positional args ([df5aa7f2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/df5aa7f2)) +- fix(runPipelineEmscripten): Copy args before passing to callMain ([6f0a85f2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6f0a85f2)) +- feat(itk-wasm-cli): Update default Docker image for kebab modules ([c6182e52](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/c6182e52)) +- docs(hello-pipeline,inputs-outputs): Update for pipeline name, type_name ([7c64db46](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/7c64db46)) +- feat(structured-report-to-text): Initial pipeline addition ([b961063d](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/b961063d)) +- feat(itk-wasm-cli): Update default Docker image for Pipeline updates ([145308d3](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/145308d3)) +- build(publish): Update test pipeline path for prepublish cleanup ([19cf4434](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/19cf4434)) +- ci(repository-url): Remove git+ protocol prefix ([07ce28a2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/07ce28a2)) +- fix(package.json): Remove git+ protocol from repository url's ([e617cf21](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e617cf21)) +- feat(itk-dicom): Browser package configuration ([6cc2574c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6cc2574c)) +- style(camelCase): Provide return type ([559c398f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/559c398f)) +- build(ExportMap): Add "default" entry ([bf806c5f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/bf806c5f)) +- feat(itk-wasm-cli): Update default Docker image for 1.0.0-b.7 ([84fb14be](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/84fb14be)) +- feat(version): Bump version to 1.0.0-b.7 ([91e1f6eb](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/91e1f6eb)) +- feat(itk-dicom): Node.js bundling and interface ([3e5feb18](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/3e5feb18)) +- test(XState): Vendor for testing offline ([da81c204](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/da81c204)) +- build(prepublishOnly): Do not remove dist/pipelines/*Test* ([85815250](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/85815250)) +- style(python): Move itkwasm package into its own directory ([00a8fe0b](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/00a8fe0b)) +- ci(Python): Update Hosted Runner versions ([f9bf19a2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f9bf19a2)) +- build(Python): Migrate packager from flit to hatch ([e5fec054](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e5fec054)) +- feat(python): Execute with stdout / stderr ([29318f6c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/29318f6c)) +- build(itk-dicom): Bump itk-dicom to required version ([1f60b18a](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1f60b18a)) +- docs(dicom): Add options to demo app ([f5650ff3](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f5650ff3)) +- style(dicom-demo): Use spectrum-web-components ([e3857b12](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e3857b12)) +- fix(bindings): Pass pipeline path for generation ([e8cf50cf](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e8cf50cf)) +- fix(runPipelineEmscript): Lower mesh cellData ([50185ca5](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/50185ca5)) +- docs(Hacking): Document creating a debug build ([5b1fdf65](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/5b1fdf65)) +- docs(Hacking): Add welcome message, semantic-release link ([ff26ca1d](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/ff26ca1d)) +- docs(debugging): Fix links ([81c621f2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/81c621f2)) +- docs(hacking_itk_wasm): Fix debugging example link ([b4f70c2c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/b4f70c2c)) +- refactor(itk-wasm-cli): Rename bindings subcommand to bindgen ([501e4166](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/501e4166)) +- chore(itk-dicom): Bump version to 0.1.0 ([b77a743c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/b77a743c)) +- fix(itkConfig.ts): Import from './browser/index.js' ([f6a125de](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f6a125de)) +- feat(WASI): Support itk_wasm_delayed_start ([a4609a6e](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/a4609a6e)) +- ci(Firefox): Disable until issues with FF 105 addressed: ([1afd9886](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1afd9886)) +- ci(update-versions): Run during verifyReleaseCmd ([d0defca5](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/d0defca5)) +- docs(ViteExample): Bump to 1.0.0-b.37 ([2f25c583](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/2f25c583)) +- feat(itk-wasm-cli): Update default Docker image for 1.0.0-b.38 ([a6af973a](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/a6af973a)) +- chore: Bump itk-dicom version to 0.2.0 ([4f2056ec](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/4f2056ec)) +- fix: Run update-versions during prepublishOnly npm step ([8717d055](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/8717d055)) +- feat(Python): Support pipeline stream inputs/outputs ([837876ac](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/837876ac)) +- chore(Dependencies): Bump Cypress to 10.10.0 ([4ce2d9f3](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/4ce2d9f3)) +- test(runPipeline): Migrate from Karma to Cypress ([a408e7c8](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/a408e7c8)) +- feat(itkConfig): Support dynamic runtime specification for browser ([a461426c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/a461426c)) +- style(runPipelineNode): loadEmscriptenModuleNode consistent with export ([e36ba4f2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e36ba4f2)) +- feat: Python File interface types support ([b9509ba9](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/b9509ba9)) +- fix(io-packages): Update with main package semantic-release version ([6e62ba79](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6e62ba79)) +- feat(SupportInputImageTypes): Support VectorImage as template specialization ([0ec818e2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/0ec818e2)) +- feat(castImage): Function to cast to pixelType, componentType ([52500fef](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/52500fef)) +- feat(itk-wasm-cli): Update default Docker image for 20221101-a2f1bdfa ([2a0cd0f7](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/2a0cd0f7)) +- docs(RELEASE): Remove components automated by semantic-release ([74b75db8](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/74b75db8)) +- feat(itk-wasm-cli): Update default Docker image for 20221101-1b7430cf ([b877b784](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/b877b784)) +- build: Remove SupportInputImageTypesNoVectorImage ([1ada4361](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1ada4361)) +- feat(itk-wasm-cli): Update default Docker image for 20221101-8f65383f ([bf965dd7](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/bf965dd7)) +- docs(Docker): Move release documentation into src/docker ([be9ffc83](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/be9ffc83)) +- build: Export cpp-base64 from WebAssemblyInterface ([7cc7cfa2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/7cc7cfa2)) +- ci(testing-data): Remove Pinata pinning ([1e3e0835](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1e3e0835)) +- refactor: Updates for master to main branch rename ([770d853a](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/770d853a)) +- ci: Remove unused Azure Pipelines config ([075eb0bf](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/075eb0bf)) +- test: Update released data resources ([6e0d4c17](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6e0d4c17)) +- test: Retrieve released data from Kitware's Apache server ([09c335b3](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/09c335b3)) +- feat(readImageLocalFile): Support casting options ([149721db](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/149721db)) +- feat(readImageArrayBuffer): Support componentType, pixelType options ([6d1c20ac](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6d1c20ac)) +- feat(readImageBlob): Add pixelType, componentType options ([9b8c32a2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/9b8c32a2)) +- feat(readImageDICOMArrayBufferSeries): Add componentType, pixelType options ([54deca39](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/54deca39)) +- style: ts-standard updates ([94460b73](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/94460b73)) +- feat(readImageFileSeries): Support componentType, pixelType ([d42fbc12](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/d42fbc12)) +- feat(readImageDICOMFileSeries): Support componentType, pixelType options ([5e5d1423](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/5e5d1423)) +- feat(readImageFile): Support componentType, pixelType ([9ac40b94](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/9ac40b94)) +- feat(readImageLocalDICOMFileSeries): Support componentType, pixelType ([0a61e48c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/0a61e48c)) +- feat(writeImageArrayBuffer): Support componentType, pixelType ([2b50d9c8](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/2b50d9c8)) +- feat(writeImageLocalFile): Support componentType, pixelType ([23eca873](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/23eca873)) +- build: Update ExternalData.cmake for w3s.link gateway output ([08ead980](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/08ead980)) +- docs: Document how to add new testing data ([6970f542](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/6970f542)) +- feat(Image): use Map for metadata member ([f9ac56ec](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f9ac56ec)) +- feat(Image): support metadata serialization ([282db1b8](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/282db1b8)) +- feat(itk-wasm-cli): Update default Docker image for 20221114-8659b8cc ([7af2985c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/7af2985c)) +- docs(docker-release): Note checking out a new branch ([1e4a827d](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1e4a827d)) +- docs: Add BREAKING_CHANGES.md to track beta breaking changes ([c9ffa2b1](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/c9ffa2b1)) +- feat(Python): Add IO wrapping ([a0e6705f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/a0e6705f)) +- build(Python): Add setup.py ([0183eb00](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/0183eb00)) +- ci(GitHubActions): Add C++, Python package builds ([75e8337a](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/75e8337a)) +- ci(GitHubActions): Migrate to remote module reusable action ([1b6926c1](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1b6926c1)) +- build(Windows): Use C++20 standard ([f367476c](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f367476c)) +- build(libcbor): Bump to latest master ([f023f0f8](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/f023f0f8)) +- build(Windows): Replace std::atol with std::strtoull ([93b8a7b2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/93b8a7b2)) +- build(GCC): Address operator | warning ([9234e1a5](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/9234e1a5)) +- build(macos): Use C++17 ([76168258](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/76168258)) +- build(SharedLibs): Add missing export specification, linkage ([ddc60684](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/ddc60684)) +- build(Windows): Simplify cbor pair initialization ([0c62f22f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/0c62f22f)) +- docs(NativePythonPackage): Improve long description ([06916b20](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/06916b20)) +- test(C++): Disable itkPipelineTest in CI ([8e8d08ca](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/8e8d08ca)) +- feat(ITK): Bump to 2022-12-21 master ([d37dad3f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/d37dad3f)) +- feat(itk-wasm-cli): Update default Docker image for 20221222-d37dad3f ([79b57308](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/79b57308)) +- ci(NativePython): Fix wheel uploads ([1fa7dbd7](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1fa7dbd7)) +- build(PythonPackages): Enable CMAKE_POSITION_INDEPENDENT_CODE ([c4fe6221](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/c4fe6221)) +- docs(Badges): Fix C++ / Native Python link ([c02db3db](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/c02db3db)) +- chore(HelloWorldExample): Bump dependencies to latest ([859ad9cb](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/859ad9cb)) +- refactor(HelloWorldExample): Run example on port 8083 ([e3bc54ac](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/e3bc54ac)) +- docs(HelloWorldExample): WASM -> Wasm ([4759d243](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/4759d243)) +- docs(HelloWorld): Updates and improvements for 1.0.0-b.53 ([49d8cf99](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/49d8cf99)) +- docs(HelloWorld): Update screenshot ([3e646d8f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/3e646d8f)) +- ci(HelloWorld): Bump actions to latest ([4afb68f7](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/4afb68f7)) +- ci(HelloWorldExample): Update emscripten-build artifact directory ([ed0754b7](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/ed0754b7)) +- ci(Python): Add native ARM wheel support ([1444f69e](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1444f69e)) +- feat(runPipeline): Support passing pipelineBaseUrl directly ([2a65e196](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/2a65e196)) +- fix(runPipeline): Support URL pipelineBaseUrl ([af20cd98](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/af20cd98)) +- fix(createWebWorkerPromise): Move up one directory ([1ed0b88f](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/1ed0b88f)) +- build(toolchains): Bump to wasi-sdk-19, emscripten latest release ([fcc852e2](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/fcc852e2)) +- feat(itk-wasm-cli): Update default Docker image for 20230116-fcc852e2 ([358f42bc](https://github.com/InsightSoftwareConsortium/itk-wasm/commit/358f42bc)) +- [...] \ No newline at end of file diff --git a/Documentation/docs/releases/index.md b/Documentation/docs/releases/index.md new file mode 100644 index 000000000000..75cc7b773ee6 --- /dev/null +++ b/Documentation/docs/releases/index.md @@ -0,0 +1,56 @@ +# ITK Releases + +```{toctree} +:maxdepth: 1 +:caption: 📝 ITK Release Notes + +5.4rc01.md + +5.3.md +5.3rc04.md +5.3rc03.md +5.3rc02.md +5.3rc01.md +5.2.md +5.1.md +5.0.md +5.0rc02.md +5.0rc01.md +5.0b03.md +5.0b02.md +5.0b01.md +5.0a02.md +5.0a01.md + +4.13.md +4.12.md +4.11.md +4.10.md +4.9.md +4.8.md +4.7.md +4.6.md +4.5.md +4.4.md +4.3.md +4.2.md +4.1.md +4.0.md + +3.20.md +3.18.md +3.16.md +3.14.md +3.12.md +3.2.md +3.0.md + +2.8.md +2.6.md +2.4.md +2.2.md +2.0.md + +1.8.md +1.0.md +``` diff --git a/Documentation/docs/requirements.txt b/Documentation/docs/requirements.txt new file mode 100644 index 000000000000..a26d9e4906bc --- /dev/null +++ b/Documentation/docs/requirements.txt @@ -0,0 +1,6 @@ +sphinx>=7.2.6 +furo +myst-parser +sphinx-copybutton +sphinxext-opengraph +sphinx-design