Difference between revisions of "2013 Summer Project Week Breakout Session:SlicerExtensions"

From NAMIC Wiki
Jump to: navigation, search
m
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
  [[2013_Summer_Project_Week#Agenda|Back to Summer project week Agenda]]
 
  [[2013_Summer_Project_Week#Agenda|Back to Summer project week Agenda]]
 +
  
 
== Before the breakout session ==
 
== Before the breakout session ==
  
* Complete the [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/StartHere New community member checklist]
+
* Complete the [https://www.slicer.org/wiki/Documentation/Nightly/Developers/StartHere New community member checklist]
  
* [http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions Build Slicer] revision >= 22100 with default options
+
* [https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_Instructions Build Slicer] revision >= 22100 with default options
  
 +
'''Important: Since building Slicer can be network intensive and can take between 1hr and 3hrs, make sure to build it before coming to the Project week'''
  
 
== Goal ==
 
== Goal ==
  
During the breakout session we will walk through the resources available for creating extension in Slicer 4. It is based on a build of Slicer r22100 as of project week (June 17, 2013).
+
* During the breakout session we will walk through the resources available for creating, building and distributing extension in Slicer 4. It is based on a build of Slicer r22100 and the wiki documentation as of project week (June 17, 2013).
 
 
One goal is to demonstrate the development and testing of a python scripted Slicer module.
 
 
 
Another goal is to provide A Guide to Python in Slicer for the Casual Power User which means that this walkthrough of the features of Slicer should give you an idea how to make a custom module that helps organize and automate your processing. This can be useful for your own research or you can create helper modules that simplify the work for users who are exploring an algorithm or working with a large set of studies.
 
  
In this tutorial, we'll make a module that allows you to quickly sequence through a set of volumes. We'll see how to make a custom GUI with a slider, how to implement the volume switching functionality, and how to write a self-test for the module.
+
* We will go through the [https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/BuildTestPackageDistributeExtensions updated Slicer wiki documentation], then attendees will install extension developed and published by the other attendees.
Then we'll step back and look at how you could build on what you have learned in order to implement custom solutions to your research problems using Slicer's python interface.
 
  
 +
* Finally we'll go through the list of questions reported below and look at how the current system could be improved.
  
== Q&A ==
+
== Q&A / Group discussion ==
  
''Do not hesitate to edit this page and add more questions''
+
''Do not hesitate to edit this page and add more questions. Before doing so, make also sure to scan through the existing [https://www.slicer.org/wiki/Documentation/Nightly/FAQ/Extensions user] and [https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ/Extensions developer] extension FAQs''
  
* Infrastructure: How much of slicer's core infrastructure should be used by extensions ?
+
=== How much of slicer's core infrastructure should be used by extensions ? ===
 +
<pre>
 
From Andra Lasso: Currently the picture is quite mixed:
 
From Andra Lasso: Currently the picture is quite mixed:
 
: Source control: separate for all extensions
 
: Source control: separate for all extensions
Line 34: Line 33:
 
: Dashboard: shared between Slicer core and extensions (extensions appear in
 
: Dashboard: shared between Slicer core and extensions (extensions appear in
 
a different category)
 
a different category)
 +
</pre>
 +
 +
=== Can you make a python scripted extension without a built version of slicer ? ===
 +
 +
=== Is the API key only used for 'make Experimental' and 'make ExperimentalUpload'? ===
 +
 +
=== Slicer only allows to download extensions that are build against the same Slicer svn revision. If an extension is built against Slicer which was downloaded from github, will Slicer recognize in that that specific version of Slicer matches the version of Slicer that was used to compile the extension? (ie: if I build the extension against a version of Slicer (downloaded from github) on my computer, can I download that extension in that same Slicer?)===
  
* Process: Can you make a python scripted extension without a built version of slicer ?
+
=== Is there some documentation that explains how to upload and use test data from a server? ===

Latest revision as of 17:17, 10 July 2017

Home < 2013 Summer Project Week Breakout Session:SlicerExtensions
Back to Summer project week Agenda


Before the breakout session

Important: Since building Slicer can be network intensive and can take between 1hr and 3hrs, make sure to build it before coming to the Project week

Goal

  • During the breakout session we will walk through the resources available for creating, building and distributing extension in Slicer 4. It is based on a build of Slicer r22100 and the wiki documentation as of project week (June 17, 2013).
  • Finally we'll go through the list of questions reported below and look at how the current system could be improved.

Q&A / Group discussion

Do not hesitate to edit this page and add more questions. Before doing so, make also sure to scan through the existing user and developer extension FAQs

How much of slicer's core infrastructure should be used by extensions ?

From Andra Lasso: Currently the picture is quite mixed:
: Source control: separate for all extensions
: Issue tracking: separate for most extensions
: Module documentation: shared between Slicer core and extensions
(extensions appear in a different section)
: Hosting of binary releases: shared between Slicer core and extensions
(extensions appear in a different category)
: Dashboard: shared between Slicer core and extensions (extensions appear in
a different category)

Can you make a python scripted extension without a built version of slicer ?

Is the API key only used for 'make Experimental' and 'make ExperimentalUpload'?

Slicer only allows to download extensions that are build against the same Slicer svn revision. If an extension is built against Slicer which was downloaded from github, will Slicer recognize in that that specific version of Slicer matches the version of Slicer that was used to compile the extension? (ie: if I build the extension against a version of Slicer (downloaded from github) on my computer, can I download that extension in that same Slicer?)

Is there some documentation that explains how to upload and use test data from a server?