using MAT
A = trues(10,10)
matwrite("foo.mat", Dict("mask"=>A))
# ERROR: This is the write function for CompositeKind, but the input doesn't fit
# Stacktrace:
# [1] m_write(::MAT.MAT_HDF5.MatlabHDF5File, ::HDF5.HDF5Group, ::String, ::Tuple{Int64,Int64}) at /home/reb/.julia/v0.6/MAT/src/MAT_HDF5.jl:514
# [2] m_write(::MAT.MAT_HDF5.MatlabHDF5File, ::HDF5.HDF5File, ::String, ::Array{String,1}, ::Array{Any,1}) at /home/reb/.julia/v0.6/MAT/src/MAT_HDF5.jl:502
# [3] m_write(::MAT.MAT_HDF5.MatlabHDF5File, ::HDF5.HDF5File, ::String, ::BitArray{2}) at /home/reb/.julia/v0.6/MAT/src/MAT_HDF5.jl:517
# [4] write(::MAT.MAT_HDF5.MatlabHDF5File, ::String, ::BitArray{2}) at /home/reb/.julia/v0.6/MAT/src/MAT_HDF5.jl:530
# [5] matwrite(::String, ::Dict{String,BitArray{2}}) at /home/reb/.julia/v0.6/MAT/src/MAT.jl:156
A workaround is to convert to an Array of Bool and this becomes a MATLAB logical array
Writing a
BitArray
doesn't work:A workaround is to convert to an Array of Bool and this becomes a MATLAB logical array
It would be nice if the MAT.jl library handled this conversion automatically on write.