MuscleMuseum is a MATLAB package designed for Atomic, Molecular, and Optical (AMO) physics. It serves as an integrated solution for experimental control, data analysis, and numerical simulation. A complete documentation is here.
- Install git. You are required to know basic git operations.
- Install MATLAB. Note: I only tested the code in MATLAB 2023a. MATLAB 2023b or any later version is not compatible with MuscleMuseum because of the database API.
- Install the required MATLAB toolboxes:
- Curve Fitting Toolbox
- Parallel Computing Toolbox
- Database Toolbox
- Image Processing Toolbox
- Statistics and Machine Learning Toolbox
- Navigation Toolbox (we just need the
eul2rotmfunction) - Data Acquisition Toolbox (optional, only for onsite experiments)
- Instrument Control Toolbox (optional, only for onsite experiments)
- Install Python whose version is compatible with your MATLAB version. Make sure the Python path is in your environment variable. Check if you can invoke Python by typing
pythonin your operation system's command line. Note: Do not install Python from Microsoft Store. - Install ARC.
- Install PostgreSQL on your computer. Set up passwords and ports. By default, we use the password
SupermassiveBlackHolefor the super userpostgres. If you wish to run the database on a server, then install PgSQL on it. You are free to change your database password, but please make sure the credential and port settings are consistent with themmConfig.mfile in yourMMUserfolder (see below). - Set up the
MMUserfolder that contains all your user configurations and settings. If you are a Weld Lab member, download theMMUserfolder usinggit clone https://github.com/weldlabucsb/MMUserinto yourDocumentsfolder (e.g.,/Users/username/Documents), then checkout to your experiments' branch (e.g.,git checkout li). If you are not a Weld Lab member, skip this step because a newMMUserfolder will be generated automatically for you. - Download this package. You can do
git clone https://github.com/weldlabucsb/MuscleMuseum. - Start MATLAB and open the main directory of this package.
- Run
init. Fix the issues if you see any warnings. If you are not a Weld Lab member and you are a new user, open/MMUser/config/mmConfig.mand edit the user configurations as per your needs. - Run
BecBrowserfor readingBecExpdata. If you are a Weld lab member, you need to mapBananaStand/ANewStartasB:\drive on your computer. - Run
BecControlPanelfor BEC experimental control and analysis. - Run
HardwareControlPanelfor hardware control.
- Experimental/Simulation meta data managed by PostgreSQL
- BEC experimental control and data analysis system (the BecExp class)
- Apps for controlling and browsing BEC experiments (BecControlPanel and BecBrowser)
- Atomic data and atomic structure handling (the Atom class)
- Single-atom master equation simulation tool (the MeSim class)
- 1D Time-dependent Schrodinger equation (TDSE) simulation tool (the SeSim1D class)
- 1D lattice dynamics simulation tool (the LatticeSeSim1D class)
- Lattice band structure calculations (the OpticalLattice class)
- Keysight/Spectrum AWG generator control
- Siglent/TekTronics scope control
- Vescent phase lock control
- Camera control for Basler, PCO, and Andor