/api/replicate

Replicate Pipeline functionality

This API retrieves information on the pipeline status of a scene (or all scenes), and allows commands to be sent to control or reset the pipeline status



Get
/api/replicate?stage=simpleply
List all models with simple PLY data

Returns all models with valid simple PLY data

Example response:
{

"objects"

:[{

"id"

:230,

"user"

:1,

"url"

:

"/api/replicate?id=230&stage=simpleply"

},{

"id"

:606,

"user"

:8,

"url"

:

"/api/replicate?id=606&stage=simpleply"

},{

"id"

:617,

"user"

:8,

"url"

:

"/api/replicate?id=617&stage=simpleply"

},{

"id"

:618,

"user"

:8,

"url"

:

"/api/replicate?id=618&stage=simpleply"

},{

"id"

:620,

"user"

:8,

"url"

:

"/api/replicate?id=620&stage=simpleply"

},{

"id"

:623,

"user"

:14,

"url"

:

"/api/replicate?id=623&stage=simpleply"

},{

"id"

:679,

"user"

:14,

"url"

:

"/api/replicate?id=679&stage=simpleply"

},{

"id"

:687,

"user"

:14,

"url"

:

"/api/replicate?id=687&stage=simpleply"

},{

"id"

:688,

"user"

:14,

"url"

:

"/api/replicate?id=688&stage=simpleply"

},{

"id"

:1215,

"user"

:2,

"url"

:

"/api/replicate?id=1215&stage=simpleply"

},{

"id"

:1321,

"user"

:1,

"url"

:

"/api/replicate?id=1321&stage=simpleply"

},{

"id"

:2227,

"user"

:9,

"url"

:

"/api/replicate?id=2227&stage=simpleply"

},{

"id"

:2265,

"user"

:12,

"url"

:

"/api/replicate?id=2265&stage=simpleply"

},{

"id"

:2329,

"user"

:14,

"url"

:

"/api/replicate?id=2329&stage=simpleply"

},{

"id"

:2354,

"user"

:13,

"url"

:

"/api/replicate?id=2354&stage=simpleply"

}]}



Get
/api/replicate?stage=ply
List all models with dense PLY data

Returns all models with valid dense PLY data

Example response:
{

"objects"

:[{

"id"

:617,

"user"

:8,

"url"

:

"/api/replicate?id=617&stage=ply"

},{

"id"

:618,

"user"

:8,

"url"

:

"/api/replicate?id=618&stage=ply"

},{

"id"

:620,

"user"

:8,

"url"

:

"/api/replicate?id=620&stage=ply"

},{

"id"

:623,

"user"

:14,

"url"

:

"/api/replicate?id=623&stage=ply"

},{

"id"

:1215,

"user"

:2,

"url"

:

"/api/replicate?id=1215&stage=ply"

},{

"id"

:1321,

"user"

:1,

"url"

:

"/api/replicate?id=1321&stage=ply"

},{

"id"

:2227,

"user"

:9,

"url"

:

"/api/replicate?id=2227&stage=ply"

},{

"id"

:2265,

"user"

:12,

"url"

:

"/api/replicate?id=2265&stage=ply"

}]}




Get
/api/replicate?stage=refined_ply
List all models with refined PLY data

Returns all models with valid refined PLY data

Example response:
{

"objects"

:[{

"id"

:617,

"user"

:8,

"url"

:

"/api/replicate?id=617&stage=refined_ply"

},{

"id"

:618,

"user"

:8,

"url"

:

"/api/replicate?id=618&stage=refined_ply"

},{

"id"

:620,

"user"

:8,

"url"

:

"/api/replicate?id=620&stage=refined_ply"

},{

"id"

:623,

"user"

:14,

"url"

:

"/api/replicate?id=623&stage=refined_ply"

},{

"id"

:1215,

"user"

:2,

"url"

:

"/api/replicate?id=1215&stage=refined_ply"

},{

"id"

:1321,

"user"

:1,

"url"

:

"/api/replicate?id=1321&stage=refined_ply"

},{

"id"

:2265,

"user"

:12,

"url"

:

"/api/replicate?id=2265&stage=refined_ply"

}]}




Get
/api/replicate?stage=mesh
List all models with poisson mesh data (untextured)

Returns all models with valid poisson mesh data
The URLS call the replicate API and return the OBJ data for the relevant model

Example response:
{

"objects"

:[{

"id"

:617,

"user"

:8,

"url"

:

"/api/replicate?id=617&stage=mesh"

},{

"id"

:620,

"user"

:8,

"url"

:

"/api/replicate?id=620&stage=mesh"

},{

"id"

:623,

"user"

:14,

"url"

:

"/api/replicate?id=623&stage=mesh"

},{

"id"

:1215,

"user"

:2,

"url"

:

"/api/replicate?id=1215&stage=mesh"

},{

"id"

:1321,

"user"

:1,

"url"

:

"/api/replicate?id=1321&stage=mesh"

}]}



Get
/api/replicate?stage=textured_mesh
List all models with textured mesh data

Returns all models with valid textured mesh data
The URLS specify public URLs inside the Assets folder on the content server.
The URLS are for the .obj file containing the mesh data.
The .mtl files are the same url with .mtl instead of .obj
The texture files are the same url with .jpg instead of .obj

Example response:
{

"objects"

:[{

"id"

:617,

"user"

:8,

"objurl"

:

"/Assets/617_textured.obj"

},{

"id"

:620,

"user"

:8,

"objurl"

:

"/Assets/620_textured.obj"

},{

"id"

:623,

"user"

:14,

"objurl"

:

"/Assets/623_textured.obj"

},{

"id"

:1215,

"user"

:2,

"objurl"

:

"/Assets/1215_textured.obj"

},{

"id"

:1321,

"user"

:1,

"objurl"

:

"/Assets/1321_textured.obj"

}]}



Get
/api/replicate?stage=wt3
Endpoint for Wikitude

Returns the virtual WT3 links for all replicate models which have completed the replicate pipeline and are available as meshes
Currently all WT3 files return the same test file data.

Example response:
{

"objects"

:[{

"id"

:509,

"wt3urlrelative"

:

"/api/export?id=509&fmt=wt3"

,

"wr3url"

:

"http://www.replicate3d.eu//api/export?id=509&fmt=wt3"

,

"thumbnail"

:

""

,

"user"

:8},{

"id"

:611,

"wt3urlrelative"

:

"/api/export?id=611&fmt=wt3"

,

"wt3url"

:

"http://www.replicate3d.eu//api/export?id=611&fmt=wt3"

,

"thumbnail"

:

""

,

"user"

:8}]
}






Get
/api/replicate?id={id}
Get information on pipeline status for given scene id

Returns JSON format pipeline status for a scene

Example response:
{
    

"id"

: 1286,
    

"ply_vertex_count"

: 32741,
    

"refined_ply_vertex_count"

: 21858,
    

"poisson_id"

:

"2018:06:27-02:30:49.100-PoissonReconstruction"

,
    

"poisson_start_secs"

: 1530063034.89843,
    

"poisson_end_secs"

: 1530083633.61579,
    

"acquisition_lastdownloadsecs"

: 1530060233.5868,
    

"acquisition_secs"

: 1511521996,
    

"acquisition_url"

:

"/asset/reconstruction/1a40eab0d15a700aa5afe070461792bacfbaa6a78f2ff2a97495406877009bb5"

,
    

"auto_refine"

: true,
    

"image_count"

: 12,
    

"image_download_count"

: 1,
    

"nvm_size"

: 173868
}



Get
/api/replicate?id={id}&stage=ply
Get PLY data from pipeline for given scene

Returns the PLY point cloud file for a scene.
The PLY point cloud is available once ply_vertex_count > 0 in the pipeline status



Get
/api/replicate?id={id}&stage=refined_ply
Get refined PLY data from pipeline for given scene

Returns the refined PLY point cloud file for a scene.
The refined PLY point cloud is available once refined_ply_vertex_count > 0 in the pipeline status



Get
/api/replicate?id={id}&stage=mesh
Get mesh data from pipeline for given scene

Returns the resultant OBJ mesh file for a scene.
The OBJ mesh is available once poisson_end_secs > 0 in the pipeline status



Get
/api/replicate?id={id}&stage=acquisitions
Get acquisition JSON data for given scene

The acquisition JSON data is available once acquisition_secs > 0 in the pipeline status
This is purely for information and not needed to fetch Replicate pipeline model data



Get
/api/replicate?id={id}&stage=images
Get images JSON data for given scene

The images JSON data is available once image_count > 0 in the pipeline status
This is purely for information and not needed to fetch Replicate pipeline model data



Get
/api/replicate?id={id}&stage=nvm
Get NVM data for given scene

The NVM data is available once nvm_size > 0 in the pipeline status
This is purely for information and not needed to fetch Replicate pipeline model data



Get
/api/replicate?id={id}&stage=progress
Get progress percent of pipeline for given scene

Returns as text an integer value indicating the progress percent of the pipeline

>=10 Acquisitions available
>=20 PLY point cloud available
>=30 Refined PLY point cloud available
>=50 Untextured OBJ mesh available (Poisson is complete)
>=60 NVM data is available
>=70 All images downloaded



Post
/api/replicate?id={id}&cmd={cmd}
Send one or more pipeline commands

Commands are separated by spaces (before URL translation)

reset_all forget all pipeline work done for this scene. it will start again.
reset_poisson forget all poisson work for the scene. it will start a new poisson job.
auto_refine 1 turn on auto refining for the point cloud. reset_all should be used afterwards.
auto_refine 0 turn off auto refining for the point cloud. reset_all should be used afterwards.
work do some work for this scene. (ignores queue priorities. will only perform one work step, which may or may not increase the progress in a noticeable percent)