Isis 3 Programmer Reference
Isis::PipelineApplication Class Reference

This class represents one application in the pipeline. More...

#include <PipelineApplication.h>

Collaboration diagram for Isis::PipelineApplication:
Collaboration graph

Public Types

enum  NameModifierType { ConstantStrings }
 This is used for branches. More...
 
enum  CustomParameterValue { LastOutput , LastAppOutputList , LastAppOutputListNoMerge }
 This is used to set custom values that must be calculated on the fly. More...
 

Public Member Functions

 PipelineApplication (QString appName, Pipeline *pipe)
 Constructs the first pipeline application.
 
 PipelineApplication (QString appName, PipelineApplication *previous)
 Constructs subsequent pipeline applications.
 
 ~PipelineApplication ()
 This is the destructor.
 
const QString & Name () const
 Get the name of this pipeline application.
 
const std::vector< QString > & ParamString () const
 Get the parameters for running this program; one element in the vector per run.
 
const std::vector< QString > & InputBranches () const
 Get the branches this program expects as input.
 
const std::vector< QString > & OutputBranches () const
 Get the branches this program has as output.
 
void Enable ()
 This method enables this program to be run.
 
void Disable ()
 This method disables this program, causing it to be ignored.
 
const bool & Enabled () const
 Returns true if this program will be run.
 
void SetInputParameter (const QString &inputParamName, bool supportsVirtualBands)
 Set the input parameter for this application and whether or not this application supports the virtual bands functionality.
 
void SetInputParameter (const QString &inputParamName, CustomParameterValue value, bool supportsVirtualBands)
 Set the input parameter for this application and whether or not this application supports the virtual bands functionality.
 
void SetOutputParameter (const QString &outputParamName, const QString &outNameModifier, const QString &outFileExtension="cub")
 Set the output parameter for this application and it's naming convention.
 
void SetOutputParameter (const QString &branch, const QString &outputParamName, const QString &outNameModifier, const QString &outFileExtension)
 Set the output parameter for a branch of this application and it's naming convention.
 
void AddBranch (const QString &modString, NameModifierType type)
 This method adds branch to this program.
 
void AddParameter (const QString &inputParamName, const QString &appParamName)
 This method adds knowledge of a parameter to the application.
 
void AddParameter (const QString &branch, const QString &inputParamName, const QString &appParamName)
 This method adds knowledge of a parameter to this application, that will only affect the specified branch.
 
void AddConstParameter (const QString &appParamName, const QString &appParamValue)
 This method adds a parameter to this application with a known value (does not get it from the user interface, must be specified).
 
void AddConstParameter (const QString &branch, const QString &appParamName, const QString &appParamValue)
 This method adds a parameter to this application with a known value (does not get it from the user interface, must be specified) that only affects a single branch.
 
void AddParameter (const QString &appParamName, CustomParameterValue value)
 This method adds a parameter with a calculated value (special) to this application.
 
void AddParameter (const QString &branch, const QString &appParamName, CustomParameterValue value)
 This method adds a parameter with a calculated value (special) to this application that only affects the specified branch.
 
QString OutputNameModifier ()
 This returns this application's output name modifier.
 
QString OutputExtension ()
 This returns this application's output file name's extension.
 
std::vector< QString > & GetOutputs ()
 This returns this application's output files. Only valid after BuildParamString is called.
 
std::vector< QString > TemporaryFiles ()
 This method returns a list of the temporary files generated by this program.
 
void SetNext (PipelineApplication *next)
 Link to the next application in the pipeline.
 
void SetPrevious (PipelineApplication *prev)
 Link to the previous application in the pipeline.
 
void BuildParamString ()
 This method calculates the inputs, outputs and necessary calls to this program for the pipeline.
 
PipelineApplicationNext () const
 This returns the next enabled pipeline application or null.
 
PipelineApplicationPrevious () const
 This returns the last enabled pipeline application or null.
 
PipelineApplicationPreviousOutputer () const
 This returns the previous enabled pipeline application that makes output or null.
 
