--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xnat_discussi...@googlegroups.com.
To post to this group, send email to xnat_di...@googlegroups.com.
Visit this group at http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/d/optout.
Hi all!
My name is Verónica and I have started to work at the ICR two months ago within the Radiotherapy and Imaging Division.
One of my duties is trying to devise a schema that captures the essentials of NM pre-clinical metadata. Simon is my line manager :)
For this purpose, we’ve been looking over DICOM Nuclear Medicine Image IOD specification, together with the metadata found in non-DICOM examples of nuclear medicine data (e.g., Interfile) that we have access to locally. The first issue that we would like to discuss is that we found some relevant parameters that maybe could help to cover a wider description of some of the existing elements of the current XNAT Schema. Some of them could be merely useful in order to put the element at hand in context, and some others could be relevant for subsequent procedures on visualization or imaging applications. Actually, mrScanData, for instance, contains some elements that could “rise" to imageScanData since they are common attributes for different kind of images.
On one hand, I appreciate that schema changes to a part of XNAT as important as imageSessionData and imageScanData are not something to be undertaken lightly. But on the other hand, it is also not clear to us why, in XNAT, basic image properties such as matrix sizes, FOVs, etc. are described in the parameter sections of the individual modalities, rather than in imageScanData. Thus, I would be grateful for some comments on the parameters below and why you chose to locate them where you did. Given that we want to have access to a number of these parameters for our nuclear medicine images, could people give me some advice on how best to include them?
Our potential inclusions could be:
* imageSessionData:
Laterality - Laterality of paired body part examined
Description - Free-text description of the Session (ctSessionData has this but mrSessionData appears not to)
Body part - Body part examined
Orientation - Anatomical orientation and relative orientation of the patient to both the gantry and the gravity
* imageScanData:
Pixel Spacing - Physical distance in the patient between the center of each pixel
Slice separation - Separation between slices
Number of slices - Number of slices
Voxel resolution - Physical measures of each voxel (in mm) = fov / matrix
Field of view (fov) - Physical space, x and y, captured in the image (in mm)
Rows and Columns (matrix) - Number of rows and columns of the image
Samples per pixel - Number of separate planes in the image
Photometric interpretation - Monochrome, color, etc…
Transformation matrix - Transformation from image space to anatomical space
Image position and orientation - To describe the position and orientation of the image slices relative to the patient-based coordinate system
Finally, there are some other fields in the DICOM headers that are not represented in XNAT that look as if they could be either useful search terms, or would be useful to store in order to save downloading the DICOM files in and scanning the complete header.
What do you think?
Kind regards,
Vero.
Verónica García | Software Engineer
Division of Radiotherapy and Imaging
Royal Marsden Hospital
15 Cotswold Road, Sutton, SM2 5NG, United Kingdom
[java] org.nrg.xft.exception.FieldNotFoundException: Field not found: 'xnat:pVisitData/terminal'
[java] at org.nrg.xft.schema.Wrappers.GenericWrapper.GenericWrapperElement.TranslateXMLPathToTables(GenericWrapperElement.java:2646)
[java] at org.nrg.xft.search.QueryOrganizer.buildJoin(QueryOrganizer.java:243)
[java] at org.nrg.xdat.search.QueryOrganizer.buildJoin(QueryOrganizer.java:440)
[java] at org.nrg.xdat.search.QueryOrganizer.buildQuery(QueryOrganizer.java:1162)
[java] at org.nrg.xdat.search.QueryOrganizer.buildQuery(QueryOrganizer.java:1128)
[java] at org.nrg.xdat.search.DisplaySearch.getSQLQuery(DisplaySearch.java:512)
[java] at org.nrg.xdat.display.DisplayManager.GetCreateViewsSQL(DisplayManager.java:632)
[java] at org.nrg.xdat.XDAT.GenerateUpdateSQL(XDAT.java:295)
[java] at GenerateAllUpdateFiles.process(GenerateAllUpdateFiles.java:127)
[java] at org.nrg.xft.commandPrompt.CommandPromptTool._process(CommandPromptTool.java:205)
[java] at org.nrg.xft.commandPrompt.CommandPromptTool.run(CommandPromptTool.java:163)
[java] at org.nrg.xft.commandPrompt.CommandPromptTool.<init>(CommandPromptTool.java:77)
[java] at GenerateAllUpdateFiles.<init>(GenerateAllUpdateFiles.java:27)
[java] at GenerateAllUpdateFiles.main(GenerateAllUpdateFiles.java:31)
[copy] Copying 1 file to /Users/xnat/XNAT/code/xnat_1.6.3/deployments/XNAT_104012cmrdt/sql
2014-06-27 12:10:14,364 [http-bio-8080-exec-2] ERROR org.nrg.xft.db.DBAction -
org.postgresql.util.PSQLException: ERROR: relation "xdat_meta_element_meta_data" does not exist
Where: PL/pgSQL function "update_ls_xdat_meta_element" line 6 at FOR over SELECT rows
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
<xs:element name="matrix" minOccurs="0">
<xs:annotation>
<xs:documentation>
<!-- Candidate to imageScanData -->
DICOM: Rows (0028,0010), Columns (0028,0011)
Number of rows and columns in the image
</xs:documentation>
</xs:annotation>
...
As Simon has introduced, this version gathers numerous attributes of the DICOM NM Image so we would appreciate son much all the comments you have about the structure and convenience of them.
KR,