reporting.reduction package

Submodules

reporting.reduction.admin module

class reporting.reduction.admin.ChoiceAdmin(model, admin_site)[source]

Bases: ModelAdmin

list_display = ('id', 'instrument', 'property', 'description', 'value')
list_filter = ('instrument',)
property media
class reporting.reduction.admin.PropertyDefaultAdmin(model, admin_site)[source]

Bases: ModelAdmin

list_display = ('id', 'property', 'value', 'timestamp')
property media
class reporting.reduction.admin.PropertyModificationAdmin(model, admin_site)[source]

Bases: ModelAdmin

list_display = ('id', 'property', 'value', 'user', 'timestamp')
list_filter = ('property', 'user')
property media
class reporting.reduction.admin.ReductionPropertyAdmin(model, admin_site)[source]

Bases: ModelAdmin

list_display = ('id', 'instrument', 'key', 'value', 'timestamp')
list_filter = ('instrument', 'key')
property media

reporting.reduction.forms module

Forms for auto-reduction configuration

@author: M. Doucet, Oak Ridge National Laboratory @copyright: 2014 Oak Ridge National Laboratory

class reporting.reduction.forms.BaseReductionConfigurationForm(*args, **kwargs)[source]

Bases: Form

Base class for reduction form

base_fields = {}
declared_fields = {}
property media

Return all media required to render the widgets on this form.

set_instrument(instrument)[source]

Populate instrument-specific options.

Parameters:

instrument – instrument short name

to_db(instrument_id, user=None)[source]

Store the form data

Parameters:
  • instrument_id – Instrument object

  • user – user that made the change

to_template()[source]

Return a dictionary

class reporting.reduction.forms.MaskForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]

Bases: Form

Simple form for a mask entry. A combination of banks, tubes, pixels can be specified.

base_fields = {'bank': <django.forms.fields.CharField object>, 'pixel': <django.forms.fields.CharField object>, 'remove': <django.forms.fields.BooleanField object>, 'tube': <django.forms.fields.CharField object>}
declared_fields = {'bank': <django.forms.fields.CharField object>, 'pixel': <django.forms.fields.CharField object>, 'remove': <django.forms.fields.BooleanField object>, 'tube': <django.forms.fields.CharField object>}
classmethod from_dict_list(param_value)[source]

Return a list of dictionaries that is compatible with our form

Parameters:

param_value – string representation of the dictionary

property media

Return all media required to render the widgets on this form.

classmethod to_dict_list(mask_list)[source]

Create a list of mask dictionary from a set of mask forms

Parameters:

mask_list – list of MaskForm objects

classmethod to_python(mask_list, indent='    ')[source]

Take a block of Mantid script from a list of mask forms

Parameters:
  • mask_list – list of MaskForm objects

  • indent – string indentation to add to each line

classmethod to_tokens(value)[source]

Takes a block of Mantid script and extract the dictionary argument. The template should be like

MaskBTPParameters({‘Bank’:’’, ‘Tube’:’’, ‘Pixel’:’’})

Parameters:

value – string value for the code snippet

class reporting.reduction.forms.PlottingForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]

Bases: Form

Simple form for a mask entry. A combination of banks, tubes, pixels can be specified.

base_fields = {'maximum': <django.forms.fields.FloatField object>, 'minimum': <django.forms.fields.FloatField object>, 'perpendicular_to': <django.forms.fields.ChoiceField object>, 'remove': <django.forms.fields.BooleanField object>}
declared_fields = {'maximum': <django.forms.fields.FloatField object>, 'minimum': <django.forms.fields.FloatField object>, 'perpendicular_to': <django.forms.fields.ChoiceField object>, 'remove': <django.forms.fields.BooleanField object>}
classmethod from_dict_list(param_value)[source]

Return a list of dictionaries that is compatible with our form

Parameters:

param_value – string representation of the dictionary

property media

Return all media required to render the widgets on this form.

classmethod to_dict_list(opt_list)[source]

Create a list of option dictionary from a set of plotting forms

Parameters:

optlist – list of PlottingForm objects

class reporting.reduction.forms.ReductionConfigurationCNCSForm(*args, **kwargs)[source]

Bases: BaseReductionConfigurationForm

Generic form for DGS reduction instruments

