Developers
Plugin Interface
STracking napari plugins implements a dedicated plugin interface for a custom management of the
progress bar, progress log and advanced mode. To implement a new STracking plugin, developers needs
to implement a SNapariPlugin
class with a dedicated SNapariWidget
for the graphical
interface and a SNapariWorker
that link the plugin widget to the STracking class.
- class napari_stracking._splugin.SLogWidget
Widget to log the STracking plugins messages in the graphical interface
- add_log(value: str)
Callback to add a new message in the log area
- clear_log()
Callback to clear all the log area
- set_advanced(mode: bool)
Show hide the log area depending on the plugin mode
- set_progress(value: int)
Callback to update the progress bar
- class napari_stracking._splugin.SNapariPlugin(napari_viewer)
Definition of a STracking napari widget
To create a new plugin, simply create a new class that inherit from SNapariPlugin and instantiate self.worker, self.widget and call init_ui in the constructor.
The SNapariPlugin purpose is to implement a default run button and log widget for all STracking plugins and provide a run method that start the worker in a separate thread
- napari_viewer: Viewer
Napari viewer
- worker: SNapariWorker
Instance of the plugin worker
- widget: SNapariWidget
Instance of the plugin widget
- init_ui()
Initialize the plugin graphical interface
The plugin interface add a run button and a log widget to the plugin (SNapariWidget) widget
- run()
Start the worker in a new thread
- set_advanced(mode: bool)
Toggle the graphical interface to advanced mode
- mode: bool
True to set mode to advanced, False to set mode to default
- set_enable(mode: bool)
Callback called to disable the run button when the inputs layers are not available
- set_outputs()
Call the worker set_outputs method to set the plugin outputs to napari layers
- class napari_stracking._splugin.SNapariWidget
Interface for a STracking napari widget
This interface implements three methods - show_error: to display a user input error - check_inputs (abstract): to check all the user input from the plugin widget - state (abstract): to get the plugin widget state, ie the user inputs values set in the widget
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- static show_error(message)
Display an error message in a QMessage box
- message: str
Error message
- state()
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- class napari_stracking._splugin.SNapariWorker(napari_viewer, widget)
Interface for a STracking napari plugin
The worker is an object that run the calculation (using the run method) using the user inputs from the plugin widget interface (SNapariWidget)
- run()
Exec the data processing
- state()
Get the states from the SNapariWidget
Plugin to change a layer scale
Plugins for import and export
- class napari_stracking._reader_plugin.SLoad(napari_viewer)
Plugin to read particles and tracks from files
- napari_viewer: Viewer
Napari viewer
- browse_particles()
Callback called when the browse particles button is clicked
- browse_tracks()
Callback called when the browse tracks button is clicked
- load_particles()
Method that implements the particles loading
- load_tracks()
Method that implements the tracks loading
- class napari_stracking._export_plugin.SExport(napari_viewer)
Dock widget to export particles and tracks
- napari_viewer: Viewer
Napari viewer
Detection plugins
- class napari_stracking._sdetection_plugins.SDetectorDog(napari_viewer)
Napari plugin for DoG detection
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sdetection_plugins.SDetectorDoh(napari_viewer)
Napari plugin for DoH detection
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sdetection_plugins.SDetectorLog(napari_viewer)
Napari plugin for LoG detection
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sdetection_plugins.SDetectorSeg(napari_viewer)
Napari plugin for detection from segmentation map
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sdetection_workers.SDogWidget(napari_viewer)
Widget for the DoG detector plugins
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
- class napari_stracking._sdetection_workers.SDogWorker(napari_viewer, widget)
Worker for the DoG detector plugins
- run()
Execute the processing
- set_outputs()
Set the plugin outputs to napari layers
- class napari_stracking._sdetection_workers.SDohWidget(napari_viewer)
Widget for the DoH detector plugins
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
- class napari_stracking._sdetection_workers.SDohWorker(napari_viewer, widget)
Worker for the DoH detector plugins
- run()
Execute the processing
- set_outputs()
Set the plugin outputs to napari layers
- class napari_stracking._sdetection_workers.SLogWidget(napari_viewer)
Widget for the LoG detector plugins
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
- class napari_stracking._sdetection_workers.SLogWorker(napari_viewer, widget)
Worker for the LoG detector plugins
- run()
Execute the processing
- set_outputs()
Set the plugin outputs to napari layers
- class napari_stracking._sdetection_workers.SSegWidget(napari_viewer)
Widget for the Seg detector plugins
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
Properties plugins
- class napari_stracking._sproperties_plugins.SParticlesProperties(napari_viewer)
Plugin to calculate particles properties
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sproperties_workers.SIntensityPropertyWidget(parent_plugin)
Widget for the intensity property inputs
- check_inputs()
Check the widget user inputs
True is the inputs are correct, False if at least one input is not correct
- parameters()
Get the parameters values (state)
dict: a dictionary with the inputs values
- class napari_stracking._sproperties_workers.SSpotPropertiesWidget(napari_viewer)
Widget for the particles properties plugin
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- show_properties()
reload and display the particles properties in a popup window
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
Linking plugins
- class napari_stracking._slinking_plugins.SLinkerNearestNeighbor(napari_viewer)
Plugin to link detections using the nearest neighbor algorithm
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._slinking_plugins.SLinkerShortestPath(napari_viewer)
Plugin to link detections using the shortest path algorithm
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._slinking_workers.SLinkerNearestNeighborWidget(napari_viewer)
Widget for the linker nearest neighbor plugin
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- class napari_stracking._slinking_workers.SLinkerNearestNeighborWorker(napari_viewer, widget)
Worker for the linker nearest neighbor plugin
- run()
Execute the processing
- set_outputs()
Set the linker tracks to a new napari layer
- class napari_stracking._slinking_workers.SLinkerShortestPathWidget(napari_viewer)
Widget for the shortest path linker plugin
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
Features plugins
- class napari_stracking._sfeatures_plugins.STracksFeatures(napari_viewer)
Plugin to calculate tracks features
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._sfeatures_workers.SDisplacementFeatureWidget
Widget for the displacement feature
- class napari_stracking._sfeatures_workers.SDistanceFeatureWidget
Widget for the distance feature
- class napari_stracking._sfeatures_workers.SLengthFeatureWidget
Widget for the length feature
- class napari_stracking._sfeatures_workers.STracksFeaturesWidget(napari_viewer)
Widget for the tracks features plugins
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- show_features()
Method to call to force the features table display
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode
Filters plugins
- class napari_stracking._strackfilter_plugins.SFilterTrack(napari_viewer)
Dock widget to filter tracks
- napari_viewer: Viewer
Napari viewer
- class napari_stracking._strackfilter_workers.SFeatureFilterWidget(napari_viewer, layer_name, parent_plugin)
Widget for the features filter plugin
- class napari_stracking._strackfilter_workers.STrackFilterWidget(napari_viewer)
Widget for the tracks filter plugin
- check_inputs()
Check the user input in this widget
- Returns:
True if no error, False if at least one input contains an error. (ex not well writen number)
- init_layer_list()
Initialize the layers lists
- state() dict
Return the current state of the widget
The state in inputs values displayed in the the widget. Example
{'name': 'SDoGDetector', 'inputs': {'image': self._input_layer_box.currentText()}, 'parameters': {'min_sigma': float(self._min_sigma_value.text()), 'max_sigma': float(self._max_sigma_value.text()), 'threshold': float(self._threshold_value.text()), 'sigma_ratio': float(self._sigma_ratio_value.text()), 'overlap': float(self._overlap_value.text()), 'current_frame': self._current_frame_check.isChecked() }, 'outputs': ['points', 'DoG detections'] }
- Returns:
dict: a dictionary containing the widget inputs
- toggle_advanced(value)
Change the parameters widget to advanced mode