I’m trying to use the sendmessage() command to send the python code to manipulate the 3-D Slicer from the Kinect c# code. Currently the code to do so is:
Process notepadProccess = Process.GetProcessesByName("NEED NAME");
IntPtr notepadTextbox = FindWindowEx(notepadProccess.MainWindowHandle, IntPtr.Zero, "Edit", null);
SendMessage(notepadTextbox, WM_SETTEXT, 0, "ENTER PYTHON COMMAND");
What would the name be for the python interactor that would be needed to entered in the processor element to get it to send the commands to the interactor?
I don’t think you can or should try to control one application from another like this. There are many inter-process communication techniques, you should be able to find one that is easily accessible from both Slicer and your application. If you don’t want to build Slicer yourself then you can either use OpenIGTLink (www.openigtlink.org, there are C# implementations for sending/receiving transforms, which should be more than enough) or something native Python based library.
Im currently trying to set up a OpenIGTLinkIf connection between the Windows terminal/command prompt and the 3-D Slicer. The set up on the 3-d slicer runs correctly but following the instructions on the OpenIGTLinkIf page for the terminal (using the ./TrackerServer 18944 10) does not work simply throwing a ./TrackerServer is not recognized as an internal or external command, operable program or batch file. How can I fix this so the connect to the server is complete? Is there a plugin-in that has to be installed or is the command outdated now?
You need to implement OpenIGTLink communication in your software. What programming language do you use?
You may be able to use this OpenIGTLink client:
@lassoan, Sorry to bring this topic up again.
I’ve been looking thoroughly for C# solutions to connect to openIGTLink. (Mainly to use in unity and receive transforms/position/rotation).
I’ve been trying the following solution which is referred in most topics: https://github.com/franklinwk/OpenIGTLink-Unity. Unfortunately it is based on a deprecated SteamVR dependency, which doesn’t work on unity 2018.3 or higher.
The link you post above is written in C#. Do you advice trying to convert this to a DLL to use in unity, or do you know of any repositories having a working solution for recent unity version?