Skip to content

Commit

Permalink
TransformPolydataFilter was overwriting prior objects in list. Think …
Browse files Browse the repository at this point in the history
…was operating in-place. Reinstantiate filter in loop to fix.
  • Loading branch information
siboles committed May 11, 2023
1 parent 834bbbb commit 98093a8
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions lsmgridtrack/postprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -399,8 +399,8 @@ def globally_transform_dataframe_3d(data: dict, surface: vtk.vtkPolyData) -> dic
def globally_transform_polydata_coordinates_3d(
data: list[vtk.vtkPolyData], surface: vtk.vtkPolyData
) -> list[vtk.vtkPolyData]:
"""Transform coordinates of each PolyData in list to align with average orientation of
provided surface.
"""Transform coordinates of each PolyData in list to align with
average orientation of provided surface.
:param data: list of PolyData objects
:param surface: surface to align to.
Expand All @@ -416,10 +416,10 @@ def globally_transform_polydata_coordinates_3d(
tx = vtk.vtkTransform()
tx.SetMatrix(vtk_matrix.ravel())
tx.Update()
transform = vtk.vtkTransformPolyDataFilter()
transform.SetTransform(tx)
rotated_data = []
for datum in data:
transform = vtk.vtkTransformPolyDataFilter()
transform.SetTransform(tx)
transform.SetInputData(datum)
transform.Update()
rotated_data.append(transform.GetOutput())
Expand Down Expand Up @@ -513,6 +513,18 @@ def read_vtk_surface(filename: str) -> vtk.vtkPolyData:
return reader.GetOutput()


def read_stl(filename: str) -> vtk.vtkPolyData:
"""Read STL file as vtkPolyData
:param filename:
:return:
"""
reader = vtk.vtkSTLReader()
reader.SetFileName(filename)
reader.Update()
return reader.GetOutput()


def convert_vtk_to_dataframe(
data: Union[vtk.vtkImageData, vtk.vtkRectilinearGrid]
) -> pds.DataFrame:
Expand Down

0 comments on commit 98093a8

Please sign in to comment.