A GUI to automatically create a TOPAS-readable MLC simulation file

Overview

topas-create-custom-mlc

A GUI to automatically create a TOPAS-readable MLC simulation file

Modern MLCs can have very compley leaf designs. Since not all geometries can be build using TOPAS, this script creates a custom MLC architecture from a CAD file describing a single leaf (.stl). Using a GUI, the positions of up to 64 leaf pairs can be individually customized - simply limited by the screen height. However, an arbitary amount of leaf pairs can be positioned using rectangular fields, or using presets.

Usage

Before starting the script, a couple of options need to be set to match the program to your .stl file.

Change the values in the ###Setup### portion of the script to match your requirements:

  • leaf_stl_path : Let TOPAS know where to find the .stl file describing the leaf
  • number_of_leaf_pairs : Number of leaf pairs in the MLC
  • MLC-TransZ : Distance from the Source to the top of the MLC, in cm
  • SSD : Source-Surface-Distance, in cm
  • dist_from_xy_plane_to_top_edge : Z-Coordinate of the .stl environment (ideally this would be 0), in mm
  • dist_from_z_axis_to_inner_edge : X-/Y-Coordinate of the .stl environment (deviation from centre axis), in mm

Preview

Preview

Extended Functionality

This program is capable of reflecting leaf bank rotation. The user can change TransY and RotX in the CreateTopasMLCFile() function (custom_mlc_creator_functions.py) to supply a list describing the rotation of each leaf as well as the vertical position. Also, this program assumes the .stl file is set up in so that the field defining face is already facing the Z-axis. In case it is not, the values in RotX should be changed to 0 instead of 180 (degrees).

Dependencies

Requires python3, numpy, and tkinter.
The tkSliderWidget.py is adapted from https://github.com/MenxLi/tkSliderWidget.

You might also like...
A custom-designed Spider Robot trained to walk using Deep RL in a PyBullet Simulation
A custom-designed Spider Robot trained to walk using Deep RL in a PyBullet Simulation

SpiderBot_DeepRL Title: Implementation of Single and Multi-Agent Deep Reinforcement Learning Algorithms for a Walking Spider Robot Authors(s): Arijit

 Notspot robot simulation - Python version
Notspot robot simulation - Python version

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

Megaverse is a new 3D simulation platform for reinforcement learning and embodied AI research

Megaverse Megaverse is a new 3D simulation platform for reinforcement learning and embodied AI research. The efficient design of the engine enables ph

NeuralWOZ: Learning to Collect Task-Oriented Dialogue via Model-based Simulation (ACL-IJCNLP 2021)
NeuralWOZ: Learning to Collect Task-Oriented Dialogue via Model-based Simulation (ACL-IJCNLP 2021)

NeuralWOZ This code is official implementation of "NeuralWOZ: Learning to Collect Task-Oriented Dialogue via Model-based Simulation". Sungdong Kim, Mi

 Fog Simulation on Real LiDAR Point Clouds for 3D Object Detection in Adverse Weather
Fog Simulation on Real LiDAR Point Clouds for 3D Object Detection in Adverse Weather

LiDAR fog simulation Created by Martin Hahner at the Computer Vision Lab of ETH Zurich. This is the official code release of the paper Fog Simulation

Simulation of the solar system using various nummerical methods

solar-system Simulation of the solar system using various nummerical methods Download the repo Make shure matplotlib, scipy etc. are installed execute

Doosan robotic arm, simulation, control, visualization in Gazebo and ROS2 for Reinforcement Learning.
Doosan robotic arm, simulation, control, visualization in Gazebo and ROS2 for Reinforcement Learning.

Robotic Arm Simulation in ROS2 and Gazebo General Overview This repository includes: First, how to simulate a 6DoF Robotic Arm from scratch using GAZE

Autonomous Ground Vehicle Navigation and Control Simulation Examples in Python

Autonomous Ground Vehicle Navigation and Control Simulation Examples in Python THIS PROJECT IS CURRENTLY A WORK IN PROGRESS AND THUS THIS REPOSITORY I

Simulation code and tutorial for BBHnet training data

Simulation Dataset for BBHnet NOTE: OLD README, UPDATE IN PROGRESS We generate simulation dataset to train BBHnet, our deep learning framework for det

Releases(v1.0.0)
Owner
Sebastian Schäfer
Masters student of medical physics and Python enthusiast.
Sebastian Schäfer
Clean and readable code for Decision Transformer: Reinforcement Learning via Sequence Modeling

Minimal implementation of Decision Transformer: Reinforcement Learning via Sequence Modeling in PyTorch for mujoco control tasks in OpenAI gym

Nikhil Barhate 104 Jan 6, 2023
A demo of how to use JAX to create a simple gravity simulation

JAX Gravity This repo contains a demo of how to use JAX to create a simple gravity simulation. It uses JAX's experimental ode package to solve the dif

Cristian Garcia 16 Sep 22, 2022
Simple Linear 2nd ODE Solver GUI - A 2nd constant coefficient linear ODE solver with simple GUI using euler's method

Simple_Linear_2nd_ODE_Solver_GUI Description It is a 2nd constant coefficient li

:) 4 Feb 5, 2022
Customised to detect objects automatically by a given model file(onnx)

LabelImg LabelImg is a graphical image annotation tool. It is written in Python and uses Qt for its graphical interface. Annotations are saved as XML

Heeone Lee 1 Jun 7, 2022
Calculates carbon footprint based on fuel mix and discharge profile at the utility selected. Can create graphs and tabular output for fuel mix based on input file of series of power drawn over a period of time.

carbon-footprint-calculator Conda distribution ~/anaconda3/bin/conda install anaconda-client conda-build ~/anaconda3/bin/conda config --set anaconda_u

Seattle university Renewable energy research 7 Sep 26, 2022
Convert weight file.pth to weight file.blob

CONVERT YOUR MODEL TO IR FORMAT INSTALLATION OpenVino Toolkit Download openvinotoolkit 2021.3 version : Link Instruction of installation : Link Pytorc

Tran Anh Tuan 3 Nov 18, 2021
Seach Losses of our paper 'Loss Function Discovery for Object Detection via Convergence-Simulation Driven Search', accepted by ICLR 2021.

CSE-Autoloss Designing proper loss functions for vision tasks has been a long-standing research direction to advance the capability of existing models

Peidong Liu(刘沛东) 54 Dec 17, 2022
Differentiable molecular simulation of proteins with a coarse-grained potential

Differentiable molecular simulation of proteins with a coarse-grained potential This repository contains the learned potential, simulation scripts and

UCL Bioinformatics Group 44 Dec 10, 2022
Differentiable simulation for system identification and visuomotor control

gradsim gradSim: Differentiable simulation for system identification and visuomotor control gradSim is a unified differentiable rendering and multiphy

null 105 Dec 18, 2022
Civsim is a basic civilisation simulation and modelling system built in Python 3.8.

Civsim Introduction Civsim is a basic civilisation simulation and modelling system built in Python 3.8. It requires the following packages: perlin_noi

null 17 Aug 8, 2022