bool SupportsVirtualBands ()
 Returns true if virtual bands are supported.
 
void SetVirtualBands (std::vector< QString > bands)
 Set the virtual bands that this application is to apply.
 
void EnableBranch (QString branch, bool flag)
 Enable/Disable Branch given the branch name.
 
bool BranchEnabled (int branch)
 Check whether a branch is enabled given branch index.
 
void SetContinue (bool pbFlag)
 Set the continue flag status.
 
bool Continue (void)
 Get the continue flag status.
 

Private Member Functions

bool FutureOutputFileCreated ()
 Returns true if a future application creates output.
 
bool LastApplicationWithOutput ()
 Returns true if this is the last application with output.
 
PipelineGetPipeline ()
 Returns the pipeline.
 
bool Branches ()
 Return true is this application does branch (one input branch, multiple output)
 
bool Merges ()
 Returns true if this application does merge branches (multiple input branches, one output)
 
bool StringStartsWith (QString from, QString compare)
 String comparison helper, returns true if from starts with compare bool.
 
QString CalculateInputFile (int branch)
 This method calculates the input file for the specified branch.
 
QString CalculateOutputFile (int branch)
 This method calculates the output file for the specified branch.
 
QString GetRealLastOutput (bool skipOne=false)
 This method is used to calculate the value for CustomParameterValue::LastOutput.
 
PipelineParameterGetInputParameter (int branch)
 This gets the input parameter for the specified branch.
 
int FindBranch (QString name, bool input=true)
 The method, given a string, finds the index of a branch.
 

Private Attributes

bool p_continue
 Continue the pipeline execution even if an error is encountered by this app.
 
bool p_enabled
 This application enabled?
 
bool p_supportsVirtualBands
 This application supports virtual bands?
 
QString p_name
 Name of this application.
 
std::vector< QString > p_outputs
 Actual output files.
 
std::vector< QString > p_tempFiles
 Actial temporary files.
 
std::vector< QString > p_paramString
 Built parameter strings.
 
std::vector< QString > p_inBranches
 Input branches.
 
std::vector< QString > p_outBranches
 Output branches.
 
std::vector< bool > p_enableBranch
 Branch enabled/disabled.
 
std::vector< PipelineParameterp_output
 Output parameters.
 
QString p_outputMod
 Output file name modifier.
 
QString p_outputExtension
 Output file name extension.
 
std::vector< QString > p_virtualBands
 Virtual bands string to add (empty if none)
 
std::vector< PipelineParameterp_input
 Input parameters.
 
std::vector< PipelineParameterp_params
 Regular parameters.
 
PipelineApplicationp_previous
 Previous pipeline application.
 
PipelineApplicationp_next
 Next pipeline application.
 
Pipelinep_pipeline
 The pipeline.
 

Detailed Description

This class represents one application in the pipeline.

This contains methods for setting application-specific parameters, such as application inputs and outputs. Only pipeline should be instantiating these!

The applications work as a doubly-linked list in order to calculate inputs and outputs correctly. Calling SetNext or SetPrevious is not recommended.

Author
2008-08-04 Steven Lambright
History

2008-09-25 Added features: Application identifiers other than the application names, branched original input, branching from branches, partial branch merging (discontinuing branches*)

2008-09-26 Steven Lambright Fixed introduced bug where input data was not being found when no previous programs in the pipeline generated output (needed to go back to original input).

2008-09-26 Steven Lambright Changed CalculateOutputFile(...) to work in more cases. Pipeline::FinalOutput is relied upon more heavily now to do the right thing.

2010-12-20 Sharmila Prasad - Added the ability to enable/disable a branch.

2011-02-09 Sharmila Prasad - Added option continue to proceed with execution of the next application in the pipeline if the current encounters an exception.

Definition at line 46 of file PipelineApplication.h.

Member Enumeration Documentation

◆ CustomParameterValue

This is used to set custom values that must be calculated on the fly.

Enumerator
LastOutput 

The very last output file. Do not use this for input parameters if it's not necessary, that is done automatically.

