TIFF stacks & skeletons

Hello togehter,
I would like to display a tiff stack in blender. Is that possible anyhow?
Further I would like to show ‘skeletons’ of traced cells. These consist of Nodes (points in 3D Space) which are conntected by lines. Of course I could write my own python script that creates them using cylinders and spheres but I would first like to be sure that there is no other (cheaper) method to do so. The amount of Skeletons I would like to animate is very high.
Thank you very much for your help!

Hello everyone,
I would very much appreciate a short answer, even if it is only to tell me that it is not possible in blender.
Best

I guess it is not possible to visualize skeletons as 2d lines in Blender. Therefore I made a Python Script which I will share with you guys in case anyone wants to use it:

import mathutils
bpy.ops.object.group_add()
bpy.data.groups[“Group”].name=“Skeleton”
skeleton=bpy.data.groups[“Skeleton”]

def setNode(x,y,z,id):
bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=2, size=200, view_align=False, enter_editmode=False, location=(x, y, z), rotation=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.data.objects[“Icosphere”].name=“node”+str(id)
thisNode=bpy.context.scene.objects[“node”+str(id)]
C.scene.objects.active=thisNode
bpy.ops.object.group_link(group=“Skeleton”)
return(thisNode)

def setEdge(node1,node2,id):
dist=node2.location-node1.location
r=sqrt(pow(dist[0],2)+pow(dist[1],2)+pow(dist[2],2))
theta=acos(dist[2]/r)
phi=atan2(dist[1],dist[0])
bpy.ops.mesh.primitive_cylinder_add(vertices=8, radius=180, depth=r, end_fill_type=‘NGON’, view_align=False, enter_editmode=False, location=((node1.location[0]+node2.location[0])/2, (node1.location[1]+node2.location[1])/2, (node1.location[2]+node2.location[2])/2), rotation=(0, theta, phi), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
thisEdge=bpy.context.scene.objects[“Cylinder”]
thisEdge.name=“edge”+str(id)
C.scene.objects.active=thisEdge
bpy.ops.object.group_link(group=“Skeleton”)
return(thisEdge)

nodes=[{} for i in range(10)]
edges=[{} for i in range(10)]

nodes[0]=(setNode(5,5,5,1))
nodes[1]=(setNode(5,15,5,3))
nodes[2]=(setNode(5,5,15,2))

edges[0]=(setEdge(nodes[0],nodes[1],1))
edges[1]=(setEdge(nodes[2],nodes[1],2))
edges[2]=(setEdge(nodes[0],nodes[2],3))