public List <Patient> GetAllData() { gdcm.DataSetArrayType wynik = PatientQuery(); // pokaż wyniki foreach (gdcm.DataSet x in wynik) { PatientDataReader de = new PatientDataReader(x.toString()); FramesQuery(de.PatientID); patientList.Add(new Patient(de.PatientID, de.PatientName, ImageNames, Images, dane, Datas)); } return(patientList); }
private gdcm.DataSetArrayType PatientQuery() { // typ wyszukiwania (rozpoczynamy od pacjenta) gdcm.ERootType typ = gdcm.ERootType.ePatientRootType; // do jakiego poziomu wyszukujemy gdcm.EQueryLevel poziom = gdcm.EQueryLevel.ePatient; // zobacz inne // klucze (filtrowanie lub określenie, które dane są potrzebne) gdcm.KeyValuePairArrayType klucze = new gdcm.KeyValuePairArrayType(); //gdcm.Tag tag = new gdcm.Tag(0x0010, 0x0010); gdcm.KeyValuePairType klucz1 = new gdcm.KeyValuePairType(new gdcm.Tag(0x0010, 0x0010), "*"); klucze.Add(klucz1); klucze.Add(new gdcm.KeyValuePairType(new gdcm.Tag(0x0010, 0x0020), "")); // skonstruuj zapytanie gdcm.BaseRootQuery zapytanie = gdcm.CompositeNetworkFunctions.ConstructQuery(typ, poziom, klucze); gdcm.DataSetArrayType wynik = new gdcm.DataSetArrayType(); // sprawdź, czy zapytanie spełnia kryteria if (!zapytanie.ValidateQuery()) { MessageBox.Show("Wrong patient query.", "Error"); } else { // wykonaj zapytanie bool stan = gdcm.CompositeNetworkFunctions.CFind(ip, port, zapytanie, wynik, aet, call); // sprawdź stan if (!stan) { MessageBox.Show("PACS server doesn't work.", "Error"); } } return(wynik); }
private void GetData() { data.Clear(); gdcm.DataSetArrayType wynik = PatientQuery(); List <string> ex1 = new List <string>(); // pokaż wyniki foreach (gdcm.DataSet x in wynik) { EyeStation.PACSDAO.PatientDataReader de = new EyeStation.PACSDAO.PatientDataReader(x.toString()); string dane; string name; string segmentation_name; Dictionary <string, Dictionary <string, string> > Datas; FramesQuery(de.PatientID, out dane, out name, out Datas, out segmentation_name); data.Add(new PACSDAO.Patient(de.PatientID, de.PatientName, name, dane, Datas, segmentation_name)); ex1.Add(String.Format("{0}", name)); ex1.Add(String.Format("{0}", segmentation_name)); } DCMTK.DCM2JPG(ex1); }