public static AutoImageVoiDataLut CreateFrom(IDicomVoiLutsProvider provider, int lutIndex) { IDicomVoiLuts luts = provider.DicomVoiLuts; IList <VoiDataLut> dataLuts; if (luts.ImageVoiDataLuts.Count > lutIndex) { dataLuts = luts.ImageVoiDataLuts; } else { return(null); } foreach (VoiDataLut lut in dataLuts) { lut.CorrectMinMaxOutput(); //see the comment for this method. } string keyPrefix = string.Format("{0}:{1}", luts.ImageSopInstanceUid, luts.ImageSopFrameNumber); return(new AutoImageVoiDataLut(dataLuts, keyPrefix) { Index = lutIndex }); }
public static AutoPresentationVoiLutLinear CreateFrom(IDicomVoiLutsProvider provider) { IDicomVoiLuts luts = provider.DicomVoiLuts; if (luts.PresentationVoiLinearLuts.Count > 0) { return(new AutoPresentationVoiLutLinear(luts.PresentationVoiLinearLuts)); } return(null); }
public static AutoPresentationVoiDataLut CreateFrom(IDicomVoiLutsProvider provider) { IDicomVoiLuts luts = provider.DicomVoiLuts; IList <VoiDataLut> dataLuts; if (luts.PresentationVoiDataLuts.Count > 0) { dataLuts = luts.PresentationVoiDataLuts; } else { return(null); } foreach (VoiDataLut lut in dataLuts) { lut.CorrectMinMaxOutput(); //see the comment for this method. } return(new AutoPresentationVoiDataLut(dataLuts, provider.DicomVoiLuts.PresentationStateSopInstanceUid)); }