Installation

This process uses AutoScript 4.8.1 and TriBeam_API_Python 2_2.1 provided by Thermo Fisher Scientific, which is a Windows-only configuration.

Pre-installation

  • Uninstall any prior installations of AutoScript

  • Follow the Autoscript installation instructions provided by Thermo Fisher Scientific

  • With AutoScript_4.8.1.exe, install Autoscript according to Thermo Fisher Scientific's instructions:

    • Section 5 - Procedure, select the appropriate scripting configuration. This codebase has been tested in both "Local" and "Offline" Scripting Configurations.
      • Select Components screen
        • AutoScript Client components
          • We recommend not installing the following: PyCharm Community IDE, .NET API, preferring to use VS Code as an IDE
    • Select the installer option to add Python to the system Path.
    • Register to activate AutoScript license on this computer.
    • Restart the computer.
  • Follow the Laser Control installation instructions provided by Thermo Fisher Scientific

    • Install iFast and Python APIs

The AutoScript installer installs the following modules (generated with pip freeze):

appdirs==1.4.4 argon2-cffi-bindings==21.2.0 argon2_cffi==21.3.0 attrs==21.2.0 autoscript-core @ file:///C:/Program%20Files/Thermo%20Scientific%20AutoScript/PythonPackages/autoscript_core-5.17.0-py3-none-any.whl autoscript-sdb-microscope-client @ file:///C:/Program%20Files/Thermo%20Scientific%20AutoScript/PythonPackages/autoscript_sdb_microscope_client-4.8.1-py3-none-any.whl autoscript-sdb-microscope-client-tests @ file:///C:/Program%20Files/Thermo%20Scientific%20AutoScript/PythonPackages/autoscript_sdb_microscope_client_tests-4.8.1-py3-none-any.whl autoscript-toolkit @ file:///C:/Program%20Files/Thermo%20Scientific%20AutoScript/PythonPackages/autoscript_toolkit-4.8.1-py3-none-any.whl backcall==0.2.0 bleach==4.1.0 build==0.7.0 ceres_solver==2.1.0 certifi==2021.5.30 cffi==1.14.6 charset-normalizer==2.0.3 colorama==0.4.6 configobj==5.1.0.dev0 cycler==0.11.0 Cython==0.29.33 decorator==5.1.0 defusedxml==0.7.1 docutils==0.17.1 entrypoints==0.4 fonttools==4.31.1 h5py==3.6.0 idna==3.1 imagecodecs==2022.2.22 imageio==2.16.2 importlib_metadata==4.11.4 intel_fortran_rt==2022.0.3 intel_openmp==2021.4.28 ipykernel==5.5.6 ipython==7.31.1 ipython-genutils==0.2.0 jedi==0.18.0 Jinja2==3.0.3 joblib==1.1.0 jsonschema==3.2.0 jupyter-client==6.1.12 jupyter-core==4.8.1 jupyterlab-pygments==0.1.2 kiwisolver==1.4.0 libaec==1.0.6 libbz2==1.0.8 libfreetype==2.12.1 libgflags==2.2.2 libglog==0.6.0 libharfbuzz==3.2.0 libhdf5==1.12.1 libicu==70.1 liblcms2==2.12 liblz4==1.9.3 liblzma==5.2.5 libopenjpeg==2.4.0.post1 libpng==1.6.37 libprotobuf==3.13.0 libqhull==8.0.2 libsodium==1.0.18 libtiff==4.3.0 libturbojpeg==2.1.2 libyaml==0.2.5 libz==1.2.11 libzmq==4.3.4 libzstd==1.5.0 Markdown==3.3.7 MarkupSafe==2.1.1 matplotlib==3.5.1 matplotlib-inline==0.1.6 mfc_runtime==14 mistune==0.8.4 mkl==2021.3.0 mkl-service==2.4.0 msvc_runtime==14 nbclient==0.5.12 nbconvert==6.4.2 nbformat==5.2.0 nest-asyncio==1.5.4 networkx==2.7.1 notebook==6.4.8 numexpr==2.8.1 numpy==1.21.2 opencv_python==4.6.0 packaging==22.0 pandas==1.3.2 pandocfilters==1.5.0 parso==0.8.2 pep517==0.9.1 pickleshare==0.7.5 Pillow-SIMD==9.0.0.post1 prometheus-client==0.13.1 prompt-toolkit==3.0.24 psutil==5.8.0 pycparser==2.20 Pygments==2.8.1 pyparsing==2.4.7 pyrsistent==0.15.3 PySide6==6.2.3 python-dateutil==2.8.2 pytz==2022.6 PyWavelets==1.3.0 pywin32==301 pywinpty==2.0.4 PyYAML==5.4.1 pyzmq==22.3.0 qtbase==6.2.3 qtconsole==5.3.0 qtdeclarative==6.2.3 qtmultimedia==6.2.3 QtPy==2.3.0 qtshadertools==6.2.3 qtsvg==6.2.3 qttools==6.2.3 requests==2.26.0 scikit-image==0.19.2 scikit-learn==1.0.2 scipy==1.8.0 Send2Trash==1.8.0 shiboken6==6.2.3 sip==6.5.1 six==1.16.0 terminado==0.13.2 testpath==0.5.0 thermoscientific-logging @ file:///C:/Program%20Files/Thermo%20Scientific%20AutoScript/PythonPackages/thermoscientific_logging-5.17.0-py3-none-any.whl threadpoolctl==3.1.0 tifffile==2022.4.8 toml==0.10.2 tomli==2.0.1 toolz==0.11.1 tornado==6.1 traitlets==5.1.0 urllib3==1.26.3 wcwidth==0.2.5 webencodings==0.5.1 zipp==3.7.0

Confirm the installation location of Autoscript's python environment, which should default to the following path: C:/Program Files/Enthought/Python/envs/Autoscript/python.exe. You can verify this by running the following in the Command Prompt (cmd.exe):

where python

which should output something similar to the following:

C:\Program Files\Enthought\Python\envs\AutoScript\python.exe

Main Installation

Installation can be performed by running the provided batch file install.bat from the local directory where you want to install the package. This will install the wheels of various open-source python packages included with the package that are provided here: wheels. Wheels are provided in order to eliminate the need for internet connectivity on the microscope.

NOTE: This package is installed in editable mode, which provides the user with the ability to modify and expand the source code, such as adjusting default values in the constants module. Such a change would be needed to run unit tests included in the package, as running of tests are tied to specific machine names provided in the constants module. Compiled unit test coverage for the package can be found for the latest release without installing as a developer here: test-coverage.

After running the install.bat script, confirm the package installation by opening a new terminal and run the following to list the available package commands:

pytribeam

which should generate the following output along with any relevant warning messages:

WARNING: Laser API not imported! Laser control, as well as EBSD and EDS control are unavailable. -------- pytribeam -------- pytribeam (this command) pytribeam_info Prints the module version and ThermoFisher Scientific Autoscript and Laser API version requirements. pytribeam_gui Launches GUI for creating configuration .yml files and to control experimental collection. pytribeam_exp <path_to_file>.yml Runs 3D data collection workflow based off of input .yml file. Example: path/to/experiment/directory> pytribeam_exp path/to/config/file.yml