base_fields = {'a': <django.forms.fields.FloatField object>, 'alpha': <django.forms.fields.FloatField object>, 'auto_tzero_flag': <django.forms.fields.BooleanField object>, 'b': <django.forms.fields.FloatField object>, 'beta': <django.forms.fields.FloatField object>, 'c': <django.forms.fields.FloatField object>, 'create_elastic_nxspe': <django.forms.fields.BooleanField object>, 'create_md_nxs': <django.forms.fields.BooleanField object>, 'do_tib': <django.forms.fields.BooleanField object>, 'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_pars_in_mev': <django.forms.fields.BooleanField object>, 'e_step': <django.forms.fields.FloatField object>, 'gamma': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'motor_names': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>, 'sub_directory': <django.forms.fields.CharField object>, 't0': <django.forms.fields.CharField object>, 'temperature_names': <django.forms.fields.CharField object>, 'tib_max': <django.forms.fields.CharField object>, 'tib_min': <django.forms.fields.CharField object>, 'u_vector': <django.forms.fields.CharField object>, 'v_vector': <django.forms.fields.CharField object>, 'vanadium_integration_max': <django.forms.fields.FloatField object>, 'vanadium_integration_min': <django.forms.fields.FloatField object>}
declared_fields = {'a': <django.forms.fields.FloatField object>, 'alpha': <django.forms.fields.FloatField object>, 'auto_tzero_flag': <django.forms.fields.BooleanField object>, 'b': <django.forms.fields.FloatField object>, 'beta': <django.forms.fields.FloatField object>, 'c': <django.forms.fields.FloatField object>, 'create_elastic_nxspe': <django.forms.fields.BooleanField object>, 'create_md_nxs': <django.forms.fields.BooleanField object>, 'do_tib': <django.forms.fields.BooleanField object>, 'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_pars_in_mev': <django.forms.fields.BooleanField object>, 'e_step': <django.forms.fields.FloatField object>, 'gamma': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'motor_names': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>, 'sub_directory': <django.forms.fields.CharField object>, 't0': <django.forms.fields.CharField object>, 'temperature_names': <django.forms.fields.CharField object>, 'tib_max': <django.forms.fields.CharField object>, 'tib_min': <django.forms.fields.CharField object>, 'u_vector': <django.forms.fields.CharField object>, 'v_vector': <django.forms.fields.CharField object>, 'vanadium_integration_max': <django.forms.fields.FloatField object>, 'vanadium_integration_min': <django.forms.fields.FloatField object>}
property media

Return all media required to render the widgets on this form.

set_instrument(instrument)[source]

Populate instrument-specific options.

Parameters:

instrument – instrument short name

class reporting.reduction.forms.ReductionConfigurationCorelliForm(*args, **kwargs)[source]

Bases: BaseReductionConfigurationForm

Generic form for Corelli reduction instruments

