def testTableInputOutput(self):
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output = input\n")
        rcal.PutTable('input')
        rcal.GetTable('output')

        value = 1
        array = vtk.vtkDoubleArray()
        array.SetNumberOfComponents(1)
        array.SetNumberOfTuples(4)
        array.SetName('test')
        for i in range(0, 4):
            array.SetValue(i, value)
            value += 1

        input = vtk.vtkTable()
        input.AddColumn(array)
        rcal.SetInputData(input)

        rcal.Update()

        t1 = rcal.GetOutput().GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1
    def testMultiTableOutputs(self):
        outputs = vtk.vtkStringArray()
        outputs.SetNumberOfComponents(1)
        outputs.SetNumberOfTuples(3)
        outputs.SetValue(0, "output1")
        outputs.SetValue(1, "output2")
        outputs.SetValue(2, "output3")
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output1 = list(test=c(1,2,3,4))\n\
                         output2 = list(test=c(5,6,7,8))\n\
                         output3 = list(test=c(9,10,11,12))\n")

        rcal.GetTables(outputs)

        input = vtk.vtkTable()
        rcal.SetInputData(input)

        rcal.Update()

        t1 = rcal.GetOutput().GetPieceAsDataObject(0).GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1

        t2 = rcal.GetOutput().GetPieceAsDataObject(1).GetColumnByName('test')
        for i in range(0, t2.GetNumberOfTuples()):
            self.assertEqual(value, t2.GetValue(i))
            value += 1

        t3 = rcal.GetOutput().GetPieceAsDataObject(2).GetColumnByName('test')
        for i in range(0, t3.GetNumberOfTuples()):
            self.assertEqual(value, t3.GetValue(i))
            value += 1
Ejemplo n.º 3
0
    def testTableInputOutput(self):
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output = input\n");
        rcal.PutTable('input')
        rcal.GetTable('output')

        value = 1
        array = vtk.vtkDoubleArray()
        array.SetNumberOfComponents(1)
        array.SetNumberOfTuples(4)
        array.SetName('test')
        for i in range(0, 4):
            array.SetValue(i, value)
            value += 1

        input = vtk.vtkTable()
        input.AddColumn(array)
        rcal.SetInputData(input)

        rcal.Update()

        t1 = rcal.GetOutput().GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1
Ejemplo n.º 4
0
    def testMultiTreeOutputs(self):
        outputs = vtk.vtkStringArray()
        outputs.SetNumberOfComponents(1)
        outputs.SetNumberOfTuples(2)
        outputs.SetValue(0, "tree1")
        outputs.SetValue(1, "tree2")
        rcal = vtk.vtkRCalculatorFilter()


        rcal.SetRscript("library(ape)\n\
                         tree1 = read.tree(text=\"" + tree_data + "\")\n\
                         tree2 = read.tree(text=\"" + tree_data + "\")\n")

        rcal.GetTrees(outputs)

        input = vtk.vtkTable()
        rcal.SetInputData(input)

        rcal.Update()

        compo = rcal.GetOutput()
        tree1 = compo.GetPieceAsDataObject(0)
        self.assertTrue(tree1.IsA('vtkTree'))
        tree2 = compo.GetPieceAsDataObject(1)
        self.assertTrue(tree2.IsA('vtkTree'))
    def testTableOutput(self):
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output = list(test=c(1,2,3,4))\n")
        rcal.GetTable('output')
        input = vtk.vtkTable()
        rcal.SetInputData(input)

        rcal.Update()

        t1 = rcal.GetOutput().GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1
Ejemplo n.º 6
0
    def testTableOutput(self):
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output = list(test=c(1,2,3,4))\n");
        rcal.GetTable('output')
        input = vtk.vtkTable()
        rcal.SetInputData(input)

        rcal.Update()

        t1 = rcal.GetOutput().GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1
    def testTreeOutput(self):
        tree_reader = vtk.vtkNewickTreeReader()
        tree_reader.ReadFromInputStringOn()
        tree_reader.SetInputString(tree_data)

        rcal = vtk.vtkRCalculatorFilter()

        rcal.SetInputConnection(tree_reader.GetOutputPort())
        rcal.SetRscript("library(ape)\n\
                         output = read.tree(text=\"" + tree_data + "\")\n")
        rcal.GetTree('output')
        rcal.Update()

        expected_tree = tree_reader.GetOutput()

        self.assertTrue(treeEquals(expected_tree, rcal.GetOutput()))
