Skip to content, Skip to search

Changes

Op Finder

1,954 bytes added, 13:12, 3 May 2016
no edit summary
= Parts of the Op Finder =
: [[File:LabeledOpFinder.png]]
'''Labeled components'''
= Views =
There Because of the extensibility of Ops, there is a lot of information surrounding to process when looking at what Opsare actually available. One goal of the Op Finder is to present this information in a way that can be easily understood. To facilitate this, multiple views are available, each tailoring the content of the Op Finder to a particular specific audience.
== For Users ==
{{Warning|This view does not provide provides an accurate abstract representation of real available Ops e.g., one entry could be many Ops merged together. An Op call is ultimately defined by the combination of requested '''Op type''' + '''parameters'''.}}
Ops in this view are focused on answering the question "What can I do ''right now'' with Ops?" The following guidelines are used to create For example, in this listexample we see that we can call the <code>Convolve</code> Op with either a base image, or the base and kernel:
: [[File:UserOpFinder.png|border|800px]]
 
'''User View Contents'''
* Only Ops directly involving images are displayed
* Parameter types are generalizedabstracted ("Image", "Number")
* Optional parameters are hidden
== For Developers ==
* Details pane open by defaultThis view provides a comprehensive list of available Ops implementations. For example, contrasting with the [[#For Users|User view]], we see there are actually four concrete implementations of the <code>Convolve</code> Op, with a plethora of optional parameters. : [[File:DevOpFinder.png|border|800px]] * '''Developer View Contents'''# Precise Op signature* Optional parameters are shown# Code snippet for use* Referring # Defining Op class is shown
= Things to do =
== Filtering ==
TODO The Op Finder includes [[Wikipedia:Approximate_string_matching|fuzzy, no namespacesfiltering]] to find Ops of interest. When filtering:
== Running Ops ==* Namespaces are hidden* In [[#For Users|User view]], the complete simplified Op entry is filtered.* In [[#For Developers|Developer view]], the Op namespaces + class name are filtered.
TODO how does the play button work?[[File:Filter-op-finder.png|border|600px]]
== Code Snippets ==
TODO take a code snippet and turn it into Code snippets are available in the [#For Developers|Developer view]]. These are intended to help you rapidly build up scripts around the available Ops. The following is a script, step-by-stepguide to take you through the process of finding an Op of interest to using it in a functional script.
1. The first thing to do is find an Op of interest. In this case, we start from the [[#For Users|User view]] and see that there is a Convolve Op we want to try:
[[File:4-run-op.png|border"1200px]]
 
== Running Ops ==
 
Although you can run selected Ops through the Op Finder, this method '''lacks reproducibility''' and should not be used as a substitute for a proper script or plugin when using Ops in a scientific workflow. This functionality ''is'' intended to allow a rapid preview of what effect an Op will have on a dataset.
 
The [[#Parts of the Op Finder|play button]] essentially automates the process of turning an Op [[#Code Snippets|into a script]]: optional parameters are discarded and required parameters are [[Script_parameters|annotated]]. Because of this, Ops with arcane or unusual parameters may fail to run because the framework does not know how to provide them.
 
Thus it is recommended to run Ops primarily from the [[#For Users|User view]], as these Ops focus on images and numbers, which can automatically be provided by the framework (via open images and input panels, respectively).
Bureaucrat, emailconfirmed, incoming, administrator, uploaders
735
edits