<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Extension Developer Guide on CamiTK</title>
    <link>https://camitk.timc.fr/docs/extensiondeveloper/</link>
    <description>Recent content in Extension Developer Guide on CamiTK</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://camitk.timc.fr/docs/extensiondeveloper/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Python Extensions</title>
      <link>https://camitk.timc.fr/docs/extensiondeveloper/python-extensions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://camitk.timc.fr/docs/extensiondeveloper/python-extensions/</guid>
      <description>&lt;div class=&#34;td-alert td-alert--md alert alert-important&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34;&gt;Develop Python Extensions for CamiTK&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;Use Python to create &lt;strong&gt;Actions&lt;/strong&gt;, &lt;strong&gt;Components&lt;/strong&gt;, or &lt;strong&gt;Viewers&lt;/strong&gt; with CamiTK&amp;rsquo;s Python API.&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;getting-started-with-python-extensions&#34;&gt;Getting Started with Python Extensions&lt;/h2&gt;&#xA;&lt;div class=&#34;row justify-content-center mb-4&#34;&gt;&#xA;  &lt;div class=&#34;col-12 col-lg-8&#34;&gt;&#xA;    &lt;div class=&#34;card shadow-sm&#34;&gt;&#xA;      &lt;div class=&#34;card-body&#34;&gt;&#xA;        &lt;p class=&#34;lead&#34;&gt;&#xA;          Python extensions are ideal for &lt;strong&gt;rapid prototyping&lt;/strong&gt;, &lt;strong&gt;machine learning integration&lt;/strong&gt;, and &lt;strong&gt;scripting&lt;/strong&gt;.&#xA;          DevStudio generates a Python file for each action for you to complete.&#xA;        &lt;/p&gt;&#xA;        &lt;h4 class=&#34;mt-4&#34;&gt;Steps to Create a Python Extension:&lt;/h4&gt;&#xA;        &lt;ol&gt;&#xA;          &lt;li&gt;Open &lt;strong&gt;DevStudio&lt;/strong&gt; from the CamiTK menu.&lt;/li&gt;&#xA;          &lt;li&gt;Define your extension&#39;s &lt;strong&gt;name&lt;/strong&gt;, &lt;strong&gt;package requirements&lt;/strong&gt; (if any), &lt;strong&gt;parameters&lt;/strong&gt;, and &lt;strong&gt;input components&lt;/strong&gt;.&lt;/li&gt;&#xA;          &lt;li&gt;DevStudio generates the boilerplate code: a &lt;code&gt;.py&lt;/code&gt; for each action for you to edit and a &lt;code&gt;.camitk&lt;/code&gt; containing the metadata of your extension.&lt;/li&gt;&#xA;          &lt;li&gt;As shown in the &lt;a href=&#39;https://camitk.timc.fr/docs/extensiondeveloper/#python-devstudio-video&#39;&gt;devstudio video&lt;/a&gt; click on &lt;kbd&gt;Initialize&lt;/kbd&gt; to generate the boilerplate code for first time and then on &lt;kbd&gt;Register&lt;/kbd&gt; to integrate it in CamiTK (it will then be automatically available in the corresponding Action menu).&lt;/li&gt;&#xA;          &lt;li&gt;Complete the &lt;code&gt;process&lt;/code&gt; function in the generated Python file.&lt;/li&gt;&#xA;        &lt;/ol&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;python-action-code-template&#34;&gt;Python Action code template&lt;/h2&gt;&#xA;&lt;p&gt;When DevStudio generates the template code of an action, you will find four functions in the corresponding Python file. Some Python code is generated when DevStudio creates your action to show you an example of what is expected (see &lt;a href=&#39;https://camitk.timc.fr/docs/extensiondeveloper/#python-devstudio-video&#39;&gt;devstudio video&lt;/a&gt;). It is now up to you to modify the four functions/methods:&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Extensions</title>
      <link>https://camitk.timc.fr/docs/extensiondeveloper/cpp-extensions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://camitk.timc.fr/docs/extensiondeveloper/cpp-extensions/</guid>
      <description>&lt;div class=&#34;td-alert td-alert--md alert alert-important&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;td-alert-heading alert-heading&#34; role=&#34;heading&#34;&gt;Develop C++ Extensions for CamiTK&lt;/div&gt;&#xA;  &lt;div class=&#34;td-alert-body&#34;&gt;&#xA;    &lt;p&gt;Use C++ for &lt;strong&gt;high-performance&lt;/strong&gt; extensions, such as computationally intensive tasks.&lt;/p&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;getting-started-with-c-extensions&#34;&gt;Getting Started with C++ Extensions&lt;/h2&gt;&#xA;&lt;div class=&#34;row justify-content-center mb-4&#34;&gt;&#xA;  &lt;div class=&#34;col-12 col-lg-8&#34;&gt;&#xA;    &lt;div class=&#34;card shadow-sm&#34;&gt;&#xA;      &lt;div class=&#34;card-body&#34;&gt;&#xA;        &lt;p class=&#34;lead&#34;&gt;&#xA;          C++ extensions are ideal for &lt;strong&gt;performance-critical&lt;/strong&gt; tasks.&#xA;          DevStudio generates all the files required to add your extension into CamiTK.&#xA;        &lt;/p&gt;&#xA;        &lt;h4 class=&#34;mt-4&#34;&gt;Steps to Create a C++ Extension:&lt;/h4&gt;&#xA;        &lt;ol&gt;&#xA;          &lt;li&gt;Open &lt;strong&gt;DevStudio&lt;/strong&gt; from the CamiTK menu.&lt;/li&gt;&#xA;          &lt;li&gt;Define your extension&#39;s &lt;strong&gt;name&lt;/strong&gt;, &lt;strong&gt;parameters&lt;/strong&gt;, and &lt;strong&gt;input components&lt;/strong&gt;.&lt;/li&gt;&#xA;          &lt;li&gt;Choose between &lt;strong&gt;Hotplug&lt;/strong&gt; or &lt;strong&gt;Standard&lt;/strong&gt; extension types.&lt;/li&gt;&#xA;          &lt;li&gt;DevStudio generates the boilerplate code: one C++ files per action for you to complete, a &lt;code&gt;.camitk&lt;/code&gt; file containing the metadata of your extension, and a &lt;code&gt;CMakeLists.txt&lt;/code&gt; ready to build your code.&lt;/li&gt;&#xA;          &lt;li&gt;As shown in the &lt;a href=&#39;https://camitk.timc.fr/docs/extensiondeveloper/#python-devstudio-video&#39;&gt;devstudio video&lt;/a&gt; click on &lt;kbd&gt;Initialize&lt;/kbd&gt; to automatically build your extension for the first time and then on &lt;kbd&gt;Register&lt;/kbd&gt; to integrate it in CamiTK (it will then be automatically available in the corresponding Action menu).&lt;/li&gt;&#xA;          &lt;li&gt;Complete the generated C++ classes and rebuild to modify your extension.&lt;/li&gt;&#xA;        &lt;/ol&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;c-action-code-template&#34;&gt;C++ Action code template&lt;/h2&gt;&#xA;&lt;p&gt;When DevStudio generates the template code of an action, it generates a class derived from CamiTK &lt;code&gt;Action&lt;/code&gt; in the corresponding &lt;code&gt;.cpp&lt;/code&gt; files (the header file is generated, if you need to add fields to your class use the DevStudio UI or edit the &lt;code&gt;.camitk&lt;/code&gt; directly). There are four methods you will need to complete. Some C++ code is generated when DevStudio creates your action for the first time to show you an example of what is expected. It is now up to you to modify the four methods:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