Ejemplo n.º 8
0
    def testTreeOutput(self):
        tree_reader = vtk.vtkNewickTreeReader()
        tree_reader.ReadFromInputStringOn()
        tree_reader.SetInputString(tree_data)


        rcal = vtk.vtkRCalculatorFilter()

        rcal.SetInputConnection(tree_reader.GetOutputPort())
        rcal.SetRscript("library(ape)\n\
                         output = read.tree(text=\"" + tree_data + "\")\n");
        rcal.GetTree('output')
        rcal.Update()

        expected_tree = tree_reader.GetOutput()

        self.assertTrue(treeEquals(expected_tree, rcal.GetOutput()))
Ejemplo n.º 9
0
    def testMultiTableOutputs(self):
        outputs = vtk.vtkStringArray()
        outputs.SetNumberOfComponents(1)
        outputs.SetNumberOfTuples(3)
        outputs.SetValue(0, "output1")
        outputs.SetValue(1, "output2")
        outputs.SetValue(2, "output3")
        rcal = vtk.vtkRCalculatorFilter()
        rcal.SetRscript("output1 = list(test=c(1,2,3,4))\n\
                         output2 = list(test=c(5,6,7,8))\n\
                         output3 = list(test=c(9,10,11,12))\n");

        rcal.GetTables(outputs)

        input = vtk.vtkTable()
        rcal.SetInputData(input)

        rcal.Update()


        t1 = rcal.GetOutput().GetPieceAsDataObject(0).GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1

        t2  = rcal.GetOutput().GetPieceAsDataObject(1).GetColumnByName('test')
        for i in range(0, t2.GetNumberOfTuples()):
            self.assertEqual(value, t2.GetValue(i))
            value += 1

        t3  = rcal.GetOutput().GetPieceAsDataObject(2).GetColumnByName('test')
        for i in range(0, t3.GetNumberOfTuples()):
            self.assertEqual(value, t3.GetValue(i))
            value += 1
    def testMultiTableInputs(self):
        inputs = vtk.vtkStringArray()
        inputs.SetNumberOfComponents(1)
        inputs.SetNumberOfTuples(3)
        inputs.SetValue(0, "input1")
        inputs.SetValue(1, "input2")
        inputs.SetValue(2, "input3")

        outputs = vtk.vtkStringArray()
        outputs.SetNumberOfComponents(1)
        outputs.SetNumberOfTuples(3)
        outputs.SetValue(0, "output1")
        outputs.SetValue(1, "output2")
        outputs.SetValue(2, "output3")

        rcal = vtk.vtkRCalculatorFilter()
        # Copy input to output for validation
        rcal.SetRscript("output1 = input1\n\
                         print(input1[[1]])\n\
                         output2 = input2\n\
                         output3 = input3\n")

        rcal.GetTables(outputs)
        rcal.PutTables(inputs)

        value = 1
        array1 = vtk.vtkDoubleArray()
        array1.SetNumberOfComponents(1)
        array1.SetNumberOfTuples(4)
        array1.SetName('test')
        for i in range(0, 4):
            array1.SetValue(i, value)
            value += 1

        array2 = vtk.vtkDoubleArray()
        array2.SetNumberOfComponents(1)
        array2.SetNumberOfTuples(4)
        array2.SetName('test')
        for i in range(0, 4):
            array2.SetValue(i, value)
            value += 1

        array3 = vtk.vtkDoubleArray()
        array3.SetNumberOfComponents(1)
        array3.SetNumberOfTuples(4)
        array3.SetName('test')
        for i in range(0, 4):
            array3.SetValue(i, value)
            value += 1

        input1 = vtk.vtkTable()
        input1.AddColumn(array1)
        input2 = vtk.vtkTable()
        input2.AddColumn(array2)
        input3 = vtk.vtkTable()
        input3.AddColumn(array3)

        compo = vtk.vtkMultiPieceDataSet()
        compo.SetNumberOfPieces(3)

        compo.SetPiece(0, input1)
        compo.SetPiece(1, input2)
        compo.SetPiece(2, input3)

        rcal.SetInputData(compo)

        rcal.Update()

        t1 = rcal.GetOutput().GetPieceAsDataObject(0).GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1

        t2 = rcal.GetOutput().GetPieceAsDataObject(1).GetColumnByName('test')
        for i in range(0, t2.GetNumberOfTuples()):
            self.assertEqual(value, t2.GetValue(i))
            value += 1

        t3 = rcal.GetOutput().GetPieceAsDataObject(2).GetColumnByName('test')
        for i in range(0, t3.GetNumberOfTuples()):
            self.assertEqual(value, t3.GetValue(i))
            value += 1
