Philips Independent User Group web page. The information and opinions on this site neither belong to or are endorsed by Philips. Individuals have submitted these pages, they may be used at the surfer's own risk. Any programs copied down should be tested thoroughly by the end user. No liability rests with the author, Philips or the hosts of the site.
What the Manual didn't tell you
Why are there 2 macro languages?Short answer: dunno. It looks like workbench came first. There are fundamental differences. You can process data in both but you can only save your image results from WB processing (except you can save lightboxes in Pixie). In Pixie you can save curves and ROI's. The WB image processing commands are more sophisticated, e.g. Fourier filtering, but here is no curve processing (except profiles which can be saved). Pixie is strong on ROI and curve processing, it even has a deconvolution function hidden away in there. Finally you can call a Pixie program from WB but not a WB program from Pixie. You can also call a shell script from Pixie but not (I think) from WB. So that clears that up!
ibdisplay vs show? Ibdisplay is for your clever image processing comands, you need to load each frame into a buffer before use (using ibload). On the other hand show can only display images off disk, i.e. raw data or images resulting from processing on WB. Show is a very flexible display program allowing a wealth of enhancements (borders, image summing, reference images, zooming, panning, annotation, alignment, truncation). Just think of all the programming that is going to save you! However there is more to show that that, it is a means for the user to communicate with the program since it places in global variable everything that the user did with it (zoom factor, zoom centre, start frame, truncation value). The programmer can then use these variables to control future calls of show, or use them as inputs to image processing with ibalg (translate)
Curve Cursors I guess it is in the manual but easily missed (I managed) the action of cursors in curve display is very helpful. Not only can they (fairly obviously) be used to select a section of the curve and save it back to the buffer, but also the position the operator left the cursors in is passed to subsequent curve programs (e.g. curve maths) so that the operator can identify a section of a curve to perform curve fitting on. Means you can make a powerful macro with user interactions all using macro-learn. See also more about curves including a bug and its workround.