AstroPy and CCSDS Decoder

560 views
Skip to first unread message

Daniel da Silva

unread,
Oct 24, 2016, 4:39:31 PM10/24/16
to astropy-dev
I wrote  a decoder of the CCSDS Space Packet Protocol in Python, and am looking for a home to open source it. For those unfamiliar, this is a binary-level specification for packet frames used by a large number of NASA and ESA missions. Use cases for utilizing this data are ground systems and operational analysis at the instrument level.
 
This decoder uses a tricky algorithm to solve the general case of extracting heavily packet bits; cases like an k-bit unsigned integer starting on bit n of a packet (where n % 8 != 0). The algorithm uses NumPy vectorization, and is an order of magnitude faster than naive implementations using numpy.unpackbits() or the bitstring module. This makes a big difference when working with volumes of data on the scale of an entire mission.


Do you think it would be worthwhile exploring whether this would be a good fit for the AstroPy project? I don't expect any project to accept contributions without first seeing code, but it would be nice to know whether it would be worthwhile to put something together.



Best Regards,
Daniel da Silva


------
https://github.com/ddasilva
https://www.linkedin.com/in/danieledasilva


Thomas Robitaille

unread,
May 3, 2017, 2:01:55 PM5/3/17
to astropy-dev mailing list
Hi Daniel,

Sorry for the delay in getting back to you regarding your question about the CCSDS decoder - this sounds like something that would be a good fit for an astropy-affiliated package (rather than directly for the core astropy package). You can find out more about affiliated packages and the acceptance process here:


(see towards the bottom of the page)

Let us know if you have any questions about this!

Cheers,
Tom


--
You received this message because you are subscribed to the Google Groups "astropy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to astropy-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel da Silva

unread,
Jun 1, 2017, 9:47:17 PM6/1/17
to astropy-dev
Thanks Tom!

I am in the process of putting together a package, and I'd like to solicit any feedback from the community. I've uploaded the code and docs for reading fixed length packets.

http://ccsdspy.readthedocs.io/
https://github.com/ddasilva/ccsdspy

In particular, I'm curious as to whether I'm meeting the AstroPy requirements for affliliation, and just as importantly whether the provided functionality meets the needs of other people's use cases. It's a bit of a challenge to know what odd things to support, because such data is often kept private within the mission.

Some things I plan on adding:
- Support for strings, floats
- End-to-end decoding unit test suite (I'm working on cooking up some fake data)


Best,
Daniel
Hi Daniel,

To unsubscribe from this group and stop receiving emails from it, send an email to astropy-dev...@googlegroups.com.

Austin Godber

unread,
Jun 2, 2017, 1:01:25 PM6/2/17
to astro...@googlegroups.com
Nice work Daniel!

- Austin

--
You received this message because you are subscribed to the Google Groups "astropy-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to astropy-dev+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages