-
Notifications
You must be signed in to change notification settings - Fork 23
Description
When trying to create a multi-resolution mesh sharded file from segmentation, if the resolution is a float, the collection of the different .frags
fails with a message looking like this (where the numbers depends on the input segmentation parameters):
No such file or directory: 'mesh/447-895_0-447_0-447.frags'
The file that is actually generated by the create_meshing_tasks
is 448-896_0-448_0-448.frags
.
After debugging a little bit, I found that when a float number is used for the resolution, there is some rounding that applies at some point that makes the final file name search wrong.
I modified the code this way: master...aranega:igneous:master and it seems to work considering floating number resolution or int number resolution, but I'm unsure that those modification are enough, or if they will have some unexpected impact that I'm not seeing (the tests are running fine).
The code I'm using to generate the 3D multi-resolution mesh is classical and follows what's written in the README
:
from taskqueue import LocalTaskQueue
import igneous.task_creation as tc
mesh_dir = "mesh"
cloudpath = 'precomputed://file://./data/101'
tq = LocalTaskQueue()
tasks = tc.create_meshing_tasks(cloudpath, mip=0, mesh_dir=mesh_dir, sharded=True, spatial_index=True, compress=None)
tq.insert(tasks)
tq.execute()
tasks = tc.create_mesh_manifest_tasks(cloudpath, mesh_dir=mesh_dir, magnitude=3)
tq.insert(tasks)
tq.execute()
tasks = tc.create_sharded_multires_mesh_tasks(cloudpath, mesh_dir=mesh_dir, num_lod=1)
tq.insert(tasks)
tq.execute()