InstanceAvailability Enumeration (original) (raw)

Summary

The availability of the referenced Instance

Syntax

public enum InstanceAvailability 
public enum class InstanceAvailability : public System.Enum, System.IComparable, System.IConvertible, System.IFormattable   

Members

Value Member Description
0 NotProvided Value not provided.
1 Online Instances are immediately available from the Retrieve AE Title (0008,0054), and if a C-MOVE were to be requested, it would succeed in a reasonably short time.
2 Nearline Instances need to be retrieved from relatively slow media such as optical disk or tape. If a C-MOVE were to be requested from the Retrieve AE Title (0008,0054), it would succeed, but may take a considerable time'
3 Offline A manual intervention is needed before the instances may be retrieved. If a C-MOVE were to be requested from the Retrieve AE Title (0008,0054), it would fail (e.g., by timeout) without such manual intervention.
4 Unavailable Instances cannot be retrieved from the Retrieve AE Title (0008,0054). If a C-MOVE were to be requested, it would fail. Note that SOP Instances that are unavailable from this AE may be available from other AEs, or may have an alternate representation that is available from this AE.

Example

using Leadtools; using Leadtools.Dicom.Scu; using Leadtools.Dicom.Scu.Common; using Leadtools.Dicom; using Leadtools.Dicom.Common.DataTypes; using Leadtools.Dicom.Common.DataTypes.Status; public void FindInstances() { DicomEngine.Startup(); DicomNet.Startup(); QueryRetrieveScu findInstance = new QueryRetrieveScu(); FindQuery query = new FindQuery(); DicomScp scp = new DicomScp(); // // Change these parameters to reflect the calling AETitle. // findInstance.AETitle = "LEAD_CLIENT"; findInstance.HostPort = 1000; findInstance.HostAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork); // // Change these parameters to reflect the called AETitle (server). // scp.AETitle = "MI_SERVER"; scp.Port = 104; scp.Timeout = 60; scp.PeerAddress = IPAddress.Parse("10.1.1.96"); query.QueryLevel = QueryLevel.Image; query.StudyInstanceUID = "1.2.840.114257.3.6.5.41964868"; query.SeriesInstanceUID = "1.2.840.114257.3.6.5.5.4214471"; findInstance.BeforeCFind += new BeforeCFindDelegate(findInstance_BeforeCFind); findInstance.MatchInstance += new MatchInstanceDelegate(findInstance_MatchInstance); findInstance.AfterCFind += new AfterCFindDelegate(findInstance_AfterCFind); findInstance.Find(scp, query, true, Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "Image1.dcm")); DicomNet.Shutdown(); DicomEngine.Shutdown(); } void findInstance_BeforeCFind(object sender, BeforeCFindEventArgs e) { Console.WriteLine("Before CFind: " + e.QueryLevel.ToString()); } void findInstance_MatchInstance(object sender, MatchEventArgs<CompositeObjectInstance> e) { Console.WriteLine("SOP Instance UID: " + e.Info.SOPInstanceUID); Console.WriteLine("SOP Class UID: " + e.Info.SOPClassUID); Console.WriteLine("Instance #: " + e.Info.InstanceNumber); Console.WriteLine("Availability: " + e.Availability); } void findInstance_AfterCFind(object sender, AfterCFindEventArgs e) { Debug.Assert(e.Status == DicomCommandStatusType.Success); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }