Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions software/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,6 @@ Reboot the computer to finish the installation.

## Optional or Hardware-specific dependencies

<details>
<summary>image stitching dependencies (optional)</summary>
For optional image stitching using ImageJ, additionally run the following:

```
sudo apt-get update
sudo apt-get install openjdk-11-jdk
sudo apt-get install maven
pip3 install pyimagej
pip3 instlal scyjava
pip3 install tifffile
pip3 install imagecodecs
```

Then, add the following line to the top of `/etc/environment` (needs to be edited with `sudo [your text editor]`):
```
JAVA_HOME=/usr/lib/jvm/default-java
```
Then, add the following lines to the top of `~/.bashrc` (or whichever file your terminal sources upon startup):
```
source /etc/environment
export JAVA_HOME = $JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
```
</details>

<details>
<summary>Installing drivers and libraries for FLIR camera support</summary>
Go to FLIR's page for downloading their Spinnaker SDK (https://www.flir.com/support/products/spinnaker-sdk/) and register.
Expand Down
48 changes: 1 addition & 47 deletions software/control/_def.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import json
import csv
import squid.logging
from enum import Enum, auto
from enum import Enum

log = squid.logging.get_logger(__name__)

Expand Down Expand Up @@ -225,10 +225,6 @@ class ILLUMINATION_CODE:
ILLUMINATION_SOURCE_730NM = 15


class VOLUMETRIC_IMAGING:
NUM_PLANES_PER_VOLUME = 20


class CMD_EXECUTION_STATUS:
COMPLETED_WITHOUT_ERRORS = 0
IN_PROGRESS = 1
Expand Down Expand Up @@ -443,15 +439,6 @@ def convert_to_enum(option: Union[str, "FocusMeasureOperator"]) -> "FocusMeasure
FILE_ID_PADDING = 0


class PLATE_READER:
NUMBER_OF_ROWS = 8
NUMBER_OF_COLUMNS = 12
ROW_SPACING_MM = 9
COLUMN_SPACING_MM = 9
OFFSET_COLUMN_1_MM = 20
OFFSET_ROW_A_MM = 20


