Source code for pyanno.ui.model_bt_view

# Copyright (c) 2011, Enthought, Ltd.
# Author: Pietro Berkes <pberkes@enthought.com>
# License: Modified BSD license (2-clause)

from traits.trait_types import    Str, Int
from traitsui.api import  Item, VGroup
from traitsui.editors.range_editor import RangeEditor
from pyanno.modelBt import ModelBt

from pyanno.ui.model_btloop_view import ModelBtLoopDesignView
from pyanno.ui.model_view import  NewModelDialog


MODEL_BT_NAME = 'Model B-with-theta'

[docs]class NewModelBtDialog(NewModelDialog): model_name = Str(MODEL_BT_NAME) nclasses = Int(5) nannotators = Int(8) parameters_group = VGroup( Item(name='nclasses', editor=RangeEditor(mode='spinner', low=3, high=1000), label='Number of annotation classes:', width=100), Item(name='nannotators', editor=RangeEditor(mode='spinner', low=2, high=1000), label='Number of annotators:', width=100), )
ModelBtView = ModelBtLoopDesignView
[docs]class ModelBtView(ModelBtLoopDesignView): """ Traits UI Model/View for 'ModelBt' objects. """ model_name = Str(MODEL_BT_NAME) new_model_dialog_class = NewModelBtDialog @classmethod def _create_model_from_dialog(cls, dialog): return ModelBt.create_initial_state( dialog.nclasses, dialog.nannotators) #### Testing and debugging ####################################################
[docs]def main(): """ Entry point for standalone testing/debugging. """ from pyanno.models import ModelBt model = ModelBt.create_initial_state(5, 12) anno = model.generate_annotations(100) samples = model.sample_posterior_over_accuracy( anno, 50, step_optimization_nsamples=3) model_view = ModelBtView(model=model) model_view.plot_theta_samples(samples) model_view.configure_traits(view='traits_view') return model, model_view
if __name__ == '__main__': model, model_view = main()

Table Of Contents