Customize and Automate Workflows with Simpleware Software

Posted on 20 May 2020 by Celia Butler

 

If you have a well-established workflow, have you considered automating it? Simpleware ScanIP offers a range of ways to help save time and effort for 3D image processing. Simply group key tools into the same place, or go the whole way and integrate Simpleware ScanIP into a command line run process which could be a single stage in a full workflow.

My Tools Ribbon

Don’t waste time moving around the software to find your next tool… use the My tools ribbon. This allows you to collect your most commonly used tools into a single place, and helps you to quickly move through a workflow with minimal effort.

Simpleware ScanIP interface showing the My tools ribbon and how to customize it

Simpleware ScanIP interface showing the My tools ribbon and how to customize it

Scripting

If you have a process you are constantly repeating using one or more datasets, you could use our scripting functionality to automate it. This could be as simple as running a few tools one after another, for example:

  1. Applying a Morphological Close filter to close small holes
  2. Applying a Cavity fill to remove internal cavities
  3. Applying a Recursive Gaussian to smooth the surface

You can also automate the process of importing, segmenting, and tidying image data before creating and meshing models for export (among many other operations). This can be done for multiple datasets. Supported scripting languages include Python and C#.

There are a few ways to create your scripts:

  1. Complete scripting novice? Use our Macro option to record the workflow as you perform it
  2. Dabbled in scripting before but not so sure? Convert from the log in an existing project file into any of the supported languages
  3. Expert at your chosen scripting language? Use our Simpleware Scripting API to find the right commands and write from scratch

Alternatively, use a combination of the options above along with our Scripting Help Guide, which gives you examples of scripts built using our tutorials and the associated data. These also give you guidance on how to build in loops, dialogue boxes and more.

Simpleware ScanIP interface showing the Scripting tab

Simpleware ScanIP interface showing the Scripting tab; (A) shows the Macro record option, (B) shows the option to convert from the Log tab to a script – shown for Python 2 and 3

Plug-Ins

If you have your own filters or tools that you have created as a Python source file or a .NET executable, then you can integrate them into Simpleware software using the Plug-in option. This effectively extends Simpleware ScanIP to include custom functionality. Just drop them into the Plug-ins folder and they will be added to a new tab.

If you find that a specific part of your workflow can’t be completed in Simpleware ScanIP, speak to us about writing a plug-in to fill the gap.

Run from the Command Line

If you have very large batches to process and your Simpleware ScanIP workflow is fixed, then you could look at running ScanIP from the command line. This is particularly useful if Simpleware software is part of a workflow involving a range of different programs.

For example, this method works well for testing the design of a patient specific implant which will be 3D printed. The patient image data is segmented, and the user-designed patient specific implant is placed, before a model is created and passed to a simulation package. This workflow can be carried out multiple times to create a parametric series of simulations, which find an optimal outcome by varying the placement of the implant to take into account the bone density and topology of the patient’s anatomy.

In this case, the workflow is well-established and small variations in the placement of the implant can be specified and implemented. With no user interaction, the GUI is not required, as the tools can be accessed via the command line.

Any Questions?

If you are interested in learning more about our automation and customization solutions, please get in touch with us!

Our application engineers will work with you to understand the situation and offer elegant and innovative solutions to specific problems, and are always happy to give you pointers about where to start if you would like to try it yourself!