LEADTOOLS Support
General
General Questions
Getting Patient Information from Image using CDLL..
This topic and its replies were posted before the current version of LEADTOOLS was released and may no longer be applicable.
#1
Posted
:
Monday, January 7, 2013 5:28:47 PM(UTC)
Groups: Registered
Posts: 71
Hello,
I would like to reterive dicom tags like patientname,patientid etc from image using CDLL and Leadtools v17.
Can you please tell me how to do this?
Thanks..
#2
Posted
:
Tuesday, January 8, 2013 6:18:20 AM(UTC)
Groups: Guests
Posts: 3,022
Was thanked: 2 time(s) in 2 post(s)
If you have our Medical toolkit, you can use the L_DicomFindFirstElement() function to return a pointer to the first item in the Data Set with the specified tag.
After loading datase, You can use the L_DicomFindFirstElement() with the tags you need such as TAG_PATIENT_NAME and TAG_PATIENT_ID.
For more information about this function, refer to our help topic "L_DicomFindFirstElement" in our DICOM C DLL help topic.
#3
Posted
:
Wednesday, January 9, 2013 1:18:08 AM(UTC)
Groups: Registered
Posts: 71
Hello,
I am trying the following code:
LDicomDS* pDS;
pDICOMELEMENT pRoot;
pDICOMELEMENT pElement;
pDICOMTAG pTag;
L_TCHAR szUnknown[]=TEXT("Unknown");
L_TCHAR* p;
pDS = new LDicomDS(szFileName); //szFileName is the Path of the file{ C:\\test.dcm}
pDS->InitDS( CLASS_NM_IMAGE_STORAGE, 0);
pElement = pDS->FindFirstElement(NULL, TAG_PATIENT_NAME, FALSE);
if (pElement != NULL)
{
pRoot = pDS->GetRootElement(pElement);
pTag = LDicomTag::Find(pRoot->nTag);
if (pTag != NULL)
{
p = pTag->pszName;
}
else
{
p = szUnknown;
}
MessageBox(NULL, p, TEXT("Notice"), MB_OK);
}
But using this I am only able to get string i.e. "Patient Name", not the exact value of Patient Name i.e. "Kishore".
Can you please send me the correct code to get the value "Patient Name: Kishore" from the DICOM file?
Thanks...
#4
Posted
:
Wednesday, January 9, 2013 11:58:52 PM(UTC)
Groups: Registered
Posts: 71
I also try this one:
HDICOMDS hDS;
pDICOMELEMENT pElement;
pDICOMTAG pTag;
L_TCHAR szUnknown[]=TEXT("Unknown");
L_TCHAR *p;
hDS = L_DicomCreateDS(Filename);//"C:\\test.dcm"
L_DicomInitDS(hDS, CLASS_XA_IMAGE_STORAGE, 0);
pElement = L_DicomFindFirstElement(hDS, NULL, TAG_PATIENT_NAME, FALSE);
if (pElement != NULL)
{
pTag = L_DicomFindTag(pElement->nTag);
if (pTag != NULL)
{
p = pTag->pszName;
}
else
{
p = szUnknown;
}
SendMessage(hDlg, LB_ADDSTRING, (WPARAM)0, (LPARAM)(LPCTSTR)p);
pElement = L_DicomFindNextElement(hDS, pElement, FALSE);
}
But still getting "Patient's Name" ,not the name of the patient exactly.
Please help me to come out of this.
Thanks
#5
Posted
:
Friday, January 11, 2013 12:47:41 PM(UTC)
Groups: Tech Support
Posts: 366
Thanks: 1 times
Was thanked: 4 time(s) in 4 post(s)
If you have not done so already, I would recommend checking out the help file topic
Working with Data Sets in our C DLL help file. This will give you helpful information on navigating through and using DICOM Datasets with LEADTOOLS.
Once you get the particular element that has the data, you must then get the data from the element. The type of data will be specific to the element you have. Since you are getting the patient name, you should use
L_DicomGetStringValue() after getting the element with the data you need.
Walter Bates
Senior Support Engineer
LEAD Technologies, Inc.
LEADTOOLS Support
General
General Questions
Getting Patient Information from Image using CDLL..
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.