base_fields = {'mask': <django.forms.fields.CharField object>, 'plot_requests': <django.forms.fields.CharField object>, 'ub_matrix_file': <django.forms.fields.CharField object>, 'useCC': <django.forms.fields.BooleanField object>, 'vanadium_SA_file': <django.forms.fields.CharField object>, 'vanadium_flux_file': <django.forms.fields.CharField object>}
declared_fields = {'mask': <django.forms.fields.CharField object>, 'plot_requests': <django.forms.fields.CharField object>, 'ub_matrix_file': <django.forms.fields.CharField object>, 'useCC': <django.forms.fields.BooleanField object>, 'vanadium_SA_file': <django.forms.fields.CharField object>, 'vanadium_flux_file': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class reporting.reduction.forms.ReductionConfigurationDGSForm(*args, **kwargs)[source]

Bases: BaseReductionConfigurationForm

Generic form for DGS reduction instruments

base_fields = {'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_step': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>}
declared_fields = {'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_step': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

set_instrument(instrument)[source]

Populate instrument-specific options.

Parameters:

instrument – instrument short name

class reporting.reduction.forms.ReductionConfigurationREFMForm(*args, **kwargs)[source]

Bases: BaseReductionConfigurationForm

Generic form for REF_M reduction instruments

base_fields = {'bck_max': <django.forms.fields.IntegerField object>, 'bck_min': <django.forms.fields.IntegerField object>, 'bck_width': <django.forms.fields.IntegerField object>, 'const_q_cutoff': <django.forms.fields.FloatField object>, 'fit_peak_in_roi': <django.forms.fields.BooleanField object>, 'force_background': <django.forms.fields.BooleanField object>, 'force_peak': <django.forms.fields.BooleanField object>, 'peak_max': <django.forms.fields.IntegerField object>, 'peak_min': <django.forms.fields.IntegerField object>, 'plot_in_2D': <django.forms.fields.BooleanField object>, 'q_step': <django.forms.fields.FloatField object>, 'skip_quicknxs': <django.forms.fields.BooleanField object>, 'use_const_q': <django.forms.fields.BooleanField object>, 'use_roi_bck': <django.forms.fields.BooleanField object>, 'use_sangle': <django.forms.fields.BooleanField object>, 'use_side_bck': <django.forms.fields.BooleanField object>}
declared_fields = {'bck_max': <django.forms.fields.IntegerField object>, 'bck_min': <django.forms.fields.IntegerField object>, 'bck_width': <django.forms.fields.IntegerField object>, 'const_q_cutoff': <django.forms.fields.FloatField object>, 'fit_peak_in_roi': <django.forms.fields.BooleanField object>, 'force_background': <django.forms.fields.BooleanField object>, 'force_peak': <django.forms.fields.BooleanField object>, 'peak_max': <django.forms.fields.IntegerField object>, 'peak_min': <django.forms.fields.IntegerField object>, 'plot_in_2D': <django.forms.fields.BooleanField object>, 'q_step': <django.forms.fields.FloatField object>, 'skip_quicknxs': <django.forms.fields.BooleanField object>, 'use_const_q': <django.forms.fields.BooleanField object>, 'use_roi_bck': <django.forms.fields.BooleanField object>, 'use_sangle': <django.forms.fields.BooleanField object>, 'use_side_bck': <django.forms.fields.BooleanField object>}
property media

Return all media required to render the widgets on this form.

class reporting.reduction.forms.ReductionConfigurationSEQForm(*args, **kwargs)[source]

Bases: ReductionConfigurationDGSForm

Reduction form for SEQ

base_fields = {'create_elastic_nxspe': <django.forms.fields.BooleanField object>, 'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_step': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>}
declared_fields = {'create_elastic_nxspe': <django.forms.fields.BooleanField object>, 'e_max': <django.forms.fields.FloatField object>, 'e_min': <django.forms.fields.FloatField object>, 'e_step': <django.forms.fields.FloatField object>, 'grouping': <django.forms.fields.ChoiceField object>, 'mask': <django.forms.fields.CharField object>, 'processed_vanadium': <django.forms.fields.CharField object>, 'raw_vanadium': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

reporting.reduction.forms.validate_float_list(value)[source]
Parameters:

value – string value to parse

reporting.reduction.forms.validate_integer_list(value)[source]

Allow for “1,2,3” and “1-3”

Parameters:

value – string value to parse

reporting.reduction.models module

class reporting.reduction.models.Choice(*args, **kwargs)[source]

Bases: Model

Table of choices for forms

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

instrument

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

instrument_id
objects = <django.db.models.manager.Manager object>
property

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

property_id
value

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class reporting.reduction.models.PropertyDefault(*args, **kwargs)[source]

Bases: Model

Table of default values

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=True, **kwargs)
get_previous_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
property

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

property_id
timestamp

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

value

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class reporting.reduction.models.PropertyModification(*args, **kwargs)[source]

Bases: Model

Table of actions taken by users to modify the reduction property table.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=True, **kwargs)
get_previous_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
property

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

property_id
timestamp

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

user_id
value

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class reporting.reduction.models.ReductionProperty(*args, **kwargs)[source]

Bases: Model

Table of template properties for reduction scripts

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

choice_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

get_next_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=True, **kwargs)
get_previous_by_timestamp(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

instrument

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

instrument_id
key

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
propertydefault_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

propertymodification_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

timestamp

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

value

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reporting.reduction.urls module

Define url structure

reporting.reduction.view_util module

Utilities for reduction configuration views

@author: M. Doucet, Oak Ridge National Laboratory @copyright: 2014 Oak Ridge National Laboratory

reporting.reduction.view_util.reduction_setup_url(instrument)[source]

Return a URL for the reduction setup if it’s enabled for the given instrument

Parameters:

instrument – instrument name

reporting.reduction.view_util.reset_to_default(instrument_id)[source]

Reset reduction properties for a given instrument to their default value. If no default has been set for a property, it will not be changed.

Parameters:

instrument_id – Instrument object

reporting.reduction.view_util.send_template_request(instrument_id, template_dict, user='unknown')[source]

Send an ActiveMQ message to request a new script

Parameters:
  • instrument_id – Instrument object

  • template_dict – dictionary of peroperties

  • user – user that created the change

reporting.reduction.view_util.store_property(instrument_id, key, value, user=None)[source]

Store a reduction property

Parameters:
  • instrument_id – Instrument object

  • key – name of the property

  • value – value of the property (string)

  • user – user that created the change

reporting.reduction.views module

Automated reduction configuration view

@author: M. Doucet, Oak Ridge National Laboratory @copyright: 2014 Oak Ridge National Laboratory

Module contents