Project

General

Profile

How to add an AppionLoop GUI page » History » Revision 2

Revision 1 (Amber Herold, 02/05/2014 05:13 PM) → Revision 2/43 (Amber Herold, 02/05/2014 05:16 PM)

h1. How to add an AppionLoop GUI page 

 See feature #2634 for more information on the code that supports these directions. 

 # *Add a wiki page to the [[Appion_Processing|Appion User Guide]] describing how to use this feature* 
 # *Add a publication reference for the package you are using* 
   
 ## Edit /myami/myamiweb/processing/inc/publicationList.inc to include an entry for any references you need to add to your launch page. 
   
 # *Create a new form class for your feature* 
   $nbsp; 
 ** Create a new file in myami/myamiweb/processing/inc/forms. Call it coolFeatureForm.inc. 
 ** Create a class in this file that extends the BasicLoopForm class like this: 
 <pre> 
 require_once "basicLoopForm.inc"; 

 class AutoMaskForm extends BasicLoopForm 
 { 
 ... 
 </pre> 
 ** Examples are available in autoMaskForm.inc and makeDDstackForm.inc 
 &nbsp; $nbsp; 
 # *Set parameters needed by the BasicLoopForm class* 
 &nbsp; 
 <pre> 
 //------ Set Parameters for the parent class, BasicLoopForm (general Appion params) -----// 
		
 // Set the publications to be references on the web pages 
 $pubList = array('appion'); // The publication reference key that you added to publicationList.inc 
 $this->setPublications( $pubList ); 

 // Job Type should be unique to Appion. Used in the database to determine the type of job being run. 
 $this->setJobType( 'maskmaker' );  

 // The name of the folder that all runs of this job type will be stored in. 
 $this->setOutputDirectory( 'mask' );   

 // A portion of the run name that will be common (by default) to all runs of this job type. A unique number is appended to individual run names. 
 $this->setBaseRunName( 'maskrun' );  

 // The title on the web page for this feature. 
 $this->setTitle( 'Auto Masking Launcher' );  

 // The Heading on the web page for this feature. 
 $this->setHeading( 'Automated Masking with EM Hole Finder' );  

 // The name of the python executable file that this GUI corresponds to. It should be based on the AppionLoop class and located in the myami/appion/bin folder. 
 $this->setExeFile( 'automasker.py' ); 

 // A URL corresponding to a wiki page in the Appion User Guide with information on running this feature.   
 $this->setGuideURL( "http://emg.nysbc.org/projects/appion/wiki/Appion_Processing" ); 

 
 $this->setTestable( True ); // True to activate "test single image" field of Appion Loop parameters. image". 
 $this->setTestable( True $this->setUseLegOutDir( False );  

 // The output directory will be created in the Appion run directory rather than Leginon. 
 $this->setUseLegOutDir( $this->setShowDesc( False ); 

 // Flag to hide the description field of the run parameters. True enables the description field. 
 $this->setShowDesc( False );  
 </pre>