JuliaAstro / FITSIO.jl

Flexible Image Transport System (FITS) file support for Julia
http://juliaastro.org/FITSIO.jl/
MIT License
55 stars 29 forks source link

add support for BitArray ('X') columns #189

Open jvo203 opened 1 year ago

jvo203 commented 1 year ago

Right now, when loading the JAXA HITOMI X-Ray event files, FITSIO.jl produces an error "BitArray ('X') columns not yet supported". Have you got plans for adding this missing functionality to FITSIO.jl?

julia> f[2]
Error showing value of type TableHDU:
ERROR: BitArray ('X') columns not yet supported
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] fits_get_col_info(f::CFITSIO.FITSFile, colnum::Int64)
    @ FITSIO ~/.julia/packages/FITSIO/Qdq7v/src/table.jl:44
  [3] show(io::IOContext{Base.TTY}, hdu::TableHDU)
    @ FITSIO ~/.julia/packages/FITSIO/Qdq7v/src/table.jl:201
  [4] show(io::IOContext{Base.TTY}, #unused#::MIME{Symbol("text/plain")}, x::TableHDU)
    @ Base.Multimedia ./multimedia.jl:47
  [5] (::REPL.var"#55#56"{REPL.REPLDisplay{REPL.LineEditREPL}, MIME{Symbol("text/plain")}, Base.RefValue{Any}})(io::Any)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:276
  [6] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:557
  [7] display(d::REPL.REPLDisplay, mime::MIME{Symbol("text/plain")}, x::Any)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:262
  [8] display
    @ /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:281 [inlined]
  [9] display(x::Any)
    @ Base.Multimedia ./multimedia.jl:340
 [10] #invokelatest#2
    @ ./essentials.jl:816 [inlined]
 [11] invokelatest
    @ ./essentials.jl:813 [inlined]
 [12] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:305
 [13] (::REPL.var"#57#58"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:287
 [14] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:557
 [15] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:285
 [16] (::REPL.var"#do_respond#80"{Bool, Bool, REPL.var"#93#103"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:899
 [17] #invokelatest#2
    @ ./essentials.jl:816 [inlined]
 [18] invokelatest
    @ ./essentials.jl:813 [inlined]
 [19] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2647
 [20] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL /usr/local/Cellar/julia/1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:1300
 [21] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ./task.jl:514