def create_paraxial_design_view_v2(opt_model, dgm_type, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) fig = dgm.InteractiveDiagram(opt_model, dgm_type, refresh_gui=refresh_gui, do_draw_frame=True, do_draw_axes=True, aspect='auto', is_dark=is_dark) panel_fcts = [ create_2d_figure_toolbar, ] if dgm_type == 'ht': # cmds = diagram.create_parax_design_commands(fig) cmds = None panel_fcts.append(create_diagram_controls_groupbox) panel_fcts.append(create_diagram_edge_actions_groupbox) panel_fcts.append(create_diagram_layers_groupbox) else: cmds = None view_width = 880 view_ht = 660 title = "Paraxial Design View" # panel_fcts = [create_2d_figure_toolbar, # create_diagram_controls_groupbox, # ] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts, commands=cmds, drop_action=diagram.GlassDropAction())
def create_live_layout_view(opt_model, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) fig = InteractiveLayout(opt_model, refresh_gui=refresh_gui, do_draw_frame=True, do_draw_axes=False, do_draw_rays=True, do_paraxial_layout=False, is_dark=is_dark) # cmds = create_live_layout_commands(fig) cmds = None view_width = 880 view_ht = 660 title = "Optical Layout" panel_fcts = [ create_2d_figure_toolbar, create_draw_rays_groupbox, ] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts, commands=cmds, drop_action=layout.GlassDropAction())
def create_3rd_order_bar_chart(opt_model, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) fig = ThirdOrderBarChart(opt_model, dpi=100, is_dark=is_dark) view_width = 600 view_ht = 600 title = "3rd Order Aberrations" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_field_curves(opt_model, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) fig = FieldCurveFigure(opt_model, dpi=100, is_dark=is_dark) view_width = 600 view_ht = 600 title = "Field Curves" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_paraxial_design_view(opt_model, dgm_type, gui_parent=None): fig = ParaxialDesignFigure(opt_model, gui_parent.refresh_gui, dgm_type, figsize=(5, 4)) cmds = diagram.create_parax_design_commands(fig) view_width = 650 view_ht = 500 title = "Paraxial Design View" plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, commands=cmds)
def create_3rd_order_bar_chart(opt_model, gui_parent=None): fig = ThirdOrderBarChart(opt_model, dpi=100) view_width = 600 view_ht = 600 title = "3rd Order Aberrations" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_field_curves(opt_model, gui_parent=None): fig = FieldCurveFigure(opt_model, dpi=100) view_width = 600 view_ht = 600 title = "Field Curves" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_ray_grid_view(opt_model, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) num_flds = len(opt_model.optical_spec.field_of_view.fields) fig = SpotDiagramFigure(opt_model, scale_type=Fit.All_Same, dpi=100, is_dark=is_dark) view_box = 300 view_width = view_box view_ht = num_flds * view_box title = "Spot Diagram" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_wavefront_view(opt_model, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) num_flds = len(opt_model.optical_spec.field_of_view.fields) num_wvls = len(opt_model.optical_spec.spectral_region.wavelengths) fig = WavefrontFigure(opt_model, scale_type=Fit.All_Same, num_rays=32, dpi=100, is_dark=is_dark) # figsize=(2*num_wvls, 2*num_flds)) view_box = 300 view_width = num_wvls * view_box view_ht = num_flds * view_box title = "Wavefront Map" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_ray_fan_view(opt_model, data_type, gui_parent=None): refresh_gui, is_dark = get_defaults_from_gui_parent(gui_parent) fig = RayFanFigure(opt_model, data_type, scale_type=Fit.All_Same, figsize=(5, 4), dpi=100, is_dark=is_dark) view_width = 600 view_ht = 600 if data_type == "Ray": title = "Ray Fan View" elif data_type == "OPD": title = "OPD Fan View" else: title = "bad data_type argument" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_ray_grid_view(opt_model, gui_parent=None): num_flds = len(opt_model.optical_spec.field_of_view.fields) fig = SpotDiagramFigure(opt_model, scale_type=Fit.All_Same, num_rays=11, dpi=100) view_box = 300 view_width = view_box view_ht = num_flds * view_box title = "Spot Diagram" panel_fcts = [create_plot_scale_panel] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts)
def create_live_layout_view(opt_model, gui_parent=None): refresh_gui = None if gui_parent: refresh_gui = gui_parent.refresh_gui fig = InteractiveLayout(opt_model, refresh_gui) cmds = create_live_layout_commands(fig) view_width = 880 view_ht = 660 title = "Optical Layout" panel_fcts = [create_draw_rays_groupbox] plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, add_panel_fcts=panel_fcts, add_nav_toolbar=True, commands=cmds)
def create_paraxial_design_view_v2(opt_model, dgm_type, gui_parent=None): fig = dgm.InteractiveDiagram(opt_model, gui_parent.refresh_gui, dgm_type, do_draw_frame=True, do_draw_axes=True, aspect='auto', figsize=(5, 4)) cmds = dgm.create_parax_design_commands(fig) view_width = 650 view_ht = 500 title = "Paraxial Design View V2" plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht, commands=cmds, add_nav_toolbar=True)
def create_lens_layout_view(opt_model, gui_parent=None): fig = LensLayoutFigure(opt_model) view_width = 660 view_ht = 440 title = "Lens Layout View" plotview.create_plot_view(gui_parent, fig, title, view_width, view_ht)