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
Bugfixes to support FEI Titan microscope and camera (#154)
* E-RC: added commented fix to camera client eval dict, may be needed if image is too large
* Attempts at hot-fixing beamshift calibration
* E-RC: take into account the factor of binning when tracking @ FastADT
* Revert "E-RC: take into account the factor of binning when tracking @ FastADT"
This reverts commit 24cc9fa.
* E-RC: take into account the factor of binning when tracking @ FastADT + display them properly
* E-RC: fix the coordinate order in ctrl frame toggle_rmb_beam callback
* E-RC: Refactor annotate_videostream to use binsize parameter
* E-RC: patch instamatic RPC to allow get_movie generator
* E-RC: Fixes to type passed, generator unpacking
* ER-C: remove unused socket protocol, comments, debug statements
* ER-C: allow handling generators (get_movie) by the cam server
* Update documentation with relevant changes from https://sites.google.com/view/instamatic-on-titan
* Update `docs/requirements.txt` to prevent ongoing version skew
Copy file name to clipboardExpand all lines: docs/config.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -207,7 +207,7 @@ This file holds the specifications of the camera. This file is must be located t
207
207
: Give the interface of the camera interface to connect to, for example: `timepix`/`emmenu`/`simulate`/`gatan`/`merlin`. Leave blank or set to `None` to load the camera specs, but do not load the camera module (this also turns off the videostream gui).
208
208
209
209
**dead_time**
210
-
: Set the dead time (i.e. the gap between acquisitions) of the detector; if this value (`camera.dead_time`) is not set but required, Instamatic might attempt to use `CalibMovieDelays.dead_time` value calibrated via `instamatic.calibrate_movie_delays` instead. Typically, Instamatic will not run this calibration automatically: the user needs to either set `camera.dead_time` or call `instamatic.calibrate_movie_delays` themselves.
210
+
: Set the dead time (i.e. the gap between acquisitions) of the detector. This value is especially important for cameras what work remotely or otherwise feature dead time significant when compared to typical data collection time. If `camera.dead_time` is not set but required, Instamatic might attempt to use `CalibMovieDelays.dead_time` value calibrated via `instamatic.calibrate_movie_delays` instead. Typically, Instamatic will not run this calibration automatically: the user needs to either set `camera.dead_time` or call `instamatic.calibrate_movie_delays` themselves.
Copy file name to clipboardExpand all lines: docs/network.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ use_cam_server: False
40
40
41
41
## Example 2
42
42
43
-
This is an example where the microscope and camera PCs should be controlled through an intermediate support PC.
43
+
In this example, the microscope and camera are controlled by a dedicated computer(s), distinct from an intermediate support PC running the Instamatic GUI. This scenario is preferred if, for any reason, Instamatic can not be fully installed on the Microscope/Camera PC such as when using [instamatic-tecnai-server](https://github.com/instamatic-dev/instamatic-tecnai-server) in lieu of the full Instamatic.
44
44
45
45
If your camera can be controlled directly through TCP/IP, such as the MerlinEM or ASI Cheetah (via `serval`), do not use `instamatic.camserver`, but connect directly to the IP. For example, for Merlin.
46
46
@@ -72,6 +72,8 @@ cam_server_port: 8088
72
72
cam_use_shared_memory: False
73
73
```
74
74
75
+
A case of a setup where the Microscope PC supports both the TEM and a camera server via the Tecnai server while the main GUI runs on a separate Support PC is partially discussed [here](https://sites.google.com/view/instamatic-on-titan).
76
+
75
77
## Example 3
76
78
77
79
If your camera cannot be controlled through TCP/IP, you might try this solution. This seems to be a common setup for TFS/FEI microscopes.
Copy file name to clipboardExpand all lines: docs/setup.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,9 @@ If you are using a JEOL TEM, make sure `instamatic` is installed on a computer w
8
8
9
9
## FEI
10
10
11
-
For FEI microscopes, `instamatic` must be installed on the microscope control PC. Alternatively, it can be installed on both the microscope PC and the camera PC, running `instamatic.temserver` on the microscope PC, and establishing a connection over the local network. See the config documentation for how to set this up.
11
+
For FEI microscopes, `instamatic` must be installed on the microscope control PC. Alternatively, it can be installed on both the microscope PC and the camera PC, running `instamatic.temserver` on the microscope PC, and establishing a connection over the local network. If any server PC does not support modern software, [instamatic-dev/instamatic-tecnai-server](https://github.com/instamatic-dev/instamatic-tecnai-server) is a drop-in replacement that requires Python 3.4 only.
12
+
13
+
See the config documentation for how to set this up.
12
14
13
15
## Development version
14
16
@@ -32,7 +34,7 @@ In order of priority:
32
34
### __2. Set up the microscope interface__
33
35
Go to the config directory from the first step.
34
36
35
-
In `config/settings.yaml` define the camera interface you want to use. You can use the autoconfig tool or one of the example files and modify those. You can name these files anything you want, as long as the name under `microscope` matches the filename in `config/microscope`
37
+
In `config/settings.yaml` define the camera interface you want to use. You can use the autoconfig tool or one of the example files and modify those. You can name these files anything you want, as long as the name under `microscope` matches the filename in `config/microscope`.
36
38
37
39
### __3. Set up the magnifications and camera lengths__
38
40
In the config file, i.e `config/microscope/jeol.yaml`, set the correct camera lengths (`ranges/diff`) and magnifications for your microscopes (`ranges/lowmag` and `ranges/mag1`). Also make sure you set the wavelength. Again, the autoconfig tool is your best friend, otherwise, the way to get those numbers is to simply write them down as you turn the magnification knob on the microcope.
@@ -41,10 +43,10 @@ In order of priority:
41
43
Specify the file you want to use for the camera interface, i.e. `camera: timepix` points to `config/camera/timepix.yaml`. In this file, make sure that the interface is set to your camera type and update the numbers as specified in the config documentation. If you do not want to set up the camera interface at this moment, you can use `camera: simulate` to fake the camera connection.
42
44
43
45
### __5. Make the calibration table__
44
-
For each of the magnfications defined in `config/microscope/jeol.yaml`, specify the pixel sizes in the file defined by `calibration: jeol`, corresponding to the file `calibration/jeol.yaml`. For starters, you can simply set the calibration values to 1.0.
46
+
For each of the magnifications defined in `config/microscope/jeol.yaml`, specify the pixel sizes in the file defined by `calibration: jeol`, corresponding to the file `calibration/jeol.yaml`. For starters, you can simply set the calibration values to 1.0.
45
47
46
48
### __6. Test if it works__
47
-
Run `instamatic.temcontroller` to start a IPython shell that initializes the connection. It should run with no crashes or warnings.
49
+
Run `instamatic.controller` to start a IPython shell that initializes the connection. It should run with no crashes or warnings.
48
50
49
51
### __7. Update `settings.yaml`__
50
52
There are a few more choices to make in `instamatic/settings.yaml`. If you use a TVIPS camera, make sure you put `use_cam_server: true`.
Copy file name to clipboardExpand all lines: readme.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,12 @@ Cameras supported:
22
22
- ASI CheeTah through `serval-toolkit` library
23
23
- TVIPS cameras through EMMENU4 API
24
24
- Quantum Detectors MerlinEM
25
+
- Gatan cameras through FEI scripting interface
25
26
- (Gatan cameras through DM plugin [1])
26
27
27
28
Instamatic has been developed on a JEOL-2100 with a Timepix camera, and a JEOL-1400 and JEOL-3200 with TVIPS cameras (XF416/F416).
28
29
29
-
See [instamatic-dev/instamatic-tecnai-server](https://github.com/instamatic-dev/instamatic-tecnai-server) for a TEM interface to control a FEI Tecnai-TEM on Windows XP/Python 3.4 via instamatic.
30
+
See [instamatic-dev/instamatic-tecnai-server](https://github.com/instamatic-dev/instamatic-tecnai-server) for a TEM interface to control a FEI Tecnai or FEI Titan TEM and associated cameras on Windows XP/Python 3.4 via instamatic.
30
31
31
32
[1]: Support for Gatan cameras is somewhat underdeveloped. As an alternative, a DigitalMicrograph script for collecting cRED data on a OneView camera (or any other Gatan camera) can be found [here](https://github.com/instamatic-dev/InsteaDMatic).
32
33
@@ -47,7 +48,7 @@ pip install instamatic
47
48
48
49
## OS requirement
49
50
50
-
The package requires Windows 7 or higher. It has been mainly developed and tested under windows 7 and higher.
51
+
The package requires Windows 7 or higher. It has been mainly developed and tested under Windows 7 and higher.
0 commit comments