CAMERA_PIXEL_SIZE_UM = {
"IMX290": 2.9,
"IMX178": 2.4,
Expand All @@ -467,11 +454,6 @@ class PLATE_READER:

TUBE_LENS_MM = 50
CAMERA_SENSOR = "IMX226"
TRACKERS = ["csrt", "kcf", "mil", "tld", "medianflow", "mosse", "daSiamRPN"]
DEFAULT_TRACKER = "csrt"

ENABLE_TRACKING = False
TRACKING_SHOW_MICROSCOPE_CONFIGURATIONS = False # set to true when doing multimodal acquisition


class CAMERA_CONFIG:
Expand Down Expand Up @@ -499,15 +481,6 @@ class AF:
CROP_HEIGHT = 800


class Tracking:
SEARCH_AREA_RATIO = 10 # @@@ check
CROPPED_IMG_RATIO = 10 # @@@ check
BBOX_SCALE_FACTOR = 1.2
DEFAULT_TRACKER = "csrt"
INIT_METHODS = ["roi"]
DEFAULT_INIT_METHOD = "roi"


SHOW_DAC_CONTROL = False


Expand Down Expand Up @@ -543,9 +516,6 @@ class SOFTWARE_POS_LIMIT:
Z_NEGATIVE = 0.05


SHOW_AUTOLEVEL_BTN = False
AUTOLEVEL_DEFAULT_SETTING = False

MULTIPOINT_AUTOFOCUS_CHANNEL = "BF LED matrix full"
# MULTIPOINT_AUTOFOCUS_CHANNEL = 'BF LED matrix left half'
MULTIPOINT_AUTOFOCUS_ENABLE_BY_DEFAULT = False
Expand All @@ -559,7 +529,6 @@ class SOFTWARE_POS_LIMIT:
ENABLE_FLEXIBLE_MULTIPOINT = True
USE_OVERLAP_FOR_FLEXIBLE = True
ENABLE_WELLPLATE_MULTIPOINT = True
ENABLE_RECORDING = False

RESUME_LIVE_AFTER_ACQUISITION = True

Expand All @@ -569,7 +538,6 @@ class SOFTWARE_POS_LIMIT:

CAMERA_SN = {"ch 1": "SN1", "ch 2": "SN2"} # for multiple cameras, to be overwritten in the configuration file

ENABLE_STROBE_OUTPUT = False

ACQUISITION_PATTERN = "S-Pattern" # 'S-Pattern', 'Unidirectional'
FOV_PATTERN = "Unidirectional" # 'S-Pattern', 'Unidirectional'
Expand Down Expand Up @@ -613,7 +581,6 @@ class SOFTWARE_POS_LIMIT:
LASER_AF_MIN_PEAK_DISTANCE = 10
LASER_AF_MIN_PEAK_PROMINENCE = 0.20
LASER_AF_SPOT_SPACING = 100
SHOW_LEGACY_DISPLACEMENT_MEASUREMENT_WINDOWS = False
LASER_AF_FILTER_SIGMA = None
LASER_AF_INITIALIZE_CROP_WIDTH = 1200
LASER_AF_INITIALIZE_CROP_HEIGHT = 800
Expand All @@ -624,20 +591,11 @@ class SOFTWARE_POS_LIMIT:
RETRACT_OBJECTIVE_BEFORE_MOVING_TO_LOADING_POSITION = True
OBJECTIVE_RETRACTED_POS_MM = 0.1

TWO_CLASSIFICATION_MODELS = False
CLASSIFICATION_MODEL_PATH = "models/resnet18_en/version1/best.pt"
CLASSIFICATION_MODEL_PATH2 = "models/resnet18_en/version2/best.pt"
CLASSIFICATION_TEST_MODE = False
CLASSIFICATION_TH = 0.3

SEGMENTATION_MODEL_PATH = "models/m2unet_model_flat_erode1_wdecay5_smallbatch/model_4000_11.pth"
ENABLE_SEGMENTATION = True
USE_TRT_SEGMENTATION = False
SEGMENTATION_CROP = 1500

DISP_TH_DURING_MULTIPOINT = 0.95
SORT_DURING_MULTIPOINT = False

INVERTED_OBJECTIVE = False

ILLUMINATION_INTENSITY_FACTOR = 0.6
Expand Down Expand Up @@ -687,7 +645,6 @@ class SOFTWARE_POS_LIMIT:

# Napari integration
USE_NAPARI_FOR_LIVE_VIEW = False
USE_NAPARI_FOR_MULTIPOINT = True
USE_NAPARI_FOR_MOSAIC_DISPLAY = True
USE_NAPARI_WELL_SELECTION = False
USE_NAPARI_FOR_LIVE_CONTROL = False
Expand All @@ -708,10 +665,7 @@ class SOFTWARE_POS_LIMIT:
# Navigation Settings
ENABLE_CLICK_TO_MOVE_BY_DEFAULT = True

# Stitcher
IS_HCS = False
DYNAMIC_REGISTRATION = False
STITCH_COMPLETE_ACQUISITION = False

# Pseudo color settings
CHANNEL_COLORS_MAP = {
Expand Down
6 changes: 0 additions & 6 deletions software/control/core/channel_configuration_mananger.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,6 @@ def save_configurations(self, objective: str) -> None:
# Save only channel configurations
self._save_xml_config(objective, ConfigType.CHANNEL)

def save_current_configuration_to_path(self, objective: str, path: Path) -> None:
"""Only used in TrackingController. Might be temporary."""
config = self.all_configs[self.active_config_type][objective]
xml_str = config.to_xml(pretty_print=True, encoding="utf-8")
path.write_bytes(xml_str)

def get_configurations(self, objective: str) -> List[ChannelMode]:
"""Get channel modes for current active type"""
config = self.all_configs[self.active_config_type].get(objective)
Expand Down
Loading