LastAppOutputList 

A list of files from the last run application's output.

LastAppOutputListNoMerge 

A list of files from the last run application's output.

Definition at line 66 of file PipelineApplication.h.

◆ NameModifierType

This is used for branches.

Right now, only known strings can be used to specify each branch.

Enumerator
ConstantStrings 

Known strings.

Definition at line 58 of file PipelineApplication.h.

Constructor & Destructor Documentation

◆ PipelineApplication() [1/2]

Isis::PipelineApplication::PipelineApplication ( QString appName,
Pipeline * pipe )

Constructs the first pipeline application.

Parameters
appNameThe name of this application
pipeThe pipeline
History
2010-12-20 Sharmila Prasad Initialise & enable the branches

Definition at line 25 of file PipelineApplication.cpp.

References Isis::Pipeline::OriginalBranches(), p_continue, p_enableBranch, p_enabled, p_inBranches, p_name, p_next, p_outBranches, p_pipeline, and p_previous.

◆ PipelineApplication() [2/2]

Isis::PipelineApplication::PipelineApplication ( QString appName,
PipelineApplication * previous )

Constructs subsequent pipeline applications.

Parameters
appNameThe name of this application
previousThe previously last pipeline application
History
2010-12-20 Sharmila Prasad Initialise & enable the branches

Definition at line 55 of file PipelineApplication.cpp.

References GetPipeline(), OutputBranches(), p_enableBranch, p_enabled, p_inBranches, p_name, p_next, p_outBranches, p_pipeline, p_previous, and SetNext().

◆ ~PipelineApplication()

Isis::PipelineApplication::~PipelineApplication ( )
inline

This is the destructor.

Definition at line 52 of file PipelineApplication.h.

Member Function Documentation

◆ AddBranch()

void Isis::PipelineApplication::AddBranch ( const QString & modString,
NameModifierType type )

This method adds branch to this program.

A branch means with one input, multiple outputs are automatically created.

Example:

thm2isis from=input.img to=output.cub

In this code, thm2isis could actually create output.even.cub and output.odd.cub. The branches are then "even" and "odd". This is used only for the case where the program outputs multiple images based upon one "TO" parameter.

Parameters
modStringBranch name
typeModifier type; currently only supports constant strings
History
2010-12-20 Sharmila Prasad Enable the branch at the time of creation

Definition at line 163 of file PipelineApplication.cpp.

References p_enableBranch, p_inBranches, p_outBranches, and Isis::IException::Programmer.

◆ AddConstParameter() [1/2]

void Isis::PipelineApplication::AddConstParameter ( const QString & appParamName,
const QString & appParamValue )

This method adds a parameter to this application with a known value (does not get it from the user interface, must be specified).

Parameters
appParamNameName of the parameter
appParamValueValue of the parameter

Definition at line 244 of file PipelineApplication.cpp.

References Name(), and p_params.

◆ AddConstParameter() [2/2]

void Isis::PipelineApplication::AddConstParameter ( const QString & branch,
const QString & appParamName,
const QString & appParamValue )

This method adds a parameter to this application with a known value (does not get it from the user interface, must be specified) that only affects a single branch.

Parameters
branchBranch this parameter affects
appParamNameName of the parameter
appParamValueValue of the parameter

Definition at line 270 of file PipelineApplication.cpp.

References FindBranch(), and p_params.

◆ AddParameter() [1/4]

void Isis::PipelineApplication::AddParameter ( const QString & appParamName,
CustomParameterValue value )

This method adds a parameter with a calculated value (special) to this application.

Parameters
appParamNameParameter name
valueValue type

Definition at line 282 of file PipelineApplication.cpp.

References p_params.

◆ AddParameter() [2/4]

void Isis::PipelineApplication::AddParameter ( const QString & branch,
const QString & appParamName,
CustomParameterValue value )

This method adds a parameter with a calculated value (special) to this application that only affects the specified branch.

Parameters
branchBranch this parameter affects
appParamNameParameter name
valueValue type

