You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-1Lines changed: 23 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,4 +14,26 @@
14
14
15
15
Installation instructions and more can be found in the [User Guide](https://sandialabs.github.io/pytribeam/docs/userguide/book/index.html).
16
16
17
-
More info coming soon!
17
+
## Citing ``pytribeam``
18
+
19
+
If ``pytribeam`` has been useful in your research, we invite you to cite the following paper on it's development and use:
20
+
21
+
Polonsky, A.T., Lamb, J.D., Hovey, C.B. et al. pyTriBeam: Open-Source Software for Enhanced 3D Data Collection in TriBeam Microscopes. Integr Mater Manuf Innov (2026). https://doi.org/10.1007/s40192-026-00449-2
22
+
23
+
Or using BibTeX:
24
+
```bibtex
25
+
@article{Polonsky2026,
26
+
title = {pyTriBeam: Open-Source Software for Enhanced 3D Data Collection in TriBeam Microscopes},
As autoscript cannot be installed in a virtual environment and requires a license, content for githubpages must be generated locally on a licensed machine. This file contains instructions and commands to create content for github pages for the gh-pages branch.
1
+
As autoscript requires a license, content for GitHub pages must be generated locally on a licensed machine. This file contains instructions and commands to create content for github pages for the gh-pages branch.
In order to run tests, the user must install ``pyTriBeam`` in editable mode and add their computer name to the list of machines in the ``Constants`` module. To find your hardware name, you can run the following from a python terminal:
112
114
113
115
```python
116
+
import platform
117
+
print(platform.node())
118
+
```
119
+
120
+
### How to run test suite on simulator:
121
+
Go to the root directory of `pytribeam` and run the following in a git bash terminal window. This will generate both a .xml and .html version of the coverage report.
A `.coverage` file will be generated in the root directory of `pytribeam`. Move the `.coverage` file into the `coverage_reports/simulator` folder.
126
+
127
+
#### TODO test improvements
128
+
129
+
- Stop test suite on hard ware if test fails
130
+
- insert/rectract EBSD is not self contained if it fails
131
+
- check for test independence
132
+
- order tests in increasing complexity
133
+
- some tests won't work on some systems (CBS stage restrictions)
134
+
- need decorators for:
135
+
- offline machines
136
+
- machines with lasers
137
+
- machines with CBS stage restriction locks (only the windows 7 Helios)
138
+
- machine that doesn't fit into above (a fib with newer XtUI software)
139
+
- auto add location of root directory to the .coveragerc?
140
+
141
+
142
+
### How to run test suite on hardware:
143
+
The microscope must first be prepared in order to safely run all tests. It is highly recommended to remove any sample and sample holder from the tool. **DO NOT run hardware tests if you are unfamiliar with the process.**
144
+
145
+
Prepare the microscope by doing the following:
146
+
147
+
- Remove CBS stage restrictions (non-Windows 7 machines)
148
+
- Turn on electron beam, focus and link Z (WD of 15 mm for no sample)
149
+
- For laser systems only:
150
+
- Open laser app and disable laser interlock (turn the key so laser can fire)
151
+
- Unlock the objective in the laser GUI
152
+
- Ensure spin mill sample holder selected
153
+
- Open EBSD software, enable proximity sensor and override alerts (Oxford only)
154
+
- Manually check connections:
155
+
- Open GUI and run "test connections" to ensure no "Error" states
156
+
- Insert the EDS detector for a second and re-run "test connections", EDS detector should be "indeterminate"
157
+
- Retract EDS detector
158
+
- (potentially optional) Discover tests in testing tab
159
+
From the root directory of `pytribeam`, run the following from command from a terminal, this will generate both a .xml and .html version of test coverage:
A `.coverage` file will be generated in the root directory of `pytribeam`. Move the `.coverage` file into the `coverage_reports/hardware` folder.
166
+
167
+
### Combine test coverage
168
+
169
+
Combining test coverage reports allows us to account for differences in coverage for tests that can only run on specific hardware versions (e.g. systems with a laser) or that can run on a simulated microscope environment. When combining coverage reports, it is assumed to be performed on a non-microscope machine with an internet connection (with an `Offline` autoscript install). In order to combine coverage reports, the `.coveragerc` file must include the paths to all `pytribeam/src` directories used to generate `.coverage` files. A working example from 2/18/26 is given below:
170
+
171
+
`.coveragerc`:
172
+
```
173
+
[run]
174
+
omit =
175
+
# omit GUI files from tests
176
+
src/pytribeam/GUI/*
177
+
178
+
[paths]
179
+
source =
180
+
# running from pytribeam root on an offline machine
0 commit comments