When comparing dimensions with different locus, I think comparedims should account for that, ideally. Especially since e.g. saving to .tif shifts the locus silently.
using DimensionalData, DimensionalData.Lookups
A = rand(X(Sampled(1:10; sampling = Intervals(Start()))))
A .* shiftlocus(Center(), A)
ERROR: DimensionMismatch: Lookup values for X of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] and [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5] do not match.
Stacktrace:
[1] _failed_comparedims(t::DimensionalData.Dimensions.Throw{Nothing}, msg_intro::String)
@ DimensionalData.Dimensions ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:574
[2] _valaction(err::DimensionalData.Dimensions.Throw{Nothing}, a::X{Sampled{…}}, b::X{Sampled{…}})
@ DimensionalData.Dimensions ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:568
[3] #_comparedims2#87
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:632 [inlined]
[4] _comparedims2
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:609 [inlined]
[5] _comparedims2
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:597 [inlined]
[6] macro expansion
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:-1 [inlined]
[7] _comparedims_gen(dt1::Tuple{…}, dts::Tuple{…}; kw::@Kwargs{…})
@ DimensionalData.Dimensions ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:581
[8] _comparedims_gen
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:581 [inlined]
[9] _comparedims
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:579 [inlined]
[10] comparedims
@ ~/.julia/packages/DimensionalData/MRS45/src/Dimensions/primitives.jl:539 [inlined]
[11] _comparedims_broadcast
@ ~/.julia/packages/DimensionalData/MRS45/src/array/broadcast.jl:361 [inlined]
[12] copy(bc::Base.Broadcast.Broadcasted{DimensionalData.DimensionalStyle{…}, Tuple{…}, typeof(*), Tuple{…}})
@ DimensionalData ~/.julia/packages/DimensionalData/MRS45/src/array/broadcast.jl:73
[13] materialize(bc::Base.Broadcast.Broadcasted{DimensionalData.DimensionalStyle{…}, Nothing, typeof(*), Tuple{…}})
@ Base.Broadcast ./broadcast.jl:894
[14] top-level scope
@ REPL[6]:1
Some type information was truncated. Use `show(err)` to see complete types.
When comparing dimensions with different locus, I think comparedims should account for that, ideally. Especially since e.g. saving to .tif shifts the locus silently.
MWE
errors with