Definition at line 295 of file PipelineApplication.cpp.

References FindBranch(), and p_params.

◆ AddParameter() [3/4]

void Isis::PipelineApplication::AddParameter ( const QString & branch,
const QString & inputParamName,
const QString & appParamName )

This method adds knowledge of a parameter to this application, that will only affect the specified branch.

The parameter value is taken directly from the user interface; internal defaults are supported by not using the parameter.

Parameters
branchThe branch this parameter affects
inputParamNameParameter in the proc program
appParamNameParameter in the this application

Definition at line 228 of file PipelineApplication.cpp.

References FindBranch(), Isis::Application::GetUserInterface(), and p_params.

◆ AddParameter() [4/4]

void Isis::PipelineApplication::AddParameter ( const QString & inputParamName,
const QString & appParamName )

This method adds knowledge of a parameter to the application.

The parameter value is taken directly from the user interface.

Parameters
inputParamNameParameter in the proc program
appParamNameParameter in this application

Definition at line 210 of file PipelineApplication.cpp.

References Isis::Application::GetUserInterface(), and p_params.

◆ BranchEnabled()

bool Isis::PipelineApplication::BranchEnabled ( int branch)
inline

Check whether a branch is enabled given branch index.

Author
Sharmila Prasad (12/20/2010)
Parameters
branch- index into the branch
Returns
bool - true/false

Definition at line 218 of file PipelineApplication.h.

References p_enableBranch.

Referenced by BuildParamString().

◆ Branches()

bool Isis::PipelineApplication::Branches ( )
inlineprivate

Return true is this application does branch (one input branch, multiple output)

Definition at line 255 of file PipelineApplication.h.

References p_inBranches, and p_outBranches.

Referenced by BuildParamString(), and CalculateOutputFile().

◆ BuildParamString()

void Isis::PipelineApplication::BuildParamString ( )

This method calculates the inputs, outputs and necessary calls to this program for the pipeline.

This should only be used by Pipeline.

History
2010-12-20 Sharmila Prasad Set appropriate inputs to the branch taking into consideration whether the previous branch was enabled/disabled. Also set the input list accordingly if needlist is true

Definition at line 308 of file PipelineApplication.cpp.

References Isis::FileName::baseName(), BranchEnabled(), Branches(), CalculateInputFile(), CalculateOutputFile(), Enabled(), GetInputParameter(), GetRealLastOutput(), Isis::IsSpecial(), LastAppOutputList, LastOutput, Merges(), Isis::PipelineParameter::Name(), Name(), p_inBranches, p_input, p_name, p_outBranches, p_output, p_outputs, p_params, p_paramString, p_pipeline, p_tempFiles, p_virtualBands, Previous(), Isis::IException::Programmer, StringStartsWith(), and Isis::Pipeline::TemporaryFolder().

◆ CalculateInputFile()

QString Isis::PipelineApplication::CalculateInputFile ( int branch)
private

This method calculates the input file for the specified branch.

Parameters
branchBranch this input file affects
Returns
QString Input filename
History
2010-12-20 Sharmila Prasad Get the right input for this branch if previous branch is disabled.

Definition at line 519 of file PipelineApplication.cpp.

References GetRealLastOutput(), LastOutput, Isis::Pipeline::OriginalBranchesSize(), Isis::Pipeline::OriginalInput(), Isis::Pipeline::OriginalInputSize(), p_input, p_pipeline, Previous(), and Isis::IException::Programmer.

Referenced by BuildParamString().

◆ CalculateOutputFile()

QString Isis::PipelineApplication::CalculateOutputFile ( int branch)
private

This method calculates the output file for the specified branch.

Parameters
branchBranch this output file is for
Returns
QString The output file

Definition at line 590 of file PipelineApplication.cpp.

References Isis::FileName::baseName(), Branches(), CalculateOutputFile(), Isis::Pipeline::FinalOutput(), LastApplicationWithOutput(), OutputBranches(), p_outBranches, p_output, p_outputExtension, p_outputMod, p_outputs, p_pipeline, Isis::FileName::path(), and Isis::Pipeline::TemporaryFolder().

