w.WlzIndexObjFromCompound(cpd_obj, 
                                     c.byref(errNum)), None)
 w.WlzFreeObj(cpd_obj)
 ChkWoolzError(errNum, 0)
 MsgVerbose('Cutting index image to a cuboid.')
 box = w.WlzBoundingBox3I(ref_obj, c.byref(errNum))
 ChkWoolzError(errNum, 0)
 idx_obj_grey_type = w.WLZ_GREY_INT
 if (idx_max < 255): #{
   idx_obj_grey_type = w.WLZ_GREY_UBYTE
 elif (idx_max < 32768): #}{
   idx_obj_grey_type = w.WLZ_GREY_SHORT
 #}
 idx_obj = w.WlzAssignObject(
           w.WlzCutObjToValBox3D(tmp_obj, box,
              w.enum__WlzGreyType(idx_obj_grey_type), None,
              0, 0.0, 0.0, c.byref(errNum)), None)
 ChkWoolzError(errNum, 0)
 w.WlzFreeObj(tmp_obj)
 MsgVerbose('Setting index image voxel size to ' + str(voxel_sz))
 w.WlzSetVoxelSize(idx_obj, 
                   voxel_sz[0], voxel_sz[1], voxel_sz[2])
 MsgVerbose('Creating index object property list.')
 p_lst = w.WlzMakePropertyList(None)
 p_str = stage + '_' + model  + '_anatomy'
 p_nam = w.WlzMakeNameProperty(p_str.encode('utf-8'),
                               c.byref(errNum))
 ChkWoolzError(errNum, 0)
 p_org = w.WlzMakeTextProperty('Origin'.encode('utf-8'),
                               origin.encode('utf-8'),
                               c.byref(errNum))