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 and use the token and Slide Score server URL to create an instance of the API Client:
from slidescore import *
token="eyJ....<your token>...."
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);