emmt / EasyFITS.jl

Using FITS files made easier for Julia
Other
8 stars 2 forks source link

overwriting fits image in a hdu #1

Closed FerreolS closed 2 years ago

FerreolS commented 2 years ago

Overwriting an image in a fits files raises an error with EasyFITS

1.7.2 > io = FitsIO("files.fits","r+");
1.7.2 > typeof(io[6])
FitsImageHDU{ImageHDU{Int32, 3}} (alias for FitsHDU{ImageHDU{Int32, 3}})
1.7.2 > write(io[6], data)
ERROR: MethodError: no method matching write(::FitsImageHDU{ImageHDU{Int32, 3}}, ::Array{Int32, 3})
Closest candidates are:
  write(::IO, ::Array) at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/io.jl:669
  write(::IO, ::AbstractArray) at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/io.jl:658
  write(::ImageHDU, ::StridedArray{<:Real}) at ~/.julia/packages/FITSIO/r7sdA/src/image.jl:384
  ...

whereas it is ok with FITSIO:

1.7.2 > io = FITS("files.fits","r+");
1.7.2 > typeof(io[6])
ImageHDU{Int32, 3}
1.7.2 > write(io[6], data)

we probably need to extend write to this case

FerreolS commented 2 years ago

It is fixed. Thanks!