Referenced by BuildParamString(), and CalculateOutputFile().

◆ Continue()

bool Isis::PipelineApplication::Continue ( void )
inline

Get the continue flag status.

Author
Sharmila Prasad (2/9/2011)
Returns
bool - return continue status

Definition at line 242 of file PipelineApplication.h.

References p_continue.

◆ Disable()

void Isis::PipelineApplication::Disable ( )
inline

This method disables this program, causing it to be ignored.

Definition at line 108 of file PipelineApplication.h.

References p_enabled.

◆ Enable()

void Isis::PipelineApplication::Enable ( )
inline

This method enables this program to be run.

Definition at line 103 of file PipelineApplication.h.

References p_enabled.

◆ EnableBranch()

void Isis::PipelineApplication::EnableBranch ( QString branch,
bool flag )
inline

Enable/Disable Branch given the branch name.

Author
Sharmila Prasad (12/20/2010)
Parameters
branch- branch name
flag- true/false

Definition at line 202 of file PipelineApplication.h.

References p_enableBranch, and p_inBranches.

◆ Enabled()

const bool & Isis::PipelineApplication::Enabled ( ) const
inline

Returns true if this program will be run.

Definition at line 113 of file PipelineApplication.h.

References p_enabled.

Referenced by BuildParamString(), GetOutputs(), Next(), OutputBranches(), Previous(), PreviousOutputer(), Isis::Pipeline::Run(), and SupportsVirtualBands().

◆ FindBranch()

int Isis::PipelineApplication::FindBranch ( QString name,
bool input = true )
private

The method, given a string, finds the index of a branch.

Parameters
nameBranch name
inputTrue if input branch, false if output branch
Returns
int Branch index

Definition at line 759 of file PipelineApplication.cpp.

References Name(), p_inBranches, p_outBranches, and Isis::IException::Programmer.

Referenced by AddConstParameter(), AddParameter(), AddParameter(), and SetOutputParameter().

◆ FutureOutputFileCreated()

bool Isis::PipelineApplication::FutureOutputFileCreated ( )
private

Returns true if a future application creates output.

Returns
bool Future application creates output

Definition at line 713 of file PipelineApplication.cpp.

References FutureOutputFileCreated(), Next(), and p_output.

Referenced by FutureOutputFileCreated(), and LastApplicationWithOutput().

◆ GetInputParameter()

PipelineParameter & Isis::PipelineApplication::GetInputParameter ( int branch)
private

This gets the input parameter for the specified branch.

Parameters
branchBranch the input parameter is for
Returns
PipelineParameter& The input parameter

Definition at line 733 of file PipelineApplication.cpp.

References Name(), p_inBranches, p_input, and Isis::IException::Programmer.

Referenced by BuildParamString().

◆ GetOutputs()

vector< QString > & Isis::PipelineApplication::GetOutputs ( )

This returns this application's output files. Only valid after BuildParamString is called.

Definition at line 861 of file PipelineApplication.cpp.

References Enabled(), GetOutputs(), p_outputs, and Previous().

Referenced by GetOutputs(), and GetRealLastOutput().

◆ GetPipeline()

Pipeline * Isis::PipelineApplication::GetPipeline ( )
inlineprivate

Returns the pipeline.

Definition at line 250 of file PipelineApplication.h.

References p_pipeline.

Referenced by PipelineApplication().

◆ GetRealLastOutput()

QString Isis::PipelineApplication::GetRealLastOutput ( bool skipOne = false)
private

This method is used to calculate the value for CustomParameterValue::LastOutput.

Parameters
skipOneSkip the very last output; this is used to skip the output of the current run
Returns
QString The last output file

Definition at line 825 of file PipelineApplication.cpp.

References GetOutputs(), p_outputs, and Previous().

Referenced by BuildParamString(), and CalculateInputFile().

◆ InputBranches()

const std::vector< QString > & Isis::PipelineApplication::InputBranches ( ) const
inline

