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
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 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
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()))
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()))
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
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