Back to the main page.

Bug 2892 - add support in ft_analysispipeline for Tim's Pipeline Program

Status ASSIGNED
Reported 2015-05-07 17:52:00 +0200
Modified 2015-07-20 12:11:28 +0200
Product: FieldTrip
Component: external
Version: unspecified
Hardware: All
Operating System: All
Importance: P5 enhancement
Assigned to: Robert Oostenveld
URL:
Tags:
Depends on:
Blocks:
See also:

Tim van Mourik - 2015-05-07 17:52:03 +0200

Created attachment 712 This includes [AllTypes.type], [tvm_filterFunctionals.node] and [LayerPipeline.pipe] Hi Robert, With regard to our discussion, here is the explanation of how to make files for the pipeline program that I wrote. There are three types of files, nodes, types and pipes. A node file (.node, just an xml file) that tells you what a node looks like. Every node contains a title, input and output. Of the latter, there can be any number, including zero. Every input/output has a class, i.e. data type. At the moment just one, in the future preferably more. The data type must be one of the supported data types [AllTypes.type]. Clearly, this list can be expanded. Rather than me writing down how this is implemented, just have a look at the example [tvm_filterFunctionals.node]. Tells you everything you need to know. So you need (a) type file(s) to make a node and node files to make a pipeline. Note that the pipeline doesn't know about the types. A pipeline save file [LayerPipeline.pipe] stores the type of nodes and their position in the GUI, its ports and links. Every port has an identifier and each link goes from identifier to identifier (which is just an int64 in hex). Every input port has an output port as well. The reason is that this makes it easier to pass on data that is unchanged but needs to be used in subsequent functions nonetheless (e.g. some reference volume). This is also the reason that the input and output ports are arranged in 'port pairs'. For an output argument, the left side of the pair is null. Bugzilla lets me upload only one file with this bug report, so I put all the text in one file, marked where each file begins. Let me know what you think of it! Best, Tim


Robert Oostenveld - 2015-07-16 18:32:01 +0200

I made a test script that should run stand-alone and using only data on disk (as discussed). Please see /home/common/matlab/fieldtrip/test/inspect_bug2892.m or https://code.google.com/p/fieldtrip/source/browse/trunk/test/inspect_bug2892.m?spec=svn10554&r=10554


Tim van Mourik - 2015-07-20 12:11:28 +0200

Created attachment 724 All files required to generate the pipeline I recreated the example pipeline with my program. Attached you'll find a zip file that includes: -the original scripts -the recreated script -the save file of the visualisation (as .pipe file) -a screenshot of the program -the modules (as .node files) for the FieldTrip functions -the ft_analysispipeline output that is identical for both matlab sripts There were two manual edits required for the matlab script: -one being that ft_analysispipeline required two input arguments. I guess this is taken care of in a prospective commit -one (previously discussed with Robert) that the cell array inputfile in ft_freqstatistics had to be represented as two inputs.