Get the branches this program expects as input.

Definition at line 86 of file PipelineApplication.h.

References p_inBranches.

◆ LastApplicationWithOutput()

bool Isis::PipelineApplication::LastApplicationWithOutput ( )
private

Returns true if this is the last application with output.

Returns
bool False if another application later on creates output

Definition at line 694 of file PipelineApplication.cpp.

References FutureOutputFileCreated(), Next(), and p_output.

Referenced by CalculateOutputFile(), and TemporaryFiles().

◆ Merges()

bool Isis::PipelineApplication::Merges ( )
inlineprivate

Returns true if this application does merge branches (multiple input branches, one output)

Definition at line 261 of file PipelineApplication.h.

References p_inBranches, and p_outBranches.

Referenced by BuildParamString().

◆ Name()

const QString & Isis::PipelineApplication::Name ( ) const
inline

Get the name of this pipeline application.

Definition at line 78 of file PipelineApplication.h.

References p_name.

Referenced by AddConstParameter(), BuildParamString(), FindBranch(), GetInputParameter(), and Isis::Pipeline::Run().

◆ Next()

PipelineApplication * Isis::PipelineApplication::Next ( ) const
inline

This returns the next enabled pipeline application or null.

Definition at line 170 of file PipelineApplication.h.

References Enabled(), Next(), and p_next.

Referenced by FutureOutputFileCreated(), LastApplicationWithOutput(), and Next().

◆ OutputBranches()

const std::vector< QString > & Isis::PipelineApplication::OutputBranches ( ) const
inline

Get the branches this program has as output.

Definition at line 90 of file PipelineApplication.h.

References Enabled(), OutputBranches(), p_inBranches, p_outBranches, and Previous().

Referenced by CalculateOutputFile(), OutputBranches(), and PipelineApplication().

◆ OutputExtension()

QString Isis::PipelineApplication::OutputExtension ( )
inline

This returns this application's output file name's extension.

Definition at line 140 of file PipelineApplication.h.

References OutputExtension(), p_outputExtension, and Previous().

Referenced by OutputExtension().

◆ OutputNameModifier()

QString Isis::PipelineApplication::OutputNameModifier ( )
inline

This returns this application's output name modifier.

Definition at line 136 of file PipelineApplication.h.

References OutputNameModifier(), p_outputMod, and Previous().

Referenced by OutputNameModifier().

◆ ParamString()

const std::vector< QString > & Isis::PipelineApplication::ParamString ( ) const
inline

Get the parameters for running this program; one element in the vector per run.

Definition at line 82 of file PipelineApplication.h.

References p_paramString.

Referenced by Isis::Pipeline::Run().

◆ Previous()

PipelineApplication * Isis::PipelineApplication::Previous ( ) const
inline

◆ PreviousOutputer()

PipelineApplication * Isis::PipelineApplication::PreviousOutputer ( ) const
inline

This returns the previous enabled pipeline application that makes output or null.

Definition at line 184 of file PipelineApplication.h.

References Enabled(), p_output, p_previous, and Previous().

◆ SetContinue()

void Isis::PipelineApplication::SetContinue ( bool pbFlag)
inline

Set the continue flag status.

Author
Sharmila Prasad (2/9/2011)
Parameters
pbFlag- true/false

Definition at line 231 of file PipelineApplication.h.

References p_continue.

◆ SetInputParameter() [1/2]

void Isis::PipelineApplication::SetInputParameter ( const QString & inputParamName,
bool supportsVirtualBands )

Set the input parameter for this application and whether or not this application supports the virtual bands functionality.

It supports the virtual bands functionality if the input is an Isis cube.

Parameters
inputParamNameName of the input parameter, typically "FROM"
supportsVirtualBandsTrue if this application supports virtual bands

Definition at line 79 of file PipelineApplication.cpp.

References p_input, and p_supportsVirtualBands.

Referenced by Isis::Pipeline::Prepare().

◆ SetInputParameter() [2/2]

