Data Processing

The TOM is configured with built-in data processing on the upload of Data Products. This processing is broken up into three components.

  • tom_dataproducts.data_processor.run_data_processor

  • tom_dataproducts.data_processor.DataProcessor

  • tom_dataproducts.data_serializers

The DataProductUploadView calls run_data_processor upon saving the DataProduct. run_data_processor instantiates the DATA_PROCESSOR_CLASS, which can be specified in settings.py. run_data_processor then processes the uploaded DataProduct based on the tag value, which can either be Photometry or Spectroscopy.

In the case of spectra, the default behavior is that DataProduct is converted into a specutils.Spectrum1D from either a CSV or a FITS file. The spectrum is multiplied by the flux constant of the facility it was taken at, or not multiplied. The Spectrum1D is then serialized into JSON for database via the SpectrumSerializer.

For photometry, the default behavior is simply to read the CSV and convert it to JSON for database storage.

Data Serializers

.. autoclass:: tom_dataproducts.processors.data_serializers.SpectrumSerializer :members:

Data Processors

.. autofunction:: tom_dataproducts.data_processor.run_data_processor

.. autoclass:: tom_dataproducts.data_processor.DataProcessor :members: :private-members: :member-order: bysource