/// <summary> /// Create image box from DICOM data. /// </summary> private void CreateImageBox() { DicomUID classUid = DicomUID.BasicGrayscaleImageBoxSOPClass; if (_filmSession.IsColor) { classUid = DicomUID.BasicColorImageBoxSOPClass; } DicomUID sopInstance = new DicomUID( string.Format("{0}.{1}", SOPInstanceUID.UID, BasicImageBoxes.Count + 1), SOPInstanceUID.Name, SOPInstanceUID.Type); var imageBox = new ImageBox(this, classUid, sopInstance); imageBox.ImageBoxPosition = (ushort)(BasicImageBoxes.Count + 1); BasicImageBoxes.Add(imageBox); var item = new DicomDataset(); item.Add(DicomTag.ReferencedSOPClassUID, classUid); item.Add(DicomTag.ReferencedSOPInstanceUID, sopInstance); var seq = Get <DicomSequence>(DicomTag.ReferencedImageBoxSequence); seq.Items.Add(item); }
/// <summary> /// Create basic film box clone for specfifed film box instance /// </summary> /// <param name="filmBox">Basic film box instance to clone</param> private FilmBox(FilmBox filmBox) : this(filmBox._filmSession.CloneFilmSession(), filmBox.SOPInstanceUID, filmBox) { foreach (var imageBox in filmBox.BasicImageBoxes) { BasicImageBoxes.Add(imageBox.Clone(this)); } }
/// <summary> /// Gets whether one or more image boxes is colored. /// </summary> /// <returns></returns> public bool IsColor() { return(BasicImageBoxes.Any(i => i.SOPClassUID == ImageBox.ColorSOPClassUID)); }
/// <summary> /// Find specific basic image box using its SOP instance UID /// </summary> /// <param name="sopInstance">Image box SOP instance UID</param> /// <returns>The basic image box instance for specified SOP instance UID or null if no matches found</returns> public ImageBox FindImageBox(DicomUID sopInstance) { return(BasicImageBoxes.FirstOrDefault(i => i.SOPInstanceUID.Equals(sopInstance))); }
public bool IsColor() { return(BasicImageBoxes.FirstOrDefault(i => i.SOPClassUID == ImageBox.ColorSOPClassUID) != null); }