[fitsbits] JSONFITS, a suggestion for rendering FITS files in an Internet standards friendly format

Christoph Deil Deil.Christoph at gmail.com
Wed Sep 30 03:22:15 EDT 2015


> On 30 Sep 2015, at 02:09, Brian McConnell <bsmcconnell at gmail.com> wrote:
> 
> Hello,
> 
> Bill Pence suggested I post here. I'm working on a project to make
> FITS data more accessible to software developers who are not
> necessarily familiar with the format. Specifically, we're looking at
> ways to make SETI observational data available to third party
> developers who may be very knowledgeable about software engineering,
> digital signal processing, etc, but not field specific formats like
> this.
> 
> What I am working on is a utility that renders FITS files as JSON, a
> widely used interchange format (think XML without the bloat), with
> base64 encoded binary for payload data. The result is a file that is 7
> bit friendly, can be viewed in any text editor, and is trivial to
> parse. A typical JSONFITS file would look like:
> 
> [
> {"TARGNAME":"foo","TELESCOP":"arecibo","BINDATA":base64encodedblobofdatagoeshere},{"TARGNAME":"bar","TELESCOP":"arecibo","BINDATA":morebase64encodeddata}
> ]
> 
> Someone consuming this data can then do so very easily, as in the
> Python example:
> 
> blocks = json.loads(open('test.jsn','r').read())
> for b in blocks:
>  target_name = b.get('TARGNAME','')
>  telescope = b.get('TELESCOP','')
>  payload = base64.b64decode(b.get('BINDATA',''))
>  do_something_with(target_name, telescope, payload)
> 
> I should point out that I am not suggesting a new file format, but am
> thinking of this as an output filter for rendering FITS files in an
> internet friendly format.
> 
> Now you might ask won't base64 encoding bloat the file/download size?
> Yes, by about 4:3, but it turns out lossless compression largely
> undoes this, and as on the fly gzip compression is a built in feature
> in most web servers nowadays, this is basically a non issue (same
> thing for storage if you use a compressed volume). So you can have
> your cake (easy to parse, human readable files) and eat it too
> (similar overall footprint as binaries).
> 
> Well, I wanted to put this out there as a discussion item, and see if
> there's other work along these lines underway. My intent with the
> rendering utility is to make it available as a tiny Python library
> that people can use and build on.
> 
> Thanks for your time.
> 
> Brian McConnell <bsmcconnell at gmail.com>
> 
> _______________________________________________
> fitsbits mailing list
> fitsbits at listmgr.nrao.edu
> https://listmgr.nrao.edu/mailman/listinfo/fitsbits

Hi Brian,

I would like to use this.
So yes, please do share it!

Thanks,
Christoph




More information about the fitsbits mailing list