Skip to content

Commit

Permalink
remove all things related to ipc (ilastik#2900)
Browse files Browse the repository at this point in the history
this was used in the past for interop with KNIME, but isn't used anymore.
  • Loading branch information
k-dominik authored Aug 22, 2024
1 parent 4808660 commit 6e811fd
Show file tree
Hide file tree
Showing 17 changed files with 0 additions and 1,810 deletions.
17 changes: 0 additions & 17 deletions ilastik/applets/objectClassification/objectClassificationGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
from PyQt5.QtCore import pyqtSlot, Qt
from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import QFileDialog, QTableWidget, QTableWidgetItem, QGridLayout, QProgressBar
from ilastik.shell.gui.ipcManager import IPCFacade, Protocol

from ilastik.applets.objectExtraction.opObjectExtraction import default_features_key

Expand Down Expand Up @@ -759,22 +758,6 @@ def handleEditorRightClick(self, position5d, globalWindowCoordinate):
text = "Print info for object {} in the terminal".format(obj)
menu.addAction(text)

# IPC stuff
if ilastik_config.getboolean("ilastik", "debug"):
menu.addSeparator()
if any(IPCFacade().sending):
time = position5d[0]

sub = menu.addMenu("Hilite Object")
for mode in Protocol.ValidHiliteModes[:-1]:
where = Protocol.simple("and", time=time, ilastik_id=obj)
cmd = Protocol.cmd(mode, where)
sub.addAction(mode.capitalize(), IPCFacade().broadcast(cmd))
menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
else:
menu.addAction("Open IPC Server Window", IPCFacade().show_info)
menu.addAction("Start All IPC Servers", IPCFacade().start)

menu.addSeparator()
clearlabel = "Clear label for object {}".format(obj)
menu.addAction(clearlabel)
Expand Down
1 change: 0 additions & 1 deletion ilastik/applets/tracking/base/trackingBaseGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
from ilastik.utility.gui.threadRouter import threadRouted
from ilastik.utility.gui.titledMenu import TitledMenu
from ilastik.utility import log_exception
from ilastik.shell.gui.ipcManager import IPCFacade, Protocol


logger = logging.getLogger(__name__)
Expand Down
43 changes: 0 additions & 43 deletions ilastik/applets/tracking/conservation/conservationTrackingGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
from ilastik.utility.exportingOperator import ExportingGui
from ilastik.utility.gui.threadRouter import threadRouted
from ilastik.utility.gui.titledMenu import TitledMenu
from ilastik.utility.ipcProtocol import Protocol
from ilastik.shell.gui.ipcManager import IPCFacade
from ilastik.config import cfg as ilastik_config
from ilastik.plugins.manager import pluginManager

Expand Down Expand Up @@ -405,13 +403,10 @@ def get_export_dialog_title(self):
return "Export Tracking Information"

def handleEditorRightClick(self, position5d, win_coord):
debug = ilastik_config.getboolean("ilastik", "debug")

obj, time = self.get_object(position5d)
if obj == 0:
menu = TitledMenu(["Background"])
if debug:
menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
menu.exec_(win_coord)
return

Expand All @@ -425,44 +420,6 @@ def handleEditorRightClick(self, position5d, win_coord):
color = hypothesesGraph.getLineageId(time, obj)
track = hypothesesGraph.getTrackId(time, obj)

tracks = None
children = None
parents = None

menu = TitledMenu(["Object {} of lineage id {}".format(obj, color), "Track id: " + (str(track) or "None")])

if not debug:
menu.exec_(win_coord)
return

if any(IPCFacade().sending):

obj_sub_menu = menu.addMenu("Hilite Object")
for mode in Protocol.ValidHiliteModes:
where = Protocol.simple("and", ilastik_id=obj, time=time)
cmd = Protocol.cmd(mode, where)
obj_sub_menu.addAction(mode.capitalize(), IPCFacade().broadcast(cmd))

sub_menus = [
("Tracks", Protocol.simple_in, tracks),
("Parents", Protocol.simple_in, parents),
("Children", Protocol.simple_in, children),
]
for name, protocol, args in sub_menus:
if args:
sub = menu.addMenu("Hilite {}".format(name))
for mode in Protocol.ValidHiliteModes[:-1]:
mode = mode.capitalize()
where = protocol("track_id*", args)
cmd = Protocol.cmd(mode, where)
sub.addAction(mode, IPCFacade().broadcast(cmd))
else:
sub = menu.addAction("Hilite {}".format(name))
sub.setEnabled(False)

menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
else:
menu.addAction("Open IPC Server Window", IPCFacade().show_info)
menu.addAction("Start IPC Server", IPCFacade().start)

menu.exec_(win_coord)
122 changes: 0 additions & 122 deletions ilastik/applets/tracking/structured/structuredTrackingGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
from ilastik.utility.exportingOperator import ExportingGui
from ilastik.utility.gui.threadRouter import threadRouted
from ilastik.utility.gui.titledMenu import TitledMenu
from ilastik.utility.ipcProtocol import Protocol
from ilastik.shell.gui.ipcManager import IPCFacade
from ilastik.config import cfg as ilastik_config
from ilastik.utility import bind

Expand Down Expand Up @@ -654,92 +652,10 @@ def get_gui_applet(self):
def get_export_dialog_title(self):
return "Export Tracking Information"

# def handleEditorRightClick(self, position5d, win_coord):
# debug = ilastik_config.getboolean("ilastik", "debug")
#
# obj, time = self.get_object(position5d)
# if obj == 0:
# menu = TitledMenu(["Background"])
# if debug:
# menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
# menu.exec_(win_coord)
# return
#
# try:
# extra = self.mainOperator.extra_track_ids
# except (IndexError, KeyError):
# extra = {}
#
# # if this is a resolved merger, find which of the merged IDs we actually clicked on
# if time in extra and obj in extra[time]:
# colors = [self.mainOperator.label2color[time][t] for t in extra[time][obj]]
# tracks = [self.mainOperator.track_id[time][t] for t in extra[time][obj]]
# selected_track = self.get_color(position5d)
# idx = colors.index(selected_track)
# color = colors[idx]
# track = tracks[idx]
# else:
# try:
# color = self.mainOperator.label2color[time][obj]
# track = [self.mainOperator.track_id[time][obj]][0]
# except (IndexError, KeyError):
# color = None
# track = []
#
# if track:
# children, parents = self.mainOperator.track_family(track)
# else:
# children, parents = None, None
#
# menu = TitledMenu([
# "Object {} of lineage id {}".format(obj, color),
# "Track id: " + (str(track) or "None"),
# ])
#
# if not debug:
# menu.exec_(win_coord)
# return
#
# if any(IPCFacade().sending):
#
# obj_sub_menu = menu.addMenu("Hilite Object")
# for mode in Protocol.ValidHiliteModes:
# where = Protocol.simple("and", ilastik_id=obj, time=time)
# cmd = Protocol.cmd(mode, where)
# obj_sub_menu.addAction(mode.capitalize(), IPCFacade().broadcast(cmd))
#
# sub_menus = [
# ("Tracks", Protocol.simple_in, tracks),
# ("Parents", Protocol.simple_in, parents),
# ("Children", Protocol.simple_in, children)
# ]
# for name, protocol, args in sub_menus:
# if args:
# sub = menu.addMenu("Hilite {}".format(name))
# for mode in Protocol.ValidHiliteModes[:-1]:
# mode = mode.capitalize()
# where = protocol("track_id*", args)
# cmd = Protocol.cmd(mode, where)
# sub.addAction(mode, IPCFacade().broadcast(cmd))
# else:
# sub = menu.addAction("Hilite {}".format(name))
# sub.setEnabled(False)
#
# menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
# else:
# menu.addAction("Open IPC Server Window", IPCFacade().show_info)
# menu.addAction("Start IPC Server", IPCFacade().start)
#
# menu.exec_(win_coord)

def handleEditorRightClick(self, position5d, win_coord):
debug = ilastik_config.getboolean("ilastik", "debug")

obj, time = self.get_object(position5d)
if obj == 0:
menu = TitledMenu(["Background"])
if debug:
menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
menu.exec_(win_coord)
return

Expand All @@ -752,46 +668,8 @@ def handleEditorRightClick(self, position5d, win_coord):
color = hypothesesGraph.getLineageId(time, obj)
track = hypothesesGraph.getTrackId(time, obj)

tracks = None
children = None
parents = None

menu = TitledMenu(["Object {} of lineage id {}".format(obj, color), "Track id: " + (str(track) or "None")])

if not debug:
menu.exec_(win_coord)
return

if any(IPCFacade().sending):

obj_sub_menu = menu.addMenu("Hilite Object")
for mode in Protocol.ValidHiliteModes:
where = Protocol.simple("and", ilastik_id=obj, time=time)
cmd = Protocol.cmd(mode, where)
obj_sub_menu.addAction(mode.capitalize(), IPCFacade().broadcast(cmd))

sub_menus = [
("Tracks", Protocol.simple_in, tracks),
("Parents", Protocol.simple_in, parents),
("Children", Protocol.simple_in, children),
]
for name, protocol, args in sub_menus:
if args:
sub = menu.addMenu("Hilite {}".format(name))
for mode in Protocol.ValidHiliteModes[:-1]:
mode = mode.capitalize()
where = protocol("track_id*", args)
cmd = Protocol.cmd(mode, where)
sub.addAction(mode, IPCFacade().broadcast(cmd))
else:
sub = menu.addAction("Hilite {}".format(name))
sub.setEnabled(False)

menu.addAction("Clear Hilite", IPCFacade().broadcast(Protocol.cmd("clear")))
else:
menu.addAction("Open IPC Server Window", IPCFacade().show_info)
menu.addAction("Start IPC Server", IPCFacade().start)

menu.exec_(win_coord)

@threadRouted
Expand Down
25 changes: 0 additions & 25 deletions ilastik/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,31 +59,6 @@
token_url: https://web.ilastik.org/token/
upload_file_url: https://web.ilastik.org/v1/files/
create_project_url: https://web.ilastik.org/v1/batch/projects/
[ipc raw tcp]
autostart: false
autoaccept: true
port: 9999
interface: localhost
[ipc zmq tcp publisher]
autostart: false
address: 127.0.0.1:9998
[ipc zmq tcp subscriber]
autostart: false
address: localhost:9997
[ipc zmq ipc]
basedir: /tmp/ilastik
[ipc zmq ipc publisher]
autostart: false
filename: out
[ipc zmq ipc subscriber]
autostart: false
filename: in
"""


Expand Down
1 change: 0 additions & 1 deletion ilastik/ilastik_logging/logging_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
"ilastik.applets.blockwiseObjectClassification": { "level":"INFO" },
"ilastik.shell": { "level":"INFO" },
"ilastik.shell.projectManager": { "level":"INFO" },
"ilastik.shell.gui.ipcManager": { "level":"INFO" },
"ilastik.utility": { "level":"INFO" },
"ilastik.utility.exportingOperator": { "level":"INFO" },
"ilastik.utility.exportFile": { "level":"INFO" },
Expand Down
49 changes: 0 additions & 49 deletions ilastik/shell/gui/ilastikShell.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@
)

# lazyflow
from ilastik.widgets.ipcserver.tcpServerInfoWidget import TCPServerInfoWidget
from ilastik.widgets.ipcserver.zmqPubSubInfoWidget import ZMQPublisherInfoWidget
from ilastik.widgets.collapsibleWidget import CollapsibleWidget
from lazyflow.roi import TinyVector
from lazyflow.graph import Operator
Expand Down Expand Up @@ -97,7 +95,6 @@
from ilastik.widgets.appletDrawerToolBox import AppletDrawerToolBox, AppletBarManager
from ilastik.widgets.filePathButton import FilePathButton

from ilastik.shell.gui.ipcManager import IPCFacade, TCPServer, TCPClient, ZMQPublisher, ZMQSubscriber, ZMQBase

# Import all known workflows now to make sure they are all registered with getWorkflowFromName()
import ilastik.workflows
Expand Down Expand Up @@ -327,50 +324,6 @@ def __init__(self, parent=None, workflow_cmdline_args=None, flags=Qt.WindowFlags
self.thunkEventHandler = ThunkEventHandler(self)
self.threadRouter = ThreadRouter(self) # Enable @threadRouted

# Server/client for inter process communication for receiving remote commands (e.g. from KNIME)
# For now, this is a developer-only feature, activated by a debug menu item.
if ilastik_config.getboolean("ilastik", "debug"):
facade = IPCFacade()
facade.register_shell(self)
facade.register_widget(TCPServerInfoWidget(), "TCP Connection", "raw tcp")
interface = ilastik_config.get("ipc raw tcp", "interface")
port = ilastik_config.getint("ipc raw tcp", "port")
start = ilastik_config.getboolean("ipc raw tcp", "autostart")
facade.register_module(TCPServer(interface, port), "receiver", "raw tcp server", "raw tcp", start=start)
facade.register_module(TCPClient(), "sender", "raw tcp client", "raw tcp", "tcp")

if ZMQBase.available("tcp"):
facade.register_widget(ZMQPublisherInfoWidget(), "ZeroMQ Pub Sub TCP", "zmq tcp")
start = ilastik_config.getboolean("ipc zmq tcp publisher", "autostart")
address = ilastik_config.get("ipc zmq tcp publisher", "address")
facade.register_module(ZMQPublisher("tcp", address), "sender", "zmq tcp pub", "zmq tcp", start=start)
start = ilastik_config.getboolean("ipc zmq tcp subscriber", "autostart")
address = ilastik_config.get("ipc zmq tcp subscriber", "address")
facade.register_module(ZMQSubscriber("tcp", address), "receiver", "zmq tcp sub", "zmq tcp", start=start)

if ZMQBase.available("ipc"):
base_dir = ilastik_config.get("ipc zmq ipc", "basedir")
can_start = True
try:
os.mkdir(base_dir)
except OSError as e:
if e.errno != 17: # exists
can_start = False
if can_start:
facade.register_widget(ZMQPublisherInfoWidget(), "ZeroMQ Pub Sub IPC", "zmq ipc")
start = ilastik_config.getboolean("ipc zmq ipc publisher", "autostart")
filename = ilastik_config.get("ipc zmq ipc publisher", "filename")
path = os.path.join(base_dir, filename)
facade.register_module(
ZMQPublisher("ipc", path), "sender", "zmq ipc pub", "zmq ipc", start=start
)
start = ilastik_config.getboolean("ipc zmq ipc subscriber", "autostart")
filename = ilastik_config.get("ipc zmq ipc subscriber", "filename")
path = os.path.join(base_dir, filename)
facade.register_module(
ZMQSubscriber("ipc", path), "receiver", "zmq ipc sub", "zmq ipc", start=start
)

self.openFileButtons = []
self.cleanupFunctions = []

Expand Down Expand Up @@ -789,8 +742,6 @@ def _createDebugMenu(self):

menu.addMenu(self._createAllocationTrackingSubmenu())

menu.addAction("Show IPC Server Info", IPCFacade().show_info)

def hideApplets(hideThem):
self.mainSplitter.setVisible(not hideThem)

Expand Down
Loading

0 comments on commit 6e811fd

Please sign in to comment.