Preferences

The WEB distribution (weasis.war) allows delivering preferences from the server-side to the client-side. Some preferences on the server-side are used by Weasis only during the first launch because they can be changed later in the Weasis user interface. The other preferences at the server-side are used by Weasis at every launch.

Local preferences can be changed by:

  • The Weasis user interface: File > Preferences
  • The weasis protocol with the command weasis:config and the pro parameter

Preferences on the server-side can be changed by:

How to modify ext-config.properties:

  • Unzip weasis.war, modify the file and zip it again.
  • It is also possible to change the default location of ext-config.properties with the Java property “felix.extended.config.properties” with the parameter cdb-ext of the weasis service. The ext-config.properties file can also be placed in a plugin package, see How to build and install a plug-in.

Priority order for loading a property

Here is the priority order to set a property:

  1. Java System property providing from parameters of weasis:config or the launching URI)
  2. Property defined in weasis/conf/ext-config.properties or in weasis/conf/config.properties
  3. The default value of the property (see table below)

Example to change language property (It will work only during the first launch of Weasis on a user session, otherwise delete ${user.home}/.weasis/preferences/).

  1. If you are using weasis-pacs-connector, add the property locale.lang.code:
    http://localhost:8080/weasis-pacs-connector/weasis?patientID=9702672&pro="locale.lang.code%20fr_CH"
  2. Add the property in weasis/conf/ext-config.properties:
    locale.lang.code=fr_CH
  3. The default value is “en_US”

List of preferences

  • GUI: if yes, the property can be modified in the Weasis user interface.
  • Type: F: only caught at the first launch of the viewer. A: always caught by the viewer. AP: always caught by the viewer but only from ext-config.properties or config.properties .
Property Default value GUI Type Description
weasis.language en yes F Language code defined by ISO 639. Replaced by locale.lang.code in Weasis 2
weasis.country US yes F Country or region code defined by ISO 3166. Replaced by locale.lang.code in Weasis 2
weasis.variant yes F Optional variant code. Replaced by locale.lang.code in Weasis 2
weasis.confirm.closing false (from 2.0.0) yes F Show a message of confirmation when closing the application.
weasis.look SubstanceTwilight AquaLookAndFeel (Mac) yes F Look and feel, if the Substance library is not loaded, Nimbus will be used by default.
weasis.look.${system} SubstanceTwilight AquaLookAndFeel (Mac) yes F Look and feel, specific to the platform (macosx, linux, windows).
weasis.show.disclaimer true no A Show a disclaimer (requires to be accepted to start the application) during the first launch of Weasis.
weasis.show.release true (from 2.0.0) no A Show a message when the release has changed
weasis.export.dicom true (from 1.2.5) no A Allows exporting DICOM files.
weasis.portable.dicom.cache true no A Cache the images imported from directories defined in weasis.portable.dicom.directory. If true, it is similar to the WEB import.
org.apache.sling.commons.log.level INFO yes F Sets the logging level of the loggers. This may be any of the defined logging levels TRACE, DEBUG, INFO, WARN, ERROR.
org.apache.sling.commons.log.file.activate false yes F Activate the log file. If this property is false, log messages are written to System.out. Since Weasis 2.0.4
org.apache.sling.commons.log.file.number 5 yes F The number of rotated files to keep.
org.apache.sling.commons.log.file.size 10MB yes F Defines how the log file is rotated by size.
org.apache.sling.commons.log.pattern {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3} {5} no F Formatting log messages. java.util.MessageFormat pattern supporting up to six arguments: {0} The timestamp of type java.util.Date, {1} the log marker, {2} the name of the current thread, {3} the name of the logger, {4} the debug level and {5} the actual debug message.
ONLY from Weasis 2.0
locale.lang.code en yes F Language code (see Java Locale). If the value is “system” then the locale of the operating system will be used (client-side).
locale.format.code system yes F Format code for number and date (see Java Locale). If the value is “system” then the locale of the operating system will be used (client-side).
weasis.name Weasis no AP Change the name of the application everywhere in UI
weasis.profile default no AP Application profile, it allows having a custom preferences directory on the client side (will not shared preferences with other Weasis instances)
weasis.resources.url ${weasis.codebase.url}/resources.zip no A Application resource files (logo, presets, LUTs…). “resources.zip” is downloaded again only when the last modified date has changed.
weasis.download.immediately true yes F Start to download series immediately
download.concurrent.series 3 no A The number of concurrent series downloads
download.concurrent.series.images 4 no A The number of concurrent image downloads in a series
audit.log false no A Audit log for giving statistics about usage of Weasis
weasis.color.wl.apply true yes F Allow to apply Window/Level on color images
weasis.dicom.root.uid 2.25 no A Set value for dicom root UID when creating DICOM objects (KO or PR). See company list.
{ui keys} true no A Make visible or not the Toolbars, Tools, some buttons, main menu and context menu items (see ext-config.properties file)
weasis.aet WEASIS_AE no A Calling AETitle for DICOM send and DICOM print
ONLY from Weasis 2.5.3
org.apache.sling.commons.log.stack.limit 3 yes F Defines the maximum number of lines for stack trace (0 => NONE, -1 => ALL)
weasis.export.dicom.send true no A Allows DICOM send. Is always false when weasis.export.dicom=false.
weasis.import.dicom true no A Allows importing DICOMs
weasis.import.dicom.qr true no A Allows DICOM Q/R. Is always false when weasis.import.dicom=false.
weasis.acquire.meta.global.display PatientID,PatientName, PatientBirthDate, PatientSex, AccessionNumber, StudyDescription no A Global tags at the patient or study level that are visible in Dicomizer
weasis.acquire.meta.global.edit StudyDescription no A Global tags which are editable
weasis.acquire.meta.global.required PatientID, PatientName, AccessionNumber, StudyDescription no A Global tags which are required for publication
weasis.acquire.meta.series.display Modality, OperatorsName, ReferringPhysicianName, BodyPartExamined, SeriesDescription no A Tags at the series level that are visible in Dicomizer
weasis.acquire.meta.series.edit ReferringPhysicianName, BodyPartExamined, SeriesDescription no A Series tags which are editable
weasis.acquire.meta.series.required Modality, SeriesDescription no A Series tags which are required for publication
weasis.acquire.meta.image.display ImageComments, ContentDate, ContentTime no A Tags at the image level that are visible in Dicomizer
weasis.acquire.meta.image.edit ImageComments, ContentDate, ContentTime no A Image tags which are editable
weasis.acquire.meta.image.required ContentDate no A Image tags which are required for publication
weasis.acquire.dest.host localhost no A Hostname of DICOM send destination for Dicomizer. If no value, the list of DICOM nodes for storage is displayed.
weasis.acquire.dest.aet DCM4CHEE no A AETitle of DICOM send destination for Dicomizer
weasis.acquire.dest.port 11112 no A Port of DICOM send destination for Dicomizer
weasis.acquire.meta.study.description Pictures of follow-up,Pictures of observation,Pictures preoperative,Pictures intraoperative,Pictures postoperative no A Comma-separated list of study description elements. Comment this property to have a free text field.
weasis.acquire.meta.series.description no A Comma-separated list of series description elements. Comment this property to have a free text field.
ONLY from Weasis 2.6.0
weasis.level.inverse true yes F Inverse level direction (moving the cursor down to increase brightness)
weasis.apply.latest.pr false yes F Apply by default the most recent Presentation State to the related image
weasis.user system user no A Defines a user with its own preferences
ONLY from Weasis 3.5.3
weasis.pref.store.local.session false no A Store user preferences when weasis.user is not specified (only with remote preferences service)

Examples of properties in ext-config.properties

Changing the default Look and feel

# Define the Look an Feel for the first launch according to the platform (macosx, linux, windows)
weasis.look=org.pushingpixels.substance.api.skin.SubstanceSaharaLookAndFeel
weasis.look.macosx=com.apple.laf.AquaLookAndFeel
weasis.look.linux=org.pushingpixels.substance.api.skin.SubstanceGraphiteAquaLookAndFeel

Customize resources

The default resources are located:

  • For the web distribution in “resources.zip” at the root of weasis.war (see above how to set a new URL for resources)
  • For the portable distribution in ./weasis/resources

How to add DICOM nodes or DICOM printers at the server-side

  • From the graphical user interface, configure the DICOM printers (File > Print > DICOM Print) or DICOM nodes (File > Preferences > Dicom node list)
  • Go to he folder ${user.home}/.weasis/data/weasis-dicom-explorer
  • Copy the desired configuration files: dicomNodes.xml, dicomPrinterNodes.xml, dicomWebNodes.xml and dicomCallingNodes.xml
  • Paste at the root path of resources. For web distribution, unzip, place files and zip again.
  • The new configurations should appear for all the users as non-editable configurations in Weasis.