Ejemplo n.º 11
0
    def testMultiTableInputs(self):
        inputs = vtk.vtkStringArray()
        inputs.SetNumberOfComponents(1)
        inputs.SetNumberOfTuples(3)
        inputs.SetValue(0, "input1")
        inputs.SetValue(1, "input2")
        inputs.SetValue(2, "input3")

        outputs = vtk.vtkStringArray()
        outputs.SetNumberOfComponents(1)
        outputs.SetNumberOfTuples(3)
        outputs.SetValue(0, "output1")
        outputs.SetValue(1, "output2")
        outputs.SetValue(2, "output3")

        rcal = vtk.vtkRCalculatorFilter()
        # Copy input to output for validation
        rcal.SetRscript("output1 = input1\n\
                         print(input1[[1]])\n\
                         output2 = input2\n\
                         output3 = input3\n");

        rcal.GetTables(outputs)
        rcal.PutTables(inputs)

        value = 1
        array1 = vtk.vtkDoubleArray()
        array1.SetNumberOfComponents(1)
        array1.SetNumberOfTuples(4)
        array1.SetName('test')
        for i in range(0, 4):
            array1.SetValue(i, value)
            value += 1

        array2 = vtk.vtkDoubleArray()
        array2.SetNumberOfComponents(1)
        array2.SetNumberOfTuples(4)
        array2.SetName('test')
        for i in range(0, 4):
            array2.SetValue(i, value)
            value += 1

        array3 = vtk.vtkDoubleArray()
        array3.SetNumberOfComponents(1)
        array3.SetNumberOfTuples(4)
        array3.SetName('test')
        for i in range(0, 4):
            array3.SetValue(i, value)
            value += 1


        input1 = vtk.vtkTable()
        input1.AddColumn(array1)
        input2 = vtk.vtkTable()
        input2.AddColumn(array2)
        input3 = vtk.vtkTable()
        input3.AddColumn(array3)

        compo = vtk.vtkMultiPieceDataSet()
        compo.SetNumberOfPieces(3)

        compo.SetPiece(0, input1)
        compo.SetPiece(1, input2)
        compo.SetPiece(2, input3)

        rcal.SetInputData(compo)

        rcal.Update()

        t1 = rcal.GetOutput().GetPieceAsDataObject(0).GetColumnByName('test')
        value = 1

        for i in range(0, t1.GetNumberOfTuples()):
            self.assertEqual(value, t1.GetValue(i))
            value += 1

        t2  = rcal.GetOutput().GetPieceAsDataObject(1).GetColumnByName('test')
        for i in range(0, t2.GetNumberOfTuples()):
            self.assertEqual(value, t2.GetValue(i))
            value += 1

        t3  = rcal.GetOutput().GetPieceAsDataObject(2).GetColumnByName('test')
        for i in range(0, t3.GetNumberOfTuples()):
            self.assertEqual(value, t3.GetValue(i))
            value += 1