Difference between revisions of "Example of post processing plugin with template update"

From Dynamo
Jump to navigation Jump to search
Line 7: Line 7:
  
 
==Plugin code==
 
==Plugin code==
A plugin function is a script called <tt>dynamo_plugin_post_<Some identification></tt>. For this example you can just choose any folder in your file system, say <tt><some folder></tt> and edit there a script file called <tt><some folder>/dynamo_plugin_post_<Some identification>.m</tt>
+
A plugin function is a script called <tt>dynamo_plugin_post_<Some identification></tt>. For this example you can just choose any folder in your file system, say <tt>~/myPlugins</tt> and edit there a script file called <tt>~/myPlugins/dynamo_plugin_post_example.m</tt>.
  
  
Line 18: Line 18:
  
 
== Running a project that calls a plugin ==
 
== Running a project that calls a plugin ==
 +
After binding the plugin into the project, you need to make certain that Matlab  will find it in runtime while executing the project. To this end, you need to add the path to the plugin script into the Matlab execution path:
 +
 +
<tt>addpath('~/myPlugins')<>;

Revision as of 11:41, 5 October 2016

Here we show a piece of code that illustrates how to create a simple post processing plugin. In this case, we show an example that operates a minimum of functionality of a plugin: operating on the average produced by one iteration, allowing Dynamo to use a transform of the average as template for the next iteration. This particular example implements a transform consisting in applying a C2 transfom along all x,y,z axis of the template.

The plugin is callable through Matlab execution of the project.


Plugin code

A plugin function is a script called dynamo_plugin_post_<Some identification>. For this example you can just choose any folder in your file system, say ~/myPlugins and edit there a script file called ~/myPlugins/dynamo_plugin_post_example.m.


Activating the plugin inside a project

After writing the script, you need to make your project aware of the fact that during runtime a project will be invoked:

dvput ptest plugin_post_r1 1

Then, you need to pass the syntax of the plugin script. We don't pass the dynamo_plugin_post part.

dvput ptest plugin_post_order_r1 'example();'

Running a project that calls a plugin

After binding the plugin into the project, you need to make certain that Matlab will find it in runtime while executing the project. To this end, you need to add the path to the plugin script into the Matlab execution path:

addpath('~/myPlugins')<>;