Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes since v4.6.6 → next release v4.7.0
🆕 New Features
OpenGL 3.3 Volume Rendering Backend (macOS support) — #784
Volumeclass is now used as the primary input for all 3D rendering (MPR/MIP and VR).Hanging Protocols — Part I
Unified DICOM Import UX — #793
Export Annotation Feature (finalized)
4D Series Sub-Series Splitting Dialog — #763
Integrated MIP Projection Mode in Standard 2D Viewer — #795
DICOM Export for MPR Views — #796
MPR Crosshair Cut Mode for 3D Volume Rendering — #799
Expanded DICOM Segmentation Support (BINARY, FRACTIONAL, LABELMAP) with MPR & 3D overlay
(0062,0001) SegmentationTypekinds defined by the standard:PROBABILITYandOCCUPANCY) — rendered through a newFractionalOverlaywith per-segment alpha LUT (ByteLutAlpha),SegmentNumber, decoded via the newLabelMapContourLoader/LabelMapScanner.SegmentationVolume/SegmentationVolumeBuilderpipeline reslices SEG masks into the active reference volume so the overlay follows the MPR planes and the VR camera.SegVolumeTextureexposes the segmentation volume as an OpenGL texture consumed by the volume shader (vrFunctions.glsl,volumeFbo.frag,voxelUniforms*.glsl).RTDose) now reuses the same fractional overlay infrastructure for isodose rendering — see commit426477213("Refactoring RT module and use fractional overlay for RTDose").org.weasis.dicom.codec.segpackage, withHiddenSeriesManagerto track non-displayable series referenced by SEG/RT objects.System File Chooser — #761
Customizable Keyboard Shortcuts — #804 (uncommitted)
ShortcutManagerto manage all keyboard shortcuts in the application.ShortcutPrefView) allowing users to view, search, customize, and reset keyboard shortcuts.Tab Opening Preferences for Studies — #806
View Synchronization Overhaul — auto-sync, manual-sync, per-view configuration
A complete redesign of how synchronization is controlled, both globally and per view. Documented in the View Synchronization tutorial.
Nonesynchronization mode removed — the toolbar drop-down now lists onlyDefault StackandDefault Tile. Use the master Synchronize checkbox in the drop-down popup to disable synchronization globally for the container.Default Stackdefaults — only Scroll is propagated by default; every other per-action toggle (Pan, Zoom, W/L, Rotation, Flip, Spatial unit) starts disabled and the user opts in explicitly. Previously W/L and Zoom were also on by default.Default Tileis unchanged: every per-action setting still propagates so a tile group stays in lock-step.🔧 Improvements
3D / Volume Rendering
Volumeclass overhauled: better min/max handling in subclasses, validation of parallel and regular slices, support for color images (byte & short), ability to read and save 3D raw data.MPR (Multi-Planar Reconstruction)
SegVolumeBuilderand a dedicatedMprController, so the same SEG shown on the source slice appears correctly on coronal, sagittal and oblique reconstructions.UI / UX
ViewerOpenOptionsand enhanced split layout handling.Networking
HttpClient(removed legacyHttpURLConnectionpaths). Improves how images/series are downloaded.JavaNetHttpClientfor OAuth2 authentication flows.org.weasis.core.api.netpackage; addedURIUtils.HttpClient.Code & Build Quality
org.weasis.core.api.imageandorg.weasis.core.api.netpackages.FilewithPaththroughout for modern I/O usage.bnd-maven-plugin(OSGi bundle generation) compatibility issue.Date/Time Picker
DateTimePickercomponent featuring improved selection UXSpinnerProgress
SpinnerProgresscomponent for displaying indeterminate progress with a spinner animation, used in various loading contexts.🐛 Bug Fixes
f867c06ee8c27b52618d286bf1d3bda67cc77e7dbb95190bf0cc0790a6522d4d1f99e06e747882f7e43a0952bad2cf44a1d522508dad5ed0651052848b54a8🧪 Areas to Test for v4.7.0
GLExceptionand that the volume renders identically to Linux/Windows compute-shader output (same preset, same camera).-Dweasis.3d.force.fbo=trueand compare the result to the default compute-shader output — diffs should be limited to floating-point rounding, not visible artifacts.a regular axial CT,
a CT with gantry tilt,
an oblique acquisition,
a non-axially scanned MR (sagittal-acquired) — #752,
a thick-slab CT prone to horizontal banding/striations in the COR/SAG views — #771.
For each volume, scroll all three planes, take a measurement (length & angle) on axial then on coronal/sagittal, and verify the values are consistent. No banding/striations, no deformation, no geometry mismatch with the source slice.
ViewerOpenOptionspath is used for both local and remote opens..zipcontaining DICOMs onto the main window — all three should land in the same Local Device dialog.first connection triggers the OAuth login; token is cached,
token refresh works after expiry without user intervention,
revoking the token server-side surfaces a clear error in the UI.
Verify both the new
JavaNetHttpClientpath and confirm the legacy code path is no longer reachable (search forHttpURLConnectionusage in DICOMweb queries).HttpClient-only path — Test:file://URIs (regression covered by commit86bf1d3) — must not throw,UICoreinitialization (commitbda67cc):~/.weasis/preferences/),ee8c27b— "very slow init of language settings").mvn -B -ntp verify -Pcoverage,build-installer.ymlviaworkflow_dispatch) — MSI / PKG (notarized) / DEB / RPM all produced and installable,ImageOrientationPatient/ImagePositionPatientreflect the chosen plane,TabFocusPolicy.autoByDurationbehaves consistently across these contexts (focus follows the most recent open within the configured time window),SegmentSequence.SegVolumeTextureupload does not regress 3D performance.Nonemode is gone and the master Synchronize checkbox correctly enables/disables synchronization globally without changing the active mode.