Skip to content

Commit

Permalink
Changes to allow both 4.11 and 4.13 builds. Plus temp workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
dazzag24 committed Oct 7, 2021
1 parent 5b69d12 commit 6e89bbf
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 31 deletions.
8 changes: 4 additions & 4 deletions slicer-notebook/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ WORKDIR ${HOME}
################################################################################
# Download and unpack Slicer

#ARG SLICER_ARCHIVE=Slicer-4.13.0-2020-12-20-linux-amd64
#ARG SLICER_DOWNLOAD_URL=http://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&name=Slicer-4.13.0-2020-12-20-linux-amd64.tar.gz&checksum=eeb9ba596f3d5ff20265e7d9de9392fe

# Current preview release
#ARG SLICER_ARCHIVE=Slicer-4.13.0-2021-10-06-linux-amd64
#ARG SLICER_DOWNLOAD_URL=https://slicer-packages.kitware.com/api/v1/item/615e75f7342a877cb3ccd8fa/download
#ARG SLICER_DOWNLOAD_URL=https://download.slicer.org/bitstream/615e75f7342a877cb3ccd8fa

# Current stable release
#ARG SLICER_ARCHIVE=Slicer-4.11.20210226-linux-amd64
#ARG SLICER_DOWNLOAD_URL=https://download.slicer.org/bitstream/60add706ae4540bf6a89bf98

# Previous stable release
ARG SLICER_ARCHIVE=Slicer-4.11.20200930-linux-amd64
ARG SLICER_DOWNLOAD_URL=https://download.slicer.org/bitstream/60add70fae4540bf6a89bfb4

Expand Down
61 changes: 34 additions & 27 deletions slicer-notebook/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,34 +23,41 @@ echo "XORG_PID [$XORG_PID]"
################################################################################
# Set up Slicer extensions

echo "1"

# Set default application settings:
echo "Set default application settings"
# - use CPU volume rendering (it is better optimized for software rendering)
$slicer_executable \
-c "slicer.app.settings().setValue('VolumeRendering/RenderingMethod','vtkMRMLCPURayCastVolumeRenderingDisplayNode'); \
slicer.app.settings().setValue('Markups/GlyphScale', 3); \
slicer.app.settings().setValue('Markups/UseGlyphScale', True)"

echo "2"

# Install SlicerJupyter extension
$slicer_executable \
-c "em = slicer.app.extensionsManagerModel(); \
extensionMetaData = em.retrieveExtensionMetadataByName('SlicerJupyter'); \
print(extensionMetaData); \
itemId = extensionMetaData['item_id']; \
url = f\"{em.serverUrl().toString()}/download?items={itemId}\"; \
print(f\"itemId: {itemId} url: {url}\"); \
extensionPackageFilename = slicer.app.temporaryPath+'/'+itemId; \
slicer.util.downloadFile(url, extensionPackageFilename); \
em.installExtension(extensionPackageFilename)"

echo "3"

# Install Jupyter server (in Slicer's Python environment) and Slicer Jupyter kernel
$slicer_executable \
-c "slicer.modules.jupyterkernel.installInternalJupyterServer()"
$slicer_executable -c '
slicer.app.settings().setValue("VolumeRendering/RenderingMethod","vtkMRMLCPURayCastVolumeRenderingDisplayNode")
slicer.app.settings().setValue("Markups/GlyphScale", 3)
slicer.app.settings().setValue("Markups/UseGlyphScale", True)
'

echo "Install SlicerJupyter extension"
$slicer_executable -c '
em = slicer.app.extensionsManagerModel()
extensionMetaData = em.retrieveExtensionMetadataByName("SlicerJupyter")
print(f"extensionMetaData: {extensionMetaData}")
if slicer.app.majorVersion*100+slicer.app.minorVersion < 413:
# Slicer-4.11
itemId = extensionMetaData["item_id"]
url = f"{em.serverUrl().toString()}/download?items={itemId}"
print(f"itemId: {itemId} url: {url}")
extensionPackageFilename = f"{slicer.app.temporaryPath}/{itemId}"
slicer.util.downloadFile(url, extensionPackageFilename)
else:
# Slicer-4.13
#itemId = extensionMetaData["_id"]
itemId = "30304-linux-amd64-SlicerJupyter-gitb3fba2d-2021-03-21.tar.gz"
url = "https://github.com/Slicer/SlicerJupyter/files/7305919/30304-linux-amd64-SlicerJupyter-gitb3fba2d-2021-03-21.tar.gz"
print("Using bespoke build from {url} until https://github.com/Slicer/SlicerJupyter/issues/59 is fixed")
extensionPackageFilename = f"{slicer.app.temporaryPath}/{itemId}"
slicer.util.downloadFile(url, extensionPackageFilename)
em.installExtension(extensionPackageFilename)
'

echo "Install Jupyter server (in Slicer's Python environment) and Slicer Jupyter kernel"
$slicer_executable -c '
slicer.modules.jupyterkernel.installInternalJupyterServer()
'

################################################################################
# Shutdown headless environment
Expand Down

0 comments on commit 6e89bbf

Please sign in to comment.