/// <summary>
        /// Constructs a deserialization-only DICOM softcopy presentation state object.
        /// </summary>
        /// <param name="psSopClass">The SOP class of this type of softcopy presentation state.</param>
        /// <param name="dicomFile">The presentation state file.</param>
        protected DicomSoftcopyPresentationState(SopClass psSopClass, DicomFile dicomFile)
        {
            if (dicomFile.MediaStorageSopClassUid != psSopClass.Uid)
            {
                string message = string.Format("Expected: {0}; Found: {1}", psSopClass, SopClass.GetSopClass(dicomFile.MediaStorageSopClassUid));
                throw new ArgumentException("The specified DICOM file is not of a compatible SOP Class. " + message, "dicomFile");
            }

            _presentationSopClass = psSopClass;
            _dicomFile            = dicomFile;

            _serialized                    = true;
            _sourceAETitle                 = _dicomFile.SourceApplicationEntityTitle;
            _stationName                   = _dicomFile.DataSet[DicomTags.StationName].ToString();
            _institution                   = Institution.GetInstitution(_dicomFile);
            _manufacturer                  = _dicomFile.DataSet[DicomTags.Manufacturer].ToString();
            _manufacturersModelName        = _dicomFile.DataSet[DicomTags.ManufacturersModelName].ToString();
            _deviceSerialNumber            = _dicomFile.DataSet[DicomTags.DeviceSerialNumber].ToString();
            _softwareVersions              = _dicomFile.DataSet[DicomTags.SoftwareVersions].ToString();
            _presentationInstanceNumber    = _dicomFile.DataSet[DicomTags.InstanceNumber].GetInt32(0, 0);
            _presentationSopInstanceUid    = _dicomFile.DataSet[DicomTags.SopInstanceUid].ToString();
            _presentationSeriesDateTime    = DateTimeParser.ParseDateAndTime(_dicomFile.DataSet, 0, DicomTags.SeriesDate, DicomTags.SeriesTime);
            _presentationSeriesNumber      = GetNullableInt32(_dicomFile.DataSet[DicomTags.SeriesNumber], 0);
            _presentationSeriesInstanceUid = _dicomFile.DataSet[DicomTags.SeriesInstanceUid].ToString();
            _presentationLabel             = _dicomFile.DataSet[DicomTags.ContentLabel].ToString();
        }