This SDK contains the client library for using API of Slide Score See the documentation for more
For more examples see the examples folder
-
Import the module
-
setup token
-
setup URL of the Slide Score server
-
create an instance of the API Client
from slidescore import *
token="eyJ........" url="https://slidescore.example.com/"
client = APIClient(url, token)
Downloads a slide to the current directory ("."). Check the URL of the slide for image ID and study ID, or click Export cases button on study overview to get a list of slide IDs.
studyid=1
imageid=2
client.download_slide(studyid, imageid, ".")
localFilePath="C:/file_to_upload.tiff"
uploadFolder="UploadTest"
serverFileName="renamedSlide.tiff"
client.upload_file(localFilePath, uploadFolder, serverFileName)
client.add_slide(studyid, uploadFolder+"/"+serverFileName)
Results are uploaded in the same format as the download.
resultsFilePath="c:/Users/User/Downloads/Study_23_06_21_11.txt"
with open(resultsFilePath, "r") as f:
res = f.read()
client.upload_results(studyid, res)
You can use (limited) set of HTML tags in slide, case, study and module descriptions:
client.update_slide_description(studyid, imageid, 'Carina Nebula: Cosmic Cliffs, Glittering Landscape of Star Birth. Image Credit: NASA, ESA, CSA, and STScI <a href="https://esawebb.org/news/weic2205/">Original</a>');
The SDK doesn't include methods for all possible calls, sometimes you need to make the API request yourself:
response=clientlocal.perform_request("UpdateSlideName", {"imageId":imageid, "newName":'renamedSlide'}, method="POST")
rjson = response.json()
if 'success' not in rjson or rjson['success'] != True:
raise SlideScoreErrorException("Failed updating slide name: " + response.text);