Skip to content

Commit

Permalink
Merge pull request #55 from camicroscope/develop
Browse files Browse the repository at this point in the history
For 3.9.8
  • Loading branch information
birm authored Oct 21, 2021
2 parents 73fadfa + b14fe9f commit b795877
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 20 deletions.
7 changes: 5 additions & 2 deletions SlideServer.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import urllib
import flask
import flask_cors
from flask import request
import openslide
from werkzeug.utils import secure_filename
import dev_utils
Expand Down Expand Up @@ -184,7 +185,8 @@ def testRoute():

@app.route("/data/one/<filepath>", methods=['GET'])
def singleSlide(filepath):
res = dev_utils.getMetadata(filepath, app.config['UPLOAD_FOLDER'])
extended = request.args.get('extended')
res = dev_utils.getMetadata(filepath, app.config['UPLOAD_FOLDER'], extended)
if (hasattr(res, 'error')):
return flask.Response(json.dumps(res), status=500)
else:
Expand All @@ -203,7 +205,8 @@ def singleThumb(filepath):

@app.route("/data/many/<filepathlist>", methods=['GET'])
def multiSlide(filepathlist):
res = dev_utils.getMetadataList(json.loads(filepathlist), app.config['UPLOAD_FOLDER'])
request.args.get('extended')
res = dev_utils.getMetadataList(json.loads(filepathlist), app.config['UPLOAD_FOLDER'], extended)
if (hasattr(res, 'error')):
return flask.Response(json.dumps(res), status=500)
else:
Expand Down
39 changes: 21 additions & 18 deletions dev_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@


# given a path, get metadata
def getMetadata(filename, upload_folder):
def getMetadata(filename, upload_folder, extended):
# TODO consider restricting filepath
metadata = {}
filepath = os.path.join(upload_folder, filename)
Expand All @@ -26,21 +26,24 @@ def getMetadata(filename, upload_folder):
print(msg)
return msg
slideData = slide.properties
metadata['mpp-x'] = slideData.get(openslide.PROPERTY_NAME_MPP_X, None)
metadata['mpp-y'] = slideData.get(openslide.PROPERTY_NAME_MPP_Y, None)
metadata['height'] = slideData.get(openslide.PROPERTY_NAME_BOUNDS_HEIGHT, None) or slideData.get(
"openslide.level[0].height", None)
metadata['width'] = slideData.get(openslide.PROPERTY_NAME_BOUNDS_WIDTH, None) or slideData.get(
"openslide.level[0].width", None)
metadata['vendor'] = slideData.get(openslide.PROPERTY_NAME_VENDOR, None)
metadata['level_count'] = int(slideData.get('level_count', 1))
metadata['objective'] = float(slideData.get(openslide.PROPERTY_NAME_OBJECTIVE_POWER, 0) or
slideData.get("aperio.AppMag", -1.0))
metadata['md5sum'] = file_md5(filepath)
metadata['comment'] = slideData.get(openslide.PROPERTY_NAME_COMMENT, None)
metadata['study'] = ""
metadata['specimen'] = ""
return metadata
if extended:
return {k:v for (k,v) in slideData.items()}
else:
metadata['mpp-x'] = slideData.get(openslide.PROPERTY_NAME_MPP_X, None)
metadata['mpp-y'] = slideData.get(openslide.PROPERTY_NAME_MPP_Y, None)
metadata['height'] = slideData.get(openslide.PROPERTY_NAME_BOUNDS_HEIGHT, None) or slideData.get(
"openslide.level[0].height", None)
metadata['width'] = slideData.get(openslide.PROPERTY_NAME_BOUNDS_WIDTH, None) or slideData.get(
"openslide.level[0].width", None)
metadata['vendor'] = slideData.get(openslide.PROPERTY_NAME_VENDOR, None)
metadata['level_count'] = int(slideData.get('level_count', 1))
metadata['objective'] = float(slideData.get(openslide.PROPERTY_NAME_OBJECTIVE_POWER, 0) or
slideData.get("aperio.AppMag", -1.0))
metadata['md5sum'] = file_md5(filepath)
metadata['comment'] = slideData.get(openslide.PROPERTY_NAME_COMMENT, None)
metadata['study'] = ""
metadata['specimen'] = ""
return metadata


def postslide(img, url):
Expand All @@ -55,10 +58,10 @@ def postslide(img, url):


# given a list of path, get metadata for each
def getMetadataList(filenames, upload_folder):
def getMetadataList(filenames, upload_folder, extended):
allData = []
for filename in filenames:
allData.append(getMetadata(filename, upload_folder))
allData.append(getMetadata(filename, upload_folder, extended))
return allData


Expand Down

0 comments on commit b795877

Please sign in to comment.