Recommendations for integrating an IP Experiment into a work flow
hegedus
I have developed an experiment for a client that analyzes an image and generates several statistics and output summary waves that get saved for further analysis in another program typically JMP. There are two methods of running the analysis first the user can select and image and the analysis runs and saves all the files. The other methods is have the user point to a top level directory and then the program traverses the subdirectories and finds the images and processes them in sequence, basically a version of a batch mode.
The client would now like to progress further and incorporate the analysis automatically when the image is generated. The image is generated in a tool built by the client and they have control of the software interface. It is my understanding that the interface that the operator uses is created in visuals C++ and runs on a windows based server. When the image is taken the host software has the path information to that image.
What would be the easiest way to integrate the analysis by IP7. Basically the experiment would need to know where the image file was located, run the analysis and then quit. I have never done this type of integration before and looking for tips. The client has control of the interface software and can makes changes as necessary.
How should we proceed?
Thanks in advance.
Andy
start "C:\Program Files\WaveMetrics\Igor Pro 7 Folder\IgorBinaries_x64\Igor64.exe" /I "pathToPXPfile" & timeout/t 20 "C:\Program Files\WaveMetrics\Igor Pro 7 Folder\IgorBinaries_x64\Igor64.exe" /Q/X "FunctionName(arguments)"
The "timeout" parameter is just to give Igor 20 seconds to start before trying to run the procedure. For more info about the flags, look in the help:
DisplayHelpTopic "Calling Igor from Scripts"
. If you really want Igor to quit once the analysis is done, you can include this line at the end of the function:Execute/Z "Quit/N"
.July 13, 2017 at 08:05 am - Permalink
Thank you I saw the section you referenced, but your example helped understand the process. I think this will work.
Andy
July 13, 2017 at 06:08 pm - Permalink
July 13, 2017 at 07:48 pm - Permalink
1) Run Igor all the time, monitoring the directory in which the images are output, and on new images do the analysis.
2) Run a windows background service/ task, monitoring the directory in which the images are output, and on new images call Igor and do the analysis with this image.
Depending on how frequently images are output you would have to select some of these two, or some variation of these two choices.
best,
_sk
July 14, 2017 at 12:34 am - Permalink
I'm using that in one of my projects for interfacing with our igor data acquisition software from other programming languages.
July 20, 2017 at 02:32 am - Permalink
Quite interesting. Thanks for sharing.
Correct me if I am wrong, but the ZeroMQ XOP would require Igor Pro to be running, right?
best,
_sk
July 20, 2017 at 02:40 am - Permalink
Yes.
If that is a problem you would have to start Igor Pro explicitly and then let the ZeroMQ XOP start listening for incoming messages. Probably via a procedure file in "Igor Procedures".
July 20, 2017 at 07:02 am - Permalink