Skip to content

Commit

Permalink
Merge pull request #13 from camicroscope/release
Browse files Browse the repository at this point in the history
For 3.1.0
  • Loading branch information
birm authored Mar 11, 2019
2 parents 70f4e06 + 5a1d89e commit dbc51ea
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 23 deletions.
2 changes: 0 additions & 2 deletions SlideUtil.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ def openslidedata(metadata):
metadata['objective'] = float(slideData.get("aperio.AppMag", None))
metadata['md5sum'] = file_md5(metadata['filename'])
metadata['timestamp'] = time.time()
metadata['study'] = ""
metadata['specimen'] = ""
thumbnail_size = config.get('thumbnail_size', None)
if thumbnail_size:
gen_thumbnail(metadata['filename'], slide, thumbnail_size)
Expand Down
40 changes: 19 additions & 21 deletions thumbsFromUrl.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
import requests
import openslide
from multiprocessing.pool import ThreadPool
import requests
import sys
from PIL import Image

Image.MAX_IMAGE_PIXELS = None

if len(sys.argv <2):
sys.exit("Expects a url as second argument")

url = sys.argv[1]

FILE_FIELD = "file-location"
NAME_FIELD = "case_id"
URL = "http://172.20.11.223:9099/services/Camic_TCIA/Image/query/find"
IM_SIZE = 200
THREADS = 10
data = requests.get(url=url).json()

def gen_thumbnail(filename, slide, size, imgtype="png"):
dest = filename + "." + imgtype
print(dest)
slide.get_thumbnail([size, size]).save(dest, imgtype.upper())

def process(record):
file = record[FILE_FIELD]
name = record[NAME_FIELD]
def get_thumbnail(obj):
slide = obj['file-location']
dest = obj['case_id'] + '.png'
try:
slide = openslide.OpenSlide(file)
gen_thumbnail(name, slide, IM_SIZE, imgtype="png")
return ""
image = openslide.open_slide(slide)
image.get_thumbnail([200,200]).save(dest, "PNG")
return dest
except BaseException as e:
# return errors only
return name
return e

# do it
manifest = requests.get(URL).json()
res = ThreadPool(THREADS).imap_unordered(process, manifest)
res = ThreadPool(20).imap_unordered(get_thumbnail, data)
print([r for r in res])

0 comments on commit dbc51ea

Please sign in to comment.