Skip to content

Commit

Permalink
Support deprecated v1 clara version for backward comptability (NVIDIA#60
Browse files Browse the repository at this point in the history
)

* Support deprecated v1 clara version for backward comptability

* fix session check condition for deepgrow

* fix cursor movement/position error during model upload for deepgrow action

* Update readme for deepgrow action

* Don't save default server in register + disable aiaa session by default

* Update README.md
  • Loading branch information
SachidanandAlle authored Feb 28, 2020
1 parent a2b83fd commit 4682a4c
Show file tree
Hide file tree
Showing 6 changed files with 146 additions and 74 deletions.
13 changes: 8 additions & 5 deletions py-client/client_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def segmentation(self, model, image_in, image_out, session_id=None):
selector += '&session_id=' + AIAAUtils.urllib_quote_plus(session_id)

in_fields = {'params': '{}'}
in_files = {'image': image_in} if not session_id else {}
in_files = {'datapoint': image_in} if not session_id else {}

logger.debug('Using Selector: {}'.format(selector))
logger.debug('Using Fields: {}'.format(in_fields))
Expand All @@ -231,6 +231,9 @@ def segmentation(self, model, image_in, image_out, session_id=None):

form = json.loads(form) if isinstance(form, str) else form
params = form.get('params')
if params is None: # v1 backward compatibility
points = json.loads(form.get('points'))
params = {'points': (json.loads(points) if isinstance(points, str) else points)}
params = json.loads(params) if isinstance(params, str) else params

AIAAUtils.save_result(files, image_out)
Expand Down Expand Up @@ -272,7 +275,7 @@ def dextr3d(self, model, point_set, image_in, image_out, pad=20, roi_size='128x1
selector += '&session_id=' + AIAAUtils.urllib_quote_plus(session_id)

in_fields = {'params': json.dumps({'points': json.dumps(points)})}
in_files = {'image': cropped_file} if not use_session_input else {}
in_files = {'datapoint': cropped_file} if not use_session_input else {}

logger.debug('Using Selector: {}'.format(selector))
logger.debug('Using Fields: {}'.format(in_fields))
Expand Down Expand Up @@ -322,7 +325,7 @@ def deepgrow(self, model, foreground, background, image_in, image_out, session_i
selector += '&session_id=' + AIAAUtils.urllib_quote_plus(session_id)

in_fields = {'params': json.dumps({'foreground': foreground, 'background': background})}
in_files = {'image': image_in} if not session_id else {}
in_files = {'datapoint': image_in} if not session_id else {}

logger.debug('Using Selector: {}'.format(selector))
logger.debug('Using Fields: {}'.format(in_fields))
Expand Down Expand Up @@ -358,7 +361,7 @@ def mask2polygon(self, image_in, point_ratio):
params['more_points'] = point_ratio

fields = {'params': json.dumps(params)}
files = {'image': image_in}
files = {'datapoint': image_in}

status, response = AIAAUtils.http_multipart('POST', self._server_url, selector, fields, files,
multipart_response=False)
Expand Down Expand Up @@ -411,7 +414,7 @@ def fixpolygon(self, image_in, image_out, polygons, index, vertex_offset, propag
params['propagate_neighbor'] = propagate_neighbor

fields = {'params': json.dumps(params)}
files = {'image': image_in}
files = {'datapoint': image_in}

status, form, files = AIAAUtils.http_multipart('POST', self._server_url, selector, fields, files)
if status != 200:
Expand Down
10 changes: 10 additions & 0 deletions slicer-plugin/NvidiaAIAA/SegmentEditorNvidiaAIAA.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,16 @@ def __init__(self, parent):
"NVIDIA-AIAA/compressData", compressDataMapper,
"valueAsInt", str(qt.SIGNAL("valueAsIntChanged(int)")))

useSessionCheckBox = qt.QCheckBox()
useSessionCheckBox.checked = False
useSessionCheckBox.toolTip = ("Enable this option to make use of AIAA sessions."
" Volume is uploaded to AIAA as part of session once and it makes segmentation/dextr3d/deepgrow operations faster.")
aiaaGroupLayout.addRow("AIAA Session:", useSessionCheckBox)
useSessionMapper = ctk.ctkBooleanMapper(useSessionCheckBox, "checked", str(qt.SIGNAL("toggled(bool)")))
parent.registerProperty(
"NVIDIA-AIAA/aiaaSession", useSessionMapper,
"valueAsInt", str(qt.SIGNAL("valueAsIntChanged(int)")))

vBoxLayout.addWidget(aiaaGroupBox)
vBoxLayout.addStretch(1)

Expand Down
Loading

0 comments on commit 4682a4c

Please sign in to comment.