31 lines
No EOL
1.4 KiB
Python
31 lines
No EOL
1.4 KiB
Python
import pickle
|
|
import vtk
|
|
import os
|
|
from stack3d.study.components import StudyData, MouseData, TimepointData
|
|
import stack3d.formats.unet
|
|
|
|
|
|
def skeleton_to_vtp(work_dir, study_collection):
|
|
|
|
for eachStudy in study_collection:
|
|
print "Converting Study: ", eachStudy.raw_data_path
|
|
study_dir = work_dir + "/" + eachStudy.raw_data_path
|
|
for eachMouse in eachStudy.mice:
|
|
print "Converting Mouse: ", eachMouse.raw_data_path
|
|
mouse_dir = study_dir + "/" + eachMouse.raw_data_path
|
|
for eachTimePoint in eachMouse.timepoints:
|
|
print "Converting Time: ", eachTimePoint.raw_data_path
|
|
time_dir = mouse_dir + "/" + eachTimePoint.raw_data_path
|
|
base_path = "/analysis_analysis/skeleton.pkl"
|
|
if os.path.isfile(time_dir + base_path):
|
|
output_path = os.path.dirname(os.path.realpath(time_dir + "/analysis_analysis/skeleton.vtp"))
|
|
polydata = stack3d.formats.unet.skeleton_to_vtp(time_dir + base_path)
|
|
writer = vtk.vtkXMLPolyDataWriter()
|
|
writer.SetInputData(polydata)
|
|
writer.SetFileName(output_path + "/skeleton.vtp")
|
|
writer.Write()
|
|
|
|
work_dir = "/scratch/jgrogan/stack-working/study/"
|
|
f = open(work_dir + "/study_collection.p", 'r')
|
|
study_collection = pickle.load(f)
|
|
skeleton_to_vtp(work_dir, study_collection) |