void Isis::PipelineApplication::SetInputParameter ( const QString & inputParamName,
CustomParameterValue value,
bool supportsVirtualBands )

Set the input parameter for this application and whether or not this application supports the virtual bands functionality.

It supports the virtual bands functionality if the input is an Isis cube.

Parameters
inputParamNameName of the input parameter, typically "FROM"
valueCustom parameter value; Recommended to use an alternate SetInputParameter instead of specifying LastOutput
supportsVirtualBandsTrue if this application supports virtual bands

Definition at line 96 of file PipelineApplication.cpp.

References LastAppOutputList, LastAppOutputListNoMerge, p_input, p_outBranches, and p_supportsVirtualBands.

◆ SetNext()

void Isis::PipelineApplication::SetNext ( PipelineApplication * next)
inline

Link to the next application in the pipeline.

Parameters
nextThe next pipeline application

Definition at line 153 of file PipelineApplication.h.

References p_next.

Referenced by Isis::Pipeline::AddToPipeline(), Isis::Pipeline::AddToPipeline(), and PipelineApplication().

◆ SetOutputParameter() [1/2]

void Isis::PipelineApplication::SetOutputParameter ( const QString & branch,
const QString & outputParamName,
const QString & outNameModifier,
const QString & outFileExtension )

Set the output parameter for a branch of this application and it's naming convention.

This is meant for an application that splits the input into two output files via two output parameters.

Parameters
branchBranch this output parameter applies to
outputParamNameName of the output parameter
outNameModifierModifier to add to the cube name, such as "lev1"
outFileExtensionExtension of the output file (usually "cub" for cube)

Definition at line 122 of file PipelineApplication.cpp.

References FindBranch(), p_output, p_outputExtension, and p_outputMod.

◆ SetOutputParameter() [2/2]

void Isis::PipelineApplication::SetOutputParameter ( const QString & outputParamName,
const QString & outNameModifier,
const QString & outFileExtension = "cub" )

Set the output parameter for this application and it's naming convention.

Parameters
outputParamNameName of the output parameter
outNameModifierModifier to add to the cube name, such as "lev1"
outFileExtensionExtension of the output file (usually "cub" for cube)

Definition at line 137 of file PipelineApplication.cpp.

References p_output, p_outputExtension, and p_outputMod.

Referenced by Isis::Pipeline::Prepare().

◆ SetPrevious()

void Isis::PipelineApplication::SetPrevious ( PipelineApplication * prev)
inline

Link to the previous application in the pipeline.

Parameters
prevThe previous pipeline application

Definition at line 163 of file PipelineApplication.h.

References p_previous.

◆ SetVirtualBands()

void Isis::PipelineApplication::SetVirtualBands ( std::vector< QString > bands)

Set the virtual bands that this application is to apply.

Empty for none.

Parameters
bandsThe virtual bands string, excluding the "+". For example, "2,4-5,8"

Definition at line 856 of file PipelineApplication.cpp.

References p_virtualBands.

◆ StringStartsWith()

bool Isis::PipelineApplication::StringStartsWith ( QString from,
QString compare )
inlineprivate

String comparison helper, returns true if from starts with compare bool.

Parameters
fromLonger string ("abcdef")
compareString to compare against ("abc")

Definition at line 273 of file PipelineApplication.h.

Referenced by BuildParamString().

◆ SupportsVirtualBands()

bool Isis::PipelineApplication::SupportsVirtualBands ( )

Returns true if virtual bands are supported.

Returns
bool Virtual bands supported

Definition at line 844 of file PipelineApplication.cpp.

References Enabled(), and p_supportsVirtualBands.

◆ TemporaryFiles()

vector< QString > Isis::PipelineApplication::TemporaryFiles ( )

This method returns a list of the temporary files generated by this program.

Returns
vector<QString> The temporary files

Definition at line 799 of file PipelineApplication.cpp.

References LastApplicationWithOutput(), p_outputs, and p_tempFiles.

Referenced by Isis::Pipeline::Run().

Member Data Documentation

◆ p_continue

