void VolumeDisplayUnit::updateCurrentImageDefaultPresets() { if (getViewPlane() == OrthogonalPlane::XYPlane) { Image *image = getVolume()->getImage(m_sliceHandler->getCurrentSlice(), m_sliceHandler->getCurrentPhase()); if (image) { for (int i = 0; i < image->getNumberOfWindowLevels(); ++i) { WindowLevel windowLevel = WindowLevelHelper().getDefaultWindowLevelForPresentation(image, i); m_windowLevelData->updatePreset(windowLevel); } } } WindowLevel wl = m_windowLevelData->getCurrentPreset(); m_imagePipeline->setWindowLevel(wl.getWidth(), wl.getCenter()); }
WindowLevel WindowLevelHelper::getDefaultWindowLevelForPresentation(Image *image, int index) { if (!image) { return WindowLevel(); } WindowLevel windowLevel = image->getWindowLevel(index); if (windowLevel.isValid()) { if (image->getPhotometricInterpretation() == PhotometricInterpretation::Monochrome1) { windowLevel.setWidth(-windowLevel.getWidth()); } if (windowLevel.getName().isEmpty()) { windowLevel.setName(getDefaultWindowLevelDescription(index)); } } return windowLevel; }
void VolumeDisplayUnit::updateWindowLevel(const WindowLevel &windowLevel) { m_windowLevelData->setCurrentPreset(windowLevel); m_imagePipeline->setWindowLevel(windowLevel.getWidth(), windowLevel.getCenter()); }