* feat: add initial sop class handler for SEG * feat: move segmentation service * update segmentation service methods * fix: viewport data structure * feat: Add initial render for the DICOM SEG for each displaySet * fix: various wrong architectural dependencies between services * feat: initial separate SEG display in each viewport * feat: refactore viewport action bar * initial work for SEG hydration * fix: various bugs regarding drag and dropping different viewports * fix: rendering issues for multiple seg displaysets * fix: bugs for thumbnail and hydration * feat: fix the initial segment color * update after rebase * feat: initial design for the segmentation group table * feat: initial new design for the segmentation panel * feat: segmentation panel * feat: make segmentation appear on all related viewports * fix: segmentation load bug based on functional groups * initial work for segmentation crosshairs * fix: various stylings and functionality * fix: various stylings for the seg panel * fix: overflow styles * feat: add more ui components * feat: added segmentation config * feat: add jump to segment * feat: add jump to segment for DICOM SEG viewport * fix: bugs after rebase * feat: jump in segmentation viewport * fix: mpr support for seg * feat: add more icons * feat: new icons * feat: add new side panel * feat: add segmentation config * feat: add loading indicator to ohif * feat: make hanging protocols follow matching rules for viewports * feat: enhance drag and drop to be hanging protocol aware * fix: mpr restore previous layout * fix: crosshairs toggle * fix: add auth headers to the dicom loader via dicomwebclient * fix: bug for crosshairs toggle in mpr * fix: seg viewport reusing old toolGroup * feat: add loading animation with lottie * fix: various bugs for Segmentation hydration in mpr * feat: change outline alpha to outline opacity * feat: loading indicator for seg viewport * fix: various segmentation group styles * fix: local mode for seg * feat: add animation for the highlight * fix: loading indicatro to show segment indices * feat: enhance modality drop down ui * fix: panels * fix: download form * fix: layout shift in loading indicator * fix: loading indicator to have correct values * fix: update software number * fix: image jump between MPR and default * fix: segmentation cleanup and cine service cleanup * fix: segmentation toolgroup clena up * fix: highlight interval should not trigger again * fix: issue with multiframe sorting * rename: change onSeriesChange to onArrowsClick * fix: buttons for tmtv and layout shift * fix: various bugs wrt crosshairs * fix: crosshairs re init on reset camera * fix: middle slice calculation different from cs middle reset camera * fix: reset camera should reset viewport camera * fix: loading segments in MPR mode * fix: tmtv hp back to before * fix: layout shift * feat: orientation markers for volume viewport * fix: capture for volume viewports * fix: memory leak for back to worklist * fix: loading bar bg color * fix: side panel for only one panel * fix: react select style in production * fix: various styling for segmentation groups * fix: various ui styles * feat: add new segmentation config styles * fix: hover state for segmentation item * fix: side panel layout shift * temp add panels * try to fix scrollbar for thimbnail * fix: scroll not appearing for side panels * feat: changed styles for scrollbar * feat: add cpu fallback warning * fix: webworker destroy * fix: select styles * fix: orientation marker color and position * fix: capture screenshot for volume viewports * fix: hide segment visibility on mpr * fix: reloading an already loaded seg displayset * feat: add is equal * fix: mpr jump to measurements * apply review comments * fix: optimization for the segmentation load * fix: remove unnecessary context menu and hp service reset * fix: segmentation service wrt brush settings * feat: initial work for the stack synchronization * fix: add validateDisplaySetSelectorsForNewDisplaySets to make sure drag and drop can follow requirements * fix: various react proptypes * fix: thumbnails for the tmtv and change default props to default params * feat: make showing loading indicator configurable and add docs * bump versions and add more docs * fix demo * update cornerstone versions * apply review comments * feat: add reference lines * fix build * fix unit tests * add reference lines icon * fix: e2e tests * fix static wado config * docs: add segmentation service docs * fix: docker build * fix: keep camera and bump versions * Try re-enabling minification to fix deploy previews Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
75 lines
2.3 KiB
Docker
75 lines
2.3 KiB
Docker
# This dockerfile is used to publish the `ohif/viewer` image on dockerhub.
|
|
#
|
|
# It's a good example of how to build our static application and package it
|
|
# with a web server capable of hosting it as static content.
|
|
#
|
|
# docker build
|
|
# --------------
|
|
# If you would like to use this dockerfile to build and tag an image, make sure
|
|
# you set the context to the project's root directory:
|
|
# https://docs.docker.com/engine/reference/commandline/build/
|
|
#
|
|
#
|
|
# SUMMARY
|
|
# --------------
|
|
# This dockerfile has two stages:
|
|
#
|
|
# 1. Building the React application for production
|
|
# 2. Setting up our Nginx (Alpine Linux) image w/ step one's output
|
|
#
|
|
|
|
|
|
# Stage 1: Build the application
|
|
# docker build -t ohif/viewer:latest .
|
|
FROM node:16.15.0-slim as json-copier
|
|
|
|
RUN mkdir /usr/src/app
|
|
WORKDIR /usr/src/app
|
|
|
|
COPY ["package.json", "yarn.lock", "preinstall.js", "./"]
|
|
COPY extensions /usr/src/app/extensions
|
|
COPY modes /usr/src/app/modes
|
|
COPY platform /usr/src/app/platform
|
|
|
|
# Find and remove non-package.json files
|
|
#RUN find extensions \! -name "package.json" -mindepth 2 -maxdepth 2 -print | xargs rm -rf
|
|
#RUN find modes \! -name "package.json" -mindepth 2 -maxdepth 2 -print | xargs rm -rf
|
|
#RUN find platform \! -name "package.json" -mindepth 2 -maxdepth 2 -print | xargs rm -rf
|
|
|
|
# Copy Files
|
|
FROM node:16.15.0-slim as builder
|
|
RUN mkdir /usr/src/app
|
|
WORKDIR /usr/src/app
|
|
|
|
COPY --from=json-copier /usr/src/app .
|
|
|
|
# Run the install before copying the rest of the files
|
|
RUN yarn config set workspaces-experimental true
|
|
RUN yarn install --frozen-lockfile --verbose
|
|
|
|
COPY . .
|
|
|
|
# To restore workspaces symlinks
|
|
RUN yarn install --frozen-lockfile --verbose
|
|
|
|
ENV PATH /usr/src/app/node_modules/.bin:$PATH
|
|
ENV QUICK_BUILD true
|
|
# ENV GENERATE_SOURCEMAP=false
|
|
# ENV REACT_APP_CONFIG=config/default.js
|
|
|
|
RUN yarn run build
|
|
|
|
# Stage 3: Bundle the built application into a Docker container
|
|
# which runs Nginx using Alpine Linux
|
|
FROM nginxinc/nginx-unprivileged:1.23.1-alpine as final
|
|
#RUN apk add --no-cache bash
|
|
ENV PORT=3000
|
|
RUN rm /etc/nginx/conf.d/default.conf
|
|
USER nginx
|
|
COPY --chown=nginx:nginx .docker/Viewer-v3.x /usr/src
|
|
RUN envsubst `${PORT}` < /usr/src/default.conf.template > /etc/nginx/conf.d/default.conf
|
|
RUN chmod 777 /usr/src/entrypoint.sh
|
|
COPY --from=builder /usr/src/app/platform/viewer/dist /usr/share/nginx/html
|
|
ENTRYPOINT ["/usr/src/entrypoint.sh"]
|
|
CMD ["nginx", "-g", "daemon off;"]
|