bool Isis::PipelineApplication::p_continue
private

Continue the pipeline execution even if an error is encountered by this app.

Definition at line 289 of file PipelineApplication.h.

Referenced by Continue(), PipelineApplication(), and SetContinue().

◆ p_enableBranch

std::vector<bool> Isis::PipelineApplication::p_enableBranch
private

Branch enabled/disabled.

Definition at line 298 of file PipelineApplication.h.

Referenced by AddBranch(), BranchEnabled(), EnableBranch(), PipelineApplication(), and PipelineApplication().

◆ p_enabled

bool Isis::PipelineApplication::p_enabled
private

This application enabled?

Definition at line 290 of file PipelineApplication.h.

Referenced by Disable(), Enable(), Enabled(), PipelineApplication(), and PipelineApplication().

◆ p_inBranches

std::vector<QString> Isis::PipelineApplication::p_inBranches
private

◆ p_input

std::vector<PipelineParameter> Isis::PipelineApplication::p_input
private

◆ p_name

QString Isis::PipelineApplication::p_name
private

Name of this application.

Definition at line 292 of file PipelineApplication.h.

Referenced by BuildParamString(), Name(), PipelineApplication(), and PipelineApplication().

◆ p_next

PipelineApplication* Isis::PipelineApplication::p_next
private

Next pipeline application.

Definition at line 309 of file PipelineApplication.h.

Referenced by Next(), PipelineApplication(), PipelineApplication(), and SetNext().

◆ p_outBranches

std::vector<QString> Isis::PipelineApplication::p_outBranches
private

◆ p_output

std::vector<PipelineParameter> Isis::PipelineApplication::p_output
private

◆ p_outputExtension

QString Isis::PipelineApplication::p_outputExtension
private

Output file name extension.

Definition at line 302 of file PipelineApplication.h.

Referenced by CalculateOutputFile(), OutputExtension(), SetOutputParameter(), and SetOutputParameter().

◆ p_outputMod

QString Isis::PipelineApplication::p_outputMod
private

Output file name modifier.

Definition at line 301 of file PipelineApplication.h.

Referenced by CalculateOutputFile(), OutputNameModifier(), SetOutputParameter(), and SetOutputParameter().

◆ p_outputs

std::vector<QString> Isis::PipelineApplication::p_outputs
private

Actual output files.

Definition at line 293 of file PipelineApplication.h.

Referenced by BuildParamString(), CalculateOutputFile(), GetOutputs(), GetRealLastOutput(), and TemporaryFiles().

◆ p_params

std::vector<PipelineParameter> Isis::PipelineApplication::p_params
private

◆ p_paramString

std::vector<QString> Isis::PipelineApplication::p_paramString
private

Built parameter strings.

Definition at line 295 of file PipelineApplication.h.

Referenced by BuildParamString(), and ParamString().

◆ p_pipeline

Pipeline* Isis::PipelineApplication::p_pipeline
private

◆ p_previous

PipelineApplication* Isis::PipelineApplication::p_previous
private

Previous pipeline application.

Definition at line 308 of file PipelineApplication.h.

Referenced by PipelineApplication(), PipelineApplication(), Previous(), PreviousOutputer(), and SetPrevious().

◆ p_supportsVirtualBands

bool Isis::PipelineApplication::p_supportsVirtualBands
private

This application supports virtual bands?

Definition at line 291 of file PipelineApplication.h.

Referenced by SetInputParameter(), SetInputParameter(), and SupportsVirtualBands().

◆ p_tempFiles

std::vector<QString> Isis::PipelineApplication::p_tempFiles
private

Actial temporary files.

Definition at line 294 of file PipelineApplication.h.

Referenced by BuildParamString(), and TemporaryFiles().

◆ p_virtualBands

std::vector<QString> Isis::PipelineApplication::p_virtualBands
private

Virtual bands string to add (empty if none)

Definition at line 303 of file PipelineApplication.h.

Referenced by BuildParamString(), and SetVirtualBands().


The documentation for this class was generated from the following files: