Skip to content
Snippets Groups Projects

Updates for TREC pipelines

Merged Christopher Randolph Rhodes requested to merge int_trec into staging
2 files
+ 13
14
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -14,42 +14,45 @@ import model_server.extensions.ilastik.pipelines.px_then_ob
router.include_router(model_server.extensions.ilastik.pipelines.px_then_ob.router)
@router.put('/seg/load/')
def load_px_model(p: ilm.IlastikPixelClassifierParams) -> dict:
def load_px_model(p: ilm.IlastikPixelClassifierParams, model_id=None) -> dict:
"""
Load an ilastik pixel classifier model from its project file
"""
return load_ilastik_model(
ilm.IlastikPixelClassifierModel,
p,
model_id=model_id,
)
@router.put('/pxmap_to_obj/load/')
def load_pxmap_to_obj_model(p: ilm.IlastikParams) -> dict:
def load_pxmap_to_obj_model(p: ilm.IlastikParams, model_id=None) -> dict:
"""
Load an ilastik object classifier from pixel predictions model from its project file
"""
return load_ilastik_model(
ilm.IlastikObjectClassifierFromPixelPredictionsModel,
p,
model_id=model_id,
)
@router.put('/seg_to_obj/load/')
def load_seg_to_obj_model(p: ilm.IlastikParams) -> dict:
def load_seg_to_obj_model(p: ilm.IlastikParams, model_id=None) -> dict:
"""
Load an ilastik object classifier from segmentation model from its project file
"""
return load_ilastik_model(
ilm.IlastikObjectClassifierFromSegmentationModel,
p,
model_id=model_id,
)
def load_ilastik_model(model_class: ilm.IlastikModel, p: ilm.IlastikParams) -> dict:
def load_ilastik_model(model_class: ilm.IlastikModel, p: ilm.IlastikParams, model_id=None) -> dict:
project_file = p.project_file
if not p.duplicate:
existing_model_id = session.find_param_in_loaded_models('project_file', project_file, is_path=True)
if existing_model_id is not None:
session.log_info(f'An ilastik model from {project_file} already existing exists; did not load a duplicate')
return {'model_id': existing_model_id}
result = session.load_model(model_class, key=p.model_id, params=p)
result = session.load_model(model_class, key=model_id, params=p)
session.log_info(f'Loaded ilastik model {result} from {project_file}')
return {'model_id': result}
\ No newline at end of file
Loading