Skip to content

Add explicit vnl fixed-to-dynamic conversions for VXL 2026 / ITK 6 (release-5.4 compatible)#1280

Merged
Sunderlandkyl merged 1 commit into
PlusToolkit:masterfrom
hjmjohnson:itk6-vnl-fixed-conversions
Jul 14, 2026
Merged

Add explicit vnl fixed-to-dynamic conversions for VXL 2026 / ITK 6 (release-5.4 compatible)#1280
Sunderlandkyl merged 1 commit into
PlusToolkit:masterfrom
hjmjohnson:itk6-vnl-fixed-conversions

Conversation

@hjmjohnson

Copy link
Copy Markdown
Contributor

Add explicit .as_matrix()/.as_vector() conversions (and vnl_svd(m.as_matrix())) in the probe-calibration algorithms so PlusLib compiles against the VXL vendored by ITK 6, while staying compatible with ITK release-5.4.

Details

VXL 2026 (in ITK 6) removed the implicit vnl_*_fixed → vnl_* conversions and changed some accessor return types, so vnl_svd<double> svd(fixedMatrix), matrix.update(...GetVnlMatrix()), and vnl_vector<double> v = fixedMatrix.get_column(n) no longer compile. Explicit .as_matrix()/.as_vector() fixes this; both accessors exist in ITK 5.4's VNL too.

Verified building PlusLib against ITK 6 and ITK 5.4.6. One of a set of independent ITK-6 compatibility PRs.

Recent VXL (as vendored by ITK 6) removed the implicit conversions from
vnl_matrix_fixed / vnl_vector_fixed to vnl_matrix / vnl_vector, and changed the
type returned by member accessors. Add explicit .as_matrix()/.as_vector()
conversions in the probe-calibration algorithms, and construct vnl_svd from an
.as_matrix() view. These accessors also exist in the ITK release-5.4 VNL, so the
change is backward compatible.
@hjmjohnson
hjmjohnson marked this pull request as ready for review July 6, 2026 12:38
@Sunderlandkyl
Sunderlandkyl merged commit 8b7d3d4 into PlusToolkit:master Jul 14, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants