Quick and dirty test with this commit in my github fork.
I have added a menu option to pop-up the wxPython Widget Inspection Tool:
… which also contains a PyCrust pane:
Nowhere near the power of a Jupyter notebook, but still. As you can see, I am able to interact with the (event driven) wxPython CellProfiler app. Here are the commands if anyone wants to try then:
['pp', 'shell', 'obj', '__builtins__', 'app', 'filling', 'notebook', 'wx']
<cellprofiler.gui.pipelinecontroller.PipelineController object at 0x000000001B2C52E8>
Unfortunately for now, if you close the Inspection tool, relaunching it from the menu will crash CellProfiler (I really meant my “quick and dirty”).
Where do we go from here? Any interesting objects we can get at?
This is where defining some “IPython magic” would really help for command line interaction with CellProfiler. For example, substitute (if this is the right way to go about it)
Edit: Just found this code buried in cpframe.py:
# Lee wants the wx debugger
if os.environ.get("USERNAME", "").lower() == "leek":
self.__menu_debug.Append(ID_FILE_WIDGET_INSPECTOR, "Widget inspector")
So that might explain why I never saw the widget inspector menu option. Well played Lee
Although I still stand by my comments about IPython!