https://www.commontk.org/api.php?action=feedcontributions&user=Benoit.bleuze&feedformat=atomCommontk - User contributions [en]2024-03-29T05:25:58ZUser contributionsMediaWiki 1.39.3https://www.commontk.org/index.php?title=File:DicomAppHostingSpecs.pdf&diff=1102File:DicomAppHostingSpecs.pdf2011-11-14T17:00:35Z<p>Benoit.bleuze: uploaded a new version of &quot;File:DicomAppHostingSpecs.pdf&quot;</p>
<hr />
<div></div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1100CTK-Hackfest-Nov-20112011-11-14T16:52:15Z<p>Benoit.bleuze: /* DICOM Application Hosting */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{|class="wikitable alternance" style="text-align:left; border:1px solid black;"<br />
|+ '''''Participants'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Name<br />
! scope=col style="background:#cde6f8;"| Organization<br />
! scope=col style="background:#cde6f8;"| Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| {{True}}<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| {{True}}<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| {{True}}<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| {{True}}<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| {{True}}<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| {{True}}<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| {{False}}<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| {{True}}<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| {{True}}<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| {{True}} <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| {{True}}<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| {{True}} <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| {{True}}<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| {{False}}<br />
|}<br />
<br />
<br />
<!--<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
<br />
{|class="wikitable alternance" style="text-align:left; border:1px solid black;"<br />
|+ '''''Confirmed'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Name<br />
! scope=col style="background:#cde6f8;"| Organization<br />
|-<br />
|}<br />
--><br />
<br />
{{Note}}There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/commontk/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
*Sascha<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries) (?)<br />
** Research XPath libraries (Qt?)(Ben)<br />
* Error handling<br />
** throw execptions after a configurable timeout<br />
* [[DICOM_Application_Hosting_Testing | Conformance testing]] (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Improve ease of use for host and app developers<br />
** Extend ctkAbstractHost and ctkAbstractApp<br />
** What about multiple apps running at once?<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
* Daniele<br />
* Roberto<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* See [[ctkDICOM in Slicer4]] for information on a particular application use case.<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
* Daniele<br />
* Roberto<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
<br />
{|class="wikitable alternance" style="text-align:left; border:1px solid black;"<br />
|+ '''''Issues'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Issue<br />
! scope=col style="background:#cde6f8;"| Who<br />
! scope=col style="background:#cde6f8;"| Status<br />
! scope=col style="background:#cde6f8;"| Remarks<br />
|-<br />
| [https://github.com/commontk/CTK/issues/10 install target]<br />
|<br />
| {{Not_Done}}<br />
|<br />
|-<br />
| [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
| Jc<br />
| {{Done}}<br />
| See https://github.com/commontk/CTK/commit/388a43f635ea40f49b36a3aa1695e750854d2cd3<br />
|-<br />
| [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
|<br />
| {{Not_Done}}<br />
|<br />
|-<br />
| [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
|<br />
| {{Not_Done}}<br />
|<br />
|-<br />
| [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
| Jc<br />
| {{Doing}}<br />
| See [https://github.com/commontk/CTK/commit/3b06461b8ffabc7c5763cac747c1a5104f4340c8]<br />
|-<br />
| [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
|<br />
| {{Not_Done}}<br />
| <br />
|}<br />
<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
'''Monday 14th''': 9:30-18:00<br />
* Presentations 9:30 12:45:<br />
** each institution will present in 15 minutes + 5 minutes of questions how they use CTK, or what do they expect from it.<br />
*** [http://www.commontk.org/index.php/File:2011_11_14-CTK_Hackfest-CTK_within_Slicer.pptx CTK within Slicer]<br />
**** [[CtkDICOM_in_Slicer4|CtkDICOM]]<br />
** Dicom Application Hosting introduction: where we stand, how much further this week? (Benoît)<br />
** Dicom Networking (Steve, Michael)<br />
** Plugin Framework (Sascha)<br />
** Testing Framework (Julien) <br />
<br />
* Afternoon:<br />
** end of presentations<br />
** Road Map<br />
<br />
'''Tuesday 15th''':<br />
*Morning 9:00 12:45:<br />
**Road Map, continued<br />
*Afternoon 18:00:<br />
**Road Map end<br />
**Hacking<br />
<br />
'''Wednesday-Friday'''<br />
*More hacking<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awfully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA: [http://maps.google.com/maps?saddr=Route+des+Coll%C3%A9s%2FD504&daddr=43.61662,7.07352+to:Unknown+road&hl=en&ie=UTF8&sll=43.61678,7.07076&sspn=0.005328,0.011362&geocode=FdyLmQIdpO9rAA%3BFWyJmQId8O5rACln8B9JIivMEjE0Ny-_kgRFgQ%3BFZaHmQIdrNhrAA&vpsrc=0&dirflg=w&mra=dme&mrsp=2&sz=17&via=1&t=h&z=17 map from Les Templiers]<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the above hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/Widget_testing&diff=1095Documentation/Widget testing2011-11-14T14:58:07Z<p>Benoit.bleuze: /* Issues finded on QtTesting */</p>
<hr />
<div>[[Documentation|Back to CTK Documentation]]<br />
<br />
= Overview =<br />
<br />
Testing of both CTK widgets and application built on top of CTK could leverage the capabilities offered by the [http://www.paraview.org/Wiki/Testing_design QtTesting library] developed by [http://www.paraview.org Paraview] folks.<br />
<br />
<br />
If the option '''CTK_USE_QTTESTING''' is enabled, the build system will:<br />
* Download external project QtTesting<br />
* Include the event translator and player required for custom CTK widgets. (Located in the same folder as their associated widget sources)<br />
* Include the class ''ctkEventTranslaterPlayerWidget'' into CTKWidgets library<br />
* If '''BUILD_TESTING''' is enabled: CTK widgets EventTranslatorTests will be compiled. These tests will use ''ctkEventTranslaterPlayerWidget'' and ensure that events associated with CTK widgets can be properly recorded and played.<br />
<br />
<br />
{{note}} Option '''CTK_USE_QTTESTING''' will be automatically enabled if '''BUILD_TESTING''' is ON<br />
<br />
= Milestones =<br />
<br />
# Integration: What and where. {{Done}}<br />
# Integrate QtTesting has an external projects {{Done}}<br />
# Implement ''ctkEventTranslaterPlayerWidget'' {{Doing}}<br />
# Create custom translator/player if needed {{Doing}}<br />
# Implement widgets EventTranslatorTests {{Doing}}<br />
<br />
= Player/Translators Widget Testing =<br />
<br />
<br />
{| class="wikitable alternance" style="text-align:left; width:100%; border:1px solid black;"<br />
|- valign=top<br />
| style="width:50%;" |<br />
{|class="wikitable alternance" style="text-align:left; width:100%; border:1px solid black;"<br />
|+ '''''CTKWidgets'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Widgets<br />
! scope=col style="background:#cde6f8;"| State<br />
! scope=col style="background:#cde6f8;"| Priority<br />
! scope=col style="background:#cde6f8;"| Notes<br />
|-<br />
|ctkActionsWidget<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkAddRemoveComboBox<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkAxesWidget<br />
|{{Done}}<br />
|<br />
|''Translator/player implemented''<br />
|-<br />
|ctkBasePopupWidget<br />
|{{Done}}<br />
|'''+++'''<br />
|''ctkPopupWidget inherit of it. So we Test Directly ctkPopupWidget''<br />
|-<br />
|ctkButtonGroup <br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkCheckableComboBox<br />
|{{Done}}{{Doing}}<br />
|'''+'''<br />
| bgcolor="#f4db9e" |''minor issue with the currentText()''<br />
|-<br />
|ctkCheckableHeaderView<br />
|{{Done}}{{Doing}}<br />
|'''++'''<br />
| bgcolor="#f4db9e" |''more test ?''<br />
|-<br />
|ctkCheckBoxPixmaps<br />
|{{Not Done}}<br />
|'''--'''<br />
|''Not used in Slicer''<br />
|-<br />
|ctkCheckablePushButton<br />
|{{Done}}<br />
|'''--'''<br />
|''Not used in Slicer''<br />
|-<br />
|ctkComboBox<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkCompleter<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkCollapsibleButton<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkCollapsibleGroupBox<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkColorDialog<br />
|{{Done}}<br />
|<br />
|bgcolor="#f4db9e" |''QSpinBox issue if used''<br />
|-<br />
|ctkColorPickerButton<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e" |''QSpinBox issue if used''<br />
|-<br />
|ctkConsole<br />
|{{Done}}{{Doing}}<br />
|<br />
|''May have a problem with the command''<br />
|-<br />
|ctkConfirmExitDialog<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkCoordinatesWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e"|''Problem with the QSpinBox''<br />
|-<br />
|ctkCrosshairLabel<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkDateRangeWidget<br />
|{{Doing}}<br />
|<br />
|''Problem with QDateTimer'' <br />
|-<br />
|ctkDirectoryButton<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e" |''Value OK but no dialog''<br />
|-<br />
|ctkDoubleRangeSlider<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkDoubleSlider<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkDynamicSpacer<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkErrorLogStatusMessageHandler<br />
|{{Done}}<br />
|'''---'''<br />
|''Not a Widget''<br />
|-<br />
|ctkErrorLogWidget<br />
|{{Not Done}}<br />
|'''---'''<br />
|<br />
|-<br />
|ctkExpandButton<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkFileDialog<br />
|{{Doing}}<br />
|<br />
| bgcolor="#efabab" |'' EventTranslator ?''<br />
|-<br />
|ctkFittedTextBrowser<br />
|{{Done}}<br />
|'''--'''<br />
|''This widget just display text.''<br />
|-<br />
|ctkFlowLayout<br />
|{{Done}}<br />
|'''--'''<br />
|''Layout are not tested through the event translator/player mechanism''<br />
|-<br />
|ctkFontButton<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e" |''QComboBox doesn't change the font''<br />
|-<br />
|ctkIconEnginePlugin<br />
|{{Done}}<br />
|'''--'''<br />
|''Plugin are not tested through the event translator/player mechanism''<br />
|-<br />
|ctkLayoutManager<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkMaterialPropertyPreviewLabel<br />
|{{Not Done}}<br />
|<br />
|''Not sure if something is requiered since it seems to be a label''<br />
|-<br />
|ctkMaterialPropertyWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e"|''QSpinBox issue''<br />
|-<br />
|ctkMatrixWidget<br />
|{{Done}}<br />
|<br />
| bgcolor="#f4db9e" |''Skip all the visual effect''<br />
|-<br />
|ctkMenuButton<br />
|{{Not Done}}<br />
|<br />
|''Use in Slicer ? Implemented event translator/player''<br />
|-<br />
|ctkMenuComboBox<br />
|{{Done}}{{Doing}}<br />
|'''+++'''<br />
| bgcolor="#f4db9e" |'' Issue if the subMenus have no parent ''<br />
|-<br />
|ctkModalityWidget<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkPathLineEdit<br />
|{{Done}}{{Doing}}<br />
|'''++'''<br />
| bgcolor="#f4db9e" |'' Little issue with the listView for the fist show - As ctkMenuComboBox ''<br />
|-<br />
|ctkPixmapIconEngine<br />
|{{Not Done}}<br />
|'''++'''<br />
|<br />
|-<br />
|ctkPopupWidget<br />
|{{Doing}}<br />
|'''+'''<br />
| bgcolor="#efabab" |''Implemented event translator/player ''<br />
|-<br />
|ctkQImageView<br />
|{{Not Done}}<br />
|'''---'''<br />
|<br />
|-<br />
|ctkRangeSlider<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkRangeWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e"|''QDoubleSpinBox issue''<br />
|-<br />
|ctkScreenshotDialog<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkSearchBox<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkSettings<br />
|{{Not Done}}<br />
|'''+'''<br />
|''Need a Test ?''<br />
|-<br />
|ctkSettingsDialog<br />
|{{Done}}<br />
|'''+'''<br />
|<br />
|-<br />
|ctkSettingsPanel<br />
|{{Done}}<br />
|'''+'''<br />
|''It's a panel so doesn't need to be tested. However, is tested in ctkSettingsDialog testing''<br />
|-<br />
|ctkSignalMapper<br />
|{{Done}}<br />
|<br />
|''This object is not a widget and doesn't have to be tested through the event translator/player mechanism''<br />
|-<br />
|ctkSimpleLayoutManager<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkSliderWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
| bgcolor="f4db9e"|''QSpinBox Issue''<br />
|-<br />
|ctkTestApplication<br />
|{{Done}}<br />
|<br />
|''This is a utility class. Shouldn't be tested using the event translator/player mechanism''<br />
|-<br />
|ctkThumbnailListWidget<br />
|{{Not Done}}<br />
|'''--'''<br />
|<br />
|-<br />
|ctkThumbnailWidget<br />
|{{Not Done}}<br />
|'''--'''<br />
|<br />
|-<br />
|ctkToolTipTrapper<br />
|{{Done}}<br />
|<br />
|''This is a utility class. Shouldn't be tested using the event translator/player mechanism''<br />
|-<br />
|ctkTransferFunctionBarsItem<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTransferFunctionControlPointsItem<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTransferFunctionGradientItem<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTransferFunctionItem<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTransferFunctionScene<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTransferFunctionView<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkTreeComboBox<br />
|{{Done}}{{Doing}}<br />
|'''+'''<br />
| bgcolor="#f4db9e" |''Good method ? - Spy count error''<br />
|-<br />
|ctkWidgetsUtils<br />
|{{Done}}<br />
|<br />
|''This is a utility class. Shouldn't be tested using the event translator/player mechanism''<br />
|-<br />
|ctkWorkflowAbstractPagedWidget<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowButtonBoxWidget<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowGroupBox<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowStackedWidget<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowTabWidget<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowWidget<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkWorkflowWidgetStep<br />
|{{Not Done}}<br />
|'''-'''<br />
|<br />
|}<br />
| style="width:50%; "text-align: center; " |<br />
{| class="wikitable alternance" style="text-align:left; width:100%; border:1px solid black;"<br />
|+ '''''CTKVisualizationVTKWidgets'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Widgets<br />
! scope=col style="background:#cde6f8;"| State<br />
! scope=col style="background:#cde6f8;"| Priority<br />
! scope=col style="background:#cde6f8;"| Notes<br />
|-<br />
|ctkVTKAbstractMatrixWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
|''Tested in ctkVTKMatrixWidget''<br />
|-<br />
|ctkVTKAbstractView<br />
|{{Done}}{{Doing}}<br />
|'''+++'''<br />
|''Tested in ctkVTKRenderView''<br />
|-<br />
|ctkVTKChartView<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKDataSetArrayComboBox<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKDataSetModel<br />
|{{Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKMagnifyView<br />
|{{Doing}}<br />
|'''-'''<br />
|<br />
|-<br />
|ctkVTKMatrixWidget<br />
|{{Done}}<br />
|<br />
|''use ctkMatrixWidget translator & player''<br />
|-<br />
|ctkVTKRenderView<br />
|{{Doing}}<br />
|'''+++'''<br />
|bgcolor="#efabab" | ''Translator/Player implemented <br /> What we want :<br /> - Wheel event {{Done}} <br /> - Record the widget size {{Done}} <br /> - Resize the view before the playback {{Doing}} <br /> - Add QMessageBox to prevent the user - BUG - {{Doing}}''<br />
|-<br />
|ctkVTKScalarBarWidget<br />
|{{Done}}{{Doing}}<br />
|<br />
|bgcolor="#f4db9e" |''QSpinBox issue + key "."(pad) on the line edit''<br />
|-<br />
|ctkVTKScalarsToColorsUtils<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKScalarsToColorsView<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKScalarsToColorsWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKSliceView<br />
|{{Doing}}<br />
|'''+++'''<br />
|''may use the ctkVTKRenderView translator & player''<br />
|-<br />
|ctkVTKSurfaceMaterialPropertyWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKTextPropertyWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKThresholdWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKThumbnailView<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKVolumePropertyWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkVTKWidgetsUtils<br />
|{{Not Done}}<br />
|<br />
|<br />
|}<br />
{| class="wikitable alternance" style="text-align:left; width:100%; border:1px solid black;"<br />
|+ '''''CTKDICOMWidgets'''''<br />
|-<br />
! scope=col style="background:#cde6f8;"| Widgets<br />
! scope=col style="background:#cde6f8;"| State<br />
! scope=col style="background:#cde6f8;"| Priority<br />
! scope=col style="background:#cde6f8;"| Notes<br />
|-<br />
|ctkDICOMAppWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMDatasetView<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMDirectoryListWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMImage<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMImportWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMItemTreeModel<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMListenerWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMQueryResultsTabWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMQueryRetrieveWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMQueryWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMServerNodeWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMThumbnailGenerator<br />
|{{Not Done}}<br />
|<br />
|<br />
|-<br />
|ctkDICOMThumbnailListWidget<br />
|{{Not Done}}<br />
|<br />
|<br />
|}<br />
|}<br />
<br />
= Issues found on QtTesting =<br />
<br />
* QSpinBox/QDoubleSpinBox : <br />
** A long click on the up/down arrow -> just one click even if the value change severals times <br />
** Fast click -> Double click -> no effect.<br />
<br />
* In pq3DView :<br />
** The scroll button has no effect - Implemented for ctk<br />
<br />
* QComboBox when it is editable :<br />
** The hight-event "set_sting" crash if we edit the comboBox. <br />
*** '''''Exemple :''' If we have an item "foo", we are going to edit the comboBox with "f", but the item "f" doesn't exist, and the player will crash.''<br />
<br />
= Screenshots =<br />
<br />
<gallery widths=300 px heights=200px perrow=3><br />
Image:CtkQtTestingScreenShot.png|Simple application with recording / playing Qt testing capabilities<br />
Image:CtkEventTranslatorPlayerWidget.png|Little exemple of the widget testing <br />
</gallery></div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1069CTK-Hackfest-Nov-20112011-11-13T21:30:29Z<p>Benoit.bleuze: /* Agenda */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| Yes<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| No<br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries)<br />
* Conformance testing (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
* Daniele<br />
* Roberto<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* See [[ctkDICOM in Slicer4]] for information on a particular application use case.<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
* Daniele<br />
* Roberto<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
* [https://github.com/commontk/CTK/issues/10 install target]<br />
* [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
* [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
* [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
* [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
* [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
'''Monday 14th''': 9:30-18:00<br />
* Presentations 9:30 12:45:<br />
** each institution will present in 15 minutes + 5 minutes of questions how they use CTK, or what do they expect from it.<br />
** Dicom Application Hosting introduction: where we stand, how much further this week? (Benoît)<br />
** Dicom Networking (Steve, Michael)<br />
** Plugin Framework (Sascha)<br />
** Testing Framework (Julien) <br />
<br />
* Afternoon:<br />
** end of presentations<br />
** Road Map<br />
<br />
'''Tuesday 15th''':<br />
*Morning 9:00 12:45:<br />
**Road Map, continued<br />
*Afternoon 18:00:<br />
**Road Map end<br />
**Hacking<br />
<br />
'''Wednesday-Friday'''<br />
*More hacking<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awfully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA: [http://maps.google.com/maps?saddr=Route+des+Coll%C3%A9s%2FD504&daddr=43.61662,7.07352+to:Unknown+road&hl=en&ie=UTF8&sll=43.61678,7.07076&sspn=0.005328,0.011362&geocode=FdyLmQIdpO9rAA%3BFWyJmQId8O5rACln8B9JIivMEjE0Ny-_kgRFgQ%3BFZaHmQIdrNhrAA&vpsrc=0&dirflg=w&mra=dme&mrsp=2&sz=17&via=1&t=h&z=17 map from Les Templiers]<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the above hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1068CTK-Hackfest-Nov-20112011-11-13T21:19:23Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| Yes<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| No<br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries)<br />
* Conformance testing (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
* Daniele<br />
* Roberto<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* See [[ctkDICOM in Slicer4]] for information on a particular application use case.<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
* Daniele<br />
* Roberto<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
* [https://github.com/commontk/CTK/issues/10 install target]<br />
* [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
* [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
* [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
* [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
* [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awfully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA: [http://maps.google.com/maps?saddr=Route+des+Coll%C3%A9s%2FD504&daddr=43.61662,7.07352+to:Unknown+road&hl=en&ie=UTF8&sll=43.61678,7.07076&sspn=0.005328,0.011362&geocode=FdyLmQIdpO9rAA%3BFWyJmQId8O5rACln8B9JIivMEjE0Ny-_kgRFgQ%3BFZaHmQIdrNhrAA&vpsrc=0&dirflg=w&mra=dme&mrsp=2&sz=17&via=1&t=h&z=17 map from Les Templiers]<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the above hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1054CTK-Hackfest-Nov-20112011-11-04T10:12:56Z<p>Benoit.bleuze: language fixes</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| Yes<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| No<br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries)<br />
* Conformance testing (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
* [https://github.com/commontk/CTK/issues/10 install target]<br />
* [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
* [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
* [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
* [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
* [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awfully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the above hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1053CTK-Hackfest-Nov-20112011-11-04T10:04:20Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| Yes<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| No<br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries)<br />
* Conformance testing (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
* [https://github.com/commontk/CTK/issues/10 install target]<br />
* [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
* [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
* [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
* [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
* [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awefully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the precited hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=1052CTK-Hackfest-Nov-20112011-11-04T10:03:52Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Roberto Mucci<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|-<br />
| Anthony Dass<br />
| Siemens Corporate Research, Princeton<br />
| Yes<br />
|-<br />
| Michael Onken<br />
| OFFIS, Oldenburg<br />
| No<br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface (finish file-based data exchange, XPath Queries)<br />
* Conformance testing (for both host and app)<br />
** Interface (WSDL) compliance<br />
** State transition tests<br />
* Demo Application<br />
* Documentation<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
* Ivo<br />
* Anthony<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
<br />
Possible work items<br />
<br />
* Clean up the code base so everything compiles<br />
* "make install" support for CTK applications<br />
* "make install" support for a CTK SDK (binaries + header files)<br />
* Make CTK compatible with upstream 3rd party toolkits (i.e. DCMTK, VTK, Log4Qt, etc.)<br />
<br />
Resolve github issues<br />
<br />
* [https://github.com/commontk/CTK/issues/10 install target]<br />
* [https://github.com/commontk/CTK/issues/13 ExternalProject to use CMAKE_CACHE_ARGS]<br />
* [https://github.com/commontk/CTK/issues/23 Error improperly reported on CDash]<br />
* [https://github.com/commontk/CTK/issues/26 CTK windows configuration error (DGraph-related)]<br />
* [https://github.com/commontk/CTK/issues/27 Failing tests in ctkCore]<br />
* [https://github.com/commontk/CTK/issues/30 Minimize confusion associated with buildsystem]<br />
<br />
Participants<br />
<br />
* Jc<br />
* Sascha<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awefully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the precited hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Catering'''<br />
Good news, lunches will be covered for everyone as well as coffee breaks morning and afternoon, courtesy of Inria!<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=File:Hotel_etoile.pdf&diff=882File:Hotel etoile.pdf2011-10-19T08:00:32Z<p>Benoit.bleuze: map of hotel l'Etoile in Antibes, with the bus lines.</p>
<hr />
<div>map of hotel l'Etoile in Antibes, with the bus lines.</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=881CTK-Hackfest-Nov-20112011-10-19T07:59:27Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awefully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
Also here is a map with the hotel, and the departure of the bus line 100: [[file:hotel_etoile.pdf]]<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the precited hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=857CTK-Hackfest-Nov-20112011-10-18T16:42:48Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awefully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
*Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
<br />
http://www.hoteletoile.com/<br />
<br />
phone number: +33 4 93 34 26 30 <br />
<br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
<br />
*Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
<br />
8 Rue Championnet, 06600 Antibes, France<br />
<br />
http://www.relaisdupostillon.com/<br />
<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the precited hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=856CTK-Hackfest-Nov-20112011-10-18T16:41:39Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
| Yes <br />
|-<br />
| Martin Steghöfer<br />
| UPF, Barcelona<br />
| Yes<br />
|-<br />
| Yves Martelli<br />
| UPF, Barcelona<br />
| Yes <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Transportation on Site'''<br />
The taxi is awefully expensive, count around 50 € to go from Nice Airport to Antibes.<br />
<br />
The bus from Antibes to INRIA is the Express 100. It starts "Place De Gaulle", the closest stop to INRIA is "Templiers", costs 1€. <br />
From there it will only take you 3 minutes to reach INRIA.<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
Rooms have been blocked for 11 people in the hotel l'Etoile:<br />
http://www.hoteletoile.com/<br />
phone number: +33 4 93 34 26 30 <br />
address: 2 Avenue Gambetta, 06600 Antibes, France<br />
(54€ per night for a single room, 6.50€ for breakfast)<br />
<br />
There are other addresses you might find attractive, but I have made no agreement with them:<br />
Hôtel Relais du Postillon (not far from the other, good reputation among the visitors of INRIA)<br />
8 Rue Championnet, 06600 Antibes, France<br />
http://www.relaisdupostillon.com/<br />
+33 4 93 34 20 77 <br />
<br />
For the other hotels, Apparently you should avoid "Le Collier". Then I have no reports on how the other hotels in Antibes compares. But if you can't find a room in the precited hotels, try others near the rail station or within the old town. This way you will get an easy access to the bus (the Express 100).<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=854CTK-Hackfest-Nov-20112011-10-18T13:02:27Z<p>Benoit.bleuze: /* Preparation */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|-<br />
| Matt Clarkson<br />
| University College London<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
| Yes <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 25th October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=846CTK-Hackfest-Nov-20112011-10-13T09:07:29Z<p>Benoit.bleuze: /* Introduction */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoît Bleuzé<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=845CTK-Hackfest-Nov-20112011-10-13T09:06:58Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time during the event with writing ctk code that contributes to the main ctk roadmap. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| Yes<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| Yes<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my mobile)<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=839CTK-Hackfest-Nov-20112011-10-12T10:47:30Z<p>Benoit.bleuze: /* Attendees */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| <br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| <br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| <br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| <br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions with potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=838CTK-Hackfest-Nov-20112011-10-12T10:46:42Z<p>Benoit.bleuze: /* Topics and Projects */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| <br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| <br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| <br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| <br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions wit potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
==== Tests Framework ====<br />
Working towards a unified testing method throughout the whole code base.<br />
* Julien (also linked but not limited to App hosting testing)<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=837CTK-Hackfest-Nov-20112011-10-12T10:43:06Z<p>Benoit.bleuze: /* Preparation */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| <br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| <br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| <br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| <br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions wit potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
Phone conferences have been scheduled in the weeks leading to the event:<br />
* Tuesday 21st October 2011 18:00 (CET) - 12:00 (EST)<br />
* Tuesday 8th November 2011 18:00 (CET) - 12:00 (EST)<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=836CTK-Hackfest-Nov-20112011-10-12T08:18:18Z<p>Benoit.bleuze: /* Attendees */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
*So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| <br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| <br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| <br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| <br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions wit potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
<br />
<br />
There were also other invitations sent to active people on the community, and people who recently showed interest. When their intent will be known they will be added to the list.<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=835CTK-Hackfest-Nov-20112011-10-12T08:16:28Z<p>Benoit.bleuze: </p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
So far we have received confirmation for the following people (in no particular order). Please fill in your intentions in terms of common accommodation.<br />
<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Interested in grouped accommodation<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| <br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| <br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| <br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| <br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| <br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| No<br />
|-<br />
|<br />
| <br />
| <br />
|}<br />
<br />
* People who manifested interest in joining the fest. Please move your names up to the confirmed table, with the details as soon as you can to facilitate discussions wit potential hotels.<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
|}<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]. It is advised to begin pondering on this in the weeks leading to the hack-fest in order to dedicate as much time as possible to the real hacking during the week. The [[CTK-Roadmap|roadmap for the CTK core]] is a good place to start your thinking. It has been written by Ivo and Marco at the start of the CTK initiative.<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
*Marco<br />
*Ben<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
* Jc<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
See [[CtkDICOM]] for possible goals.<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
* Marco<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems & Software process ====<br />
* Jc<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=828CTK-Hackfest-Nov-20112011-10-11T15:59:43Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems ====<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 4 92 38 71 55 (or if not available, +33 6 32 78 59 92, but it's my )<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15-20 Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=827CTK-Hackfest-Nov-20112011-10-11T15:41:24Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems ====<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 6 32 78 59 92<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
Prefer Antibes to any other locations, Sophia-Antipolis is very badly connected to places to sustain you at night, and the buses stop after 20:00/20:30<br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15- Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=826CTK-Hackfest-Nov-20112011-10-11T15:39:53Z<p>Benoit.bleuze: /* Travel & Hotel */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems ====<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Benoit : +33 6 32 78 59 92<br />
<br />
'''Airport''' <br />
* Nice Airport: http://en.nice.aeroport.fr/<br />
<br />
'''Lodging''' <br />
* <br />
<br />
'''Meeting Location''' <br />
* Inria Sophia Antipolis: <br />
2004 route des Lucioles BP 93<br />
06902 SOPHIA ANTIPOLIS Cedex - FRANCE<br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis:15- Celsius<br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Nov-2011&diff=825CTK-Hackfest-Nov-20112011-10-11T15:37:29Z<p>Benoit.bleuze: /* Related Events/Activities */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Previous Hackfest!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Note: this page is a work in progress -- some information subject to change'''<br />
<br />
'''Date:''' November 14-18, 2011<br />
<br />
'''Location:''' INRIA - Sophia Antipolis, France<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Site Hosts:''' Benoit Bleuze<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
==== Roadmap development ====<br />
*Develop a [[CTK-Roadmap|roadmap for the CTK core]]<br />
<br />
Participants<br />
*Steve<br />
*Stephen<br />
*Ivo<br />
<br />
==== DICOM Application Hosting ====<br />
<br />
Possible work items:<br />
<br />
* Data Exchange Interface<br />
* SOAP interoperability<br />
* Conformance testing<br />
<br />
Participants<br />
<br />
* Benoit<br />
* Michael<br />
* Sascha<br />
<br />
==== DICOM Networking ====<br />
<br />
Possible work items:<br />
<br />
* ?<br />
<br />
Participants<br />
<br />
* Michael<br />
* Steve<br />
<br />
==== Widgets ====<br />
<br />
==== Build Systems ====<br />
<br />
== Agenda ==<br />
<br />
TBD<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call <br />
<br />
'''Airport''' <br />
<br />
<br />
'''Lodging''' <br />
* <br />
<br />
'''Meeting Location''' <br />
* <br />
<br />
'''Weather'''<br />
* Average min/max temperature in November in Sophia Antipolis: <br />
<br />
== Related Events/Activities ==<br />
<br />
INRIA Imaging Workshop November 21-23: http://www-sop.inria.fr/asclepios/events/VPHimaging11/</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Feb-2011&diff=655CTK-Hackfest-Feb-20112011-02-11T20:25:21Z<p>Benoit.bleuze: /* Accomplishments and Next Steps */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Panorama of the hackfest room!</big>]]<br />
|[[File:CTK-Hackfest-Chapel_Hill-2011_02.JPG|thumb|right|300px|<big>Hard coders in action!</big>]]<br />
|[[File:CTK-Hackfest-Chapel_Hill-2011_02-b.JPG|thumb|right|300px|<big>More hard coders in action!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Date:''' February 7-11, 2011<br />
<br />
'''Location:''' Chapel Hill, North Carolina, USA: [http://www.franklinhotelnc.com/ The Franklin Hotel]<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Organizers:''' Ivo Wolf, Steve Pieper, Stephen Aylward<br />
<br />
'''Site Hosts:''' Kitware's office in North Carolina: Julien Finet, Jean-Christophe Fillion-Robin, Stephen Aylward<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
Please add your name below or [mailto:stephen.aylward@kitware.com;pieper@bwh.harvard.edu;i.wolf@hs-mannheim.de email the hackfest organizers] if you wish to attend the Hackfest. Please also indicate if you plan on staying at the hotel (anticipated room rate is $139/night):<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Staying at Hotel<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| No<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| No<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| Yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Stephen Aylward<br />
| Kitware<br />
| No<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| Yes<br />
|-<br />
| Lawrence Tarbox<br />
| Washington University St. Louis<br />
| Yes<br />
|-<br />
| Nicholas Herlambang<br />
| AZE, Japan<br />
| Yes<br />
|}<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
* Overview: Draft of [[CTK_Integration_Levels_Overview]].<br />
<br />
* Goal: Pick up threads of discussion and activity from [[Commontk:Current_events#Past_events|previous events]]<br />
<br />
General set of topics (attendees, please flesh this out with your own ideas!)<br />
<br />
=== DICOM ===<br />
<br />
* ctkDICOM app functionality<br />
** Q/R <br />
*** make CTK work with the official DCMTK release, maybe host the find-scu code in CTK<br />
*** integrate with DICOM central test node<br />
** integrate indexer and SQLite<br />
*** Parse DICOMDIR<br />
** ctkDICOMWidgets design and implementation plan [http://www.commontk.org/index.php/Documentation/WidgetPlans#Medical_Imaging_Widgets]<br />
*** Display Study/Series <br />
** IHE standardized viewer application built using ctk? (icons, naming)<br />
*** Drill down to images<br />
*** Possibly follow guidelines from the [http://www.ihe.net/Technical_Framework/upload/IHE_RAD_Suppl_BIR_Rev1-1_TI_2010-11-16.pdf IHE Basic Image Review (BIR) Profile]<br />
**** Although we may not implement all of BIR, it might be nice to follow the BIR GUI conventions, such as behavior of the mouse and mouse buttons, the study/series strip, the basic GUI icons and behavior. Perhaps these could be widgets or objects in CTK, to make it easy for users/developers to create applications that follow the spirit of BIR conventions?<br />
**** Note that we can jazz up (e.g. use 3D shading, change button shape, color) the standardized icons shown in the profile and still be compliant, as long as the basic icon form (e.g. arrow, double arrow, etc.) is recognizable.<br />
** Local DICOM Directory and Database Structure <br />
<pre><br />
<ctkDICOMDirectory>/<br />
ctkDICOM.sql # index to files in this dir<br />
thumbnails/<br />
<StudyUID>/<br />
<SeriesUID>/<br />
<InstanceUID>.png # one png per instance<br />
DICOM/<br />
<StudyUID>/<br />
<SeriesUID>/<br />
<InstanceUID>.dcm # the dicom file<br />
<br />
ctkDICOMDirectory is the one configured in the ctkDICOMViewer directory select box.<br />
ctkDICOM.sqlite caches some header values from the files locally but can also point to external directories <br />
(depending on the state of the checkbox when the user selects the Import option in the ctkDICOMViewer).<br />
</pre><br />
<br />
* Application Hosting<br />
** Hosting Logic<br />
** QtSOAP vs Axis2C implementation details<br />
*** Should be discussed but probably not be changed during hackfest<br />
** How does data move? Rendering tie in? Need to handle dynamic data?<br />
** What level of demo application is possible?<br />
*** Interoperable with C# and Java Implementation?<br />
*** Example hosted command line modules? (file based)<br />
*** Start work on DICOM native models ("trickle in data")<br />
** Hosted Interface Generation<br />
*** Complicated<br />
*** XAxis2c<br />
*** CXF http://cxf.apache.org/<br />
<br />
=== Widgets ===<br />
* Light image viewer<br />
<br />
=== Events and Communications ===<br />
* Event Bus integration: Daniele and Sascha<br />
** Driving use case<br />
*** Multi-process communication within an app<br />
**** Remote GUI/Viewer<br />
**** Stream bitmap<br />
** Move protocol to core library<br />
** Create new connector for remote comm (remote event bus)<br />
*** Using zeromq: http://www.zeromq.org/<br />
**** Addresses limitations of QtSOAP<br />
*** Complimentary to DICOM App Hosting<br />
**** For arbitrary comm between remote apps<br />
<br />
=== GIT / Gerrit ===<br />
* Review wiki instructions<br />
<br />
== Accomplishments and Next Steps ==<br />
<br />
=== ctkDICOM ===<br />
==== Major Classes====<br />
Some of the key parts of the code that got active work during the hackfest:<br />
* Libs/DICOM/Core (wrappers around DCMTK)<br />
** ctkDICOMDatabase - manages sqlite index, directory hierarchy, thumbnails<br />
** ctkDICOMModel - exposes database in Qt MVC pattern<br />
** ctkDICOMIndexer - populates database<br />
** ctkDICOMQuery - run queries (C-Find)<br />
** ctkDICOMRetrieve - get data (C-Move)<br />
** ctkDICOMDataset - represent dicom data in memory<br />
** ctkDICOMImage - expose the image data<br />
* Libs/DICOM/Widgets (QWidget subclasses for the GUI)<br />
** ctkDICOMAppWidget - top level (used by ctkDICOM application)<br />
** ctkDICOMQueryRetrieveWidget - implements the query/retrieve dialog <br />
** ctkDICOMQueryWidget - exposes options for date, modality, keyword search<br />
** ctkDICOMServerNodeWidget - options for dicom servers, AETitles, ports<br />
** ctkDICOMThumbnailWidget - for study/series preview<br />
** ctkDICOMDatasetViewWidget - image display, pan, zoom<br />
<br />
==== End User Functionality ====<br />
These classes are tied together into the ctkDICOM application that allows the user to do the following:<br />
* Local Library<br />
** import dicom files from disk (optionally copy files to library directory)<br />
** view local database directory in embedded viewer<br />
* Query/Retrieve<br />
** use a query dialog to access remote dicom resources (PACS, scanners, etc)<br />
** retrieve remote datasets into local database<br />
<br />
==== Next Steps ====<br />
A lot of fine tuning and testing is required on this code. Emphasis this week was on the naming conventions and major functional components so that an end-to-end demonstration of the PACS-to-viewer pipeline.<br />
<br />
Major pieces for further work:<br />
* Implement the Export and Send features of the ctkDICOM app<br />
* Test on multiple PACS systems (so far CONQUEST and DCM4CHEE have been used for testing).<br />
* Integrate widgets to invoke DICOM Application Hosting via the ctkDICOM interface<br />
* Work with user communities to refine/expand implementation to fit needs of slicer, mitk, maf, gimias, xip, etc...<br />
<br />
=== DICOM Application Hosting ===<br />
Achievements:<br />
* Hosted application and hosting system coupled. The application gets a Dicom file from the host and displays a frame.<br />
* The whole state machine defining authorised and forbidden transitions implemented.<br />
**Start, suspend, cancel,resume and exit actions supported.<br />
* Signals emitted for each valid state transition to ease event driven implementation of applications and hosts.<br />
* Mapped files are used in the host to serve files without copying data between host and application.<br />
* Interaction with old XIP software done. New XIP with updates from Larry on the way.<br />
<br />
=== Documentation and Wiki ===<br />
<br />
* Doxygen 1.7.3 is now used to generate the [http://www.commontk.org/docs/html/index.html CTK documentation]<br />
* CTK source code should be documented with the "\ingroup <groupname>" tag, to group classes, functions, macros, etc. semantically. See [http://www.commontk.org/docs/html/modules.html]<br />
* The CommonTk Wiki contains now more information and first tutorials for the [[Documentation#Plugin_Framework | Plugin Framework]].<br />
* Wiki pages containing tutorial code can use an [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi_remote improved MediaWiki extension] for syntax highlighting remote files (and only show certain parts of it).<br />
* The whole reference document for Dicom Application hosting is on the wiki. References to the doc from the source code (and doxygen) can be easilly done (needs to include images to the wiki, coming). The pdf, the wsdl and other xml files needed for implementation are also on the page.<br />
<br />
== Agenda ==<br />
* Sunday<br />
** 1800: Dinner at Kildare's Irish Pub (Across the street from the hotel)<br />
*** http://www.kildarespub.com/history.htm<br />
* Monday<br />
** 0900 - 1000: Welcome and Project overviews and goals<br />
** 1000 - 1800: Hacking<br />
* Tuesday<br />
** 0900 - 1800: Hacking<br />
** 1800: "Pint Night" at Tyler's Bar and Grill<br />
* Wednesday<br />
** 0900 - 1800: Hacking<br />
* Thursday<br />
** 0900 - 1800: Hacking<br />
* Friday<br />
** 0900 - 1200: Project reviews and future plans<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Stephen on his cellphone: 1-919-423-8072<br />
<br />
'''Airport''' <br />
* '''Raleigh-Durham Airport (RDU):''' RDU hosts international flights from Frankfurt, London, and Toronto; as well as frequent flights from New York, Washington DC, Atlanta, and many others.<br />
* Taxi ride from the airport to the hotel is about $40 and takes about 30 minutes.<br />
<br />
'''Lodging''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' '''We have reserved a block of rooms at a reduced rate. Mention that you are part of the "KITWARE INC" meeting. The negotiated rate is $139 per night.'''<br />
** RESERVATIONS MUST BE MADE BY FRIDAY, JANUARY 28TH.<br />
** The Franklin Hotel is central to the business district of Chapel Hill and 0.5 miles from the University of North Carolina campus [http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Franklin+Hotel,+Chapel+Hill,+NC&sll=35.912063,-79.059634&sspn=0.035279,0.054502&ie=UTF8&hq=Franklin+Hotel&hnear=Franklin+Hotel,+311+W+Franklin+St,+Chapel+Hill,+North+Carolina+27516-2519&ll=35.911351,-79.060085&spn=0.009037,0.013626&t=h&z=17&iwloc=A MAP].<br />
<br />
'''Meeting Location''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' The meeting room will be at the Franklin Hotel. They will be providing snacks and drinks throughout the day.<br />
<br />
'''Weather'''<br />
* Average min/max temperature in February in Chapel Hill: 32F/55F<br />
<br />
'''Connectivity'''<br />
* TBD</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Feb-2011&diff=654CTK-Hackfest-Feb-20112011-02-11T20:22:34Z<p>Benoit.bleuze: /* DICOM Application Hosting */</p>
<hr />
<div>== Event pictures ==<br />
{|<br />
|[[File:Ctk-Feb-2011-hackfest-panorama.jpg|thumb|right|300px|<big>Panorama of the hackfest room!</big>]]<br />
|[[File:CTK-Hackfest-Chapel_Hill-2011_02.JPG|thumb|right|300px|<big>Hard coders in action!</big>]]<br />
|[[File:CTK-Hackfest-Chapel_Hill-2011_02-b.JPG|thumb|right|300px|<big>More hard coders in action!</big>]]<br />
|}<br />
<br />
== Introduction ==<br />
<br />
'''Date:''' February 7-11, 2011<br />
<br />
'''Location:''' Chapel Hill, North Carolina, USA: [http://www.franklinhotelnc.com/ The Franklin Hotel]<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Organizers:''' Ivo Wolf, Steve Pieper, Stephen Aylward<br />
<br />
'''Site Hosts:''' Kitware's office in North Carolina: Julien Finet, Jean-Christophe Fillion-Robin, Stephen Aylward<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
Please add your name below or [mailto:stephen.aylward@kitware.com;pieper@bwh.harvard.edu;i.wolf@hs-mannheim.de email the hackfest organizers] if you wish to attend the Hackfest. Please also indicate if you plan on staying at the hotel (anticipated room rate is $139/night):<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Staying at Hotel<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| No<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| No<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| Yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Stephen Aylward<br />
| Kitware<br />
| No<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| Yes<br />
|-<br />
| Lawrence Tarbox<br />
| Washington University St. Louis<br />
| Yes<br />
|-<br />
| Nicholas Herlambang<br />
| AZE, Japan<br />
| Yes<br />
|}<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
* Overview: Draft of [[CTK_Integration_Levels_Overview]].<br />
<br />
* Goal: Pick up threads of discussion and activity from [[Commontk:Current_events#Past_events|previous events]]<br />
<br />
General set of topics (attendees, please flesh this out with your own ideas!)<br />
<br />
=== DICOM ===<br />
<br />
* ctkDICOM app functionality<br />
** Q/R <br />
*** make CTK work with the official DCMTK release, maybe host the find-scu code in CTK<br />
*** integrate with DICOM central test node<br />
** integrate indexer and SQLite<br />
*** Parse DICOMDIR<br />
** ctkDICOMWidgets design and implementation plan [http://www.commontk.org/index.php/Documentation/WidgetPlans#Medical_Imaging_Widgets]<br />
*** Display Study/Series <br />
** IHE standardized viewer application built using ctk? (icons, naming)<br />
*** Drill down to images<br />
*** Possibly follow guidelines from the [http://www.ihe.net/Technical_Framework/upload/IHE_RAD_Suppl_BIR_Rev1-1_TI_2010-11-16.pdf IHE Basic Image Review (BIR) Profile]<br />
**** Although we may not implement all of BIR, it might be nice to follow the BIR GUI conventions, such as behavior of the mouse and mouse buttons, the study/series strip, the basic GUI icons and behavior. Perhaps these could be widgets or objects in CTK, to make it easy for users/developers to create applications that follow the spirit of BIR conventions?<br />
**** Note that we can jazz up (e.g. use 3D shading, change button shape, color) the standardized icons shown in the profile and still be compliant, as long as the basic icon form (e.g. arrow, double arrow, etc.) is recognizable.<br />
** Local DICOM Directory and Database Structure <br />
<pre><br />
<ctkDICOMDirectory>/<br />
ctkDICOM.sql # index to files in this dir<br />
thumbnails/<br />
<StudyUID>/<br />
<SeriesUID>/<br />
<InstanceUID>.png # one png per instance<br />
DICOM/<br />
<StudyUID>/<br />
<SeriesUID>/<br />
<InstanceUID>.dcm # the dicom file<br />
<br />
ctkDICOMDirectory is the one configured in the ctkDICOMViewer directory select box.<br />
ctkDICOM.sqlite caches some header values from the files locally but can also point to external directories <br />
(depending on the state of the checkbox when the user selects the Import option in the ctkDICOMViewer).<br />
</pre><br />
<br />
* Application Hosting<br />
** Hosting Logic<br />
** QtSOAP vs Axis2C implementation details<br />
*** Should be discussed but probably not be changed during hackfest<br />
** How does data move? Rendering tie in? Need to handle dynamic data?<br />
** What level of demo application is possible?<br />
*** Interoperable with C# and Java Implementation?<br />
*** Example hosted command line modules? (file based)<br />
*** Start work on DICOM native models ("trickle in data")<br />
** Hosted Interface Generation<br />
*** Complicated<br />
*** XAxis2c<br />
*** CXF http://cxf.apache.org/<br />
<br />
=== Widgets ===<br />
* Light image viewer<br />
<br />
=== Events and Communications ===<br />
* Event Bus integration: Daniele and Sascha<br />
** Driving use case<br />
*** Multi-process communication within an app<br />
**** Remote GUI/Viewer<br />
**** Stream bitmap<br />
** Move protocol to core library<br />
** Create new connector for remote comm (remote event bus)<br />
*** Using zeromq: http://www.zeromq.org/<br />
**** Addresses limitations of QtSOAP<br />
*** Complimentary to DICOM App Hosting<br />
**** For arbitrary comm between remote apps<br />
<br />
=== GIT / Gerrit ===<br />
* Review wiki instructions<br />
<br />
== Accomplishments and Next Steps ==<br />
<br />
=== ctkDICOM ===<br />
==== Major Classes====<br />
Some of the key parts of the code that got active work during the hackfest:<br />
* Libs/DICOM/Core (wrappers around DCMTK)<br />
** ctkDICOMDatabase - manages sqlite index, directory hierarchy, thumbnails<br />
** ctkDICOMModel - exposes database in Qt MVC pattern<br />
** ctkDICOMIndexer - populates database<br />
** ctkDICOMQuery - run queries (C-Find)<br />
** ctkDICOMRetrieve - get data (C-Move)<br />
** ctkDICOMDataset - represent dicom data in memory<br />
** ctkDICOMImage - expose the image data<br />
* Libs/DICOM/Widgets (QWidget subclasses for the GUI)<br />
** ctkDICOMAppWidget - top level (used by ctkDICOM application)<br />
** ctkDICOMQueryRetrieveWidget - implements the query/retrieve dialog <br />
** ctkDICOMQueryWidget - exposes options for date, modality, keyword search<br />
** ctkDICOMServerNodeWidget - options for dicom servers, AETitles, ports<br />
** ctkDICOMThumbnailWidget - for study/series preview<br />
** ctkDICOMDatasetViewWidget - image display, pan, zoom<br />
<br />
==== End User Functionality ====<br />
These classes are tied together into the ctkDICOM application that allows the user to do the following:<br />
* Local Library<br />
** import dicom files from disk (optionally copy files to library directory)<br />
** view local database directory in embedded viewer<br />
* Query/Retrieve<br />
** use a query dialog to access remote dicom resources (PACS, scanners, etc)<br />
** retrieve remote datasets into local database<br />
<br />
==== Next Steps ====<br />
A lot of fine tuning and testing is required on this code. Emphasis this week was on the naming conventions and major functional components so that an end-to-end demonstration of the PACS-to-viewer pipeline.<br />
<br />
Major pieces for further work:<br />
* Implement the Export and Send features of the ctkDICOM app<br />
* Test on multiple PACS systems (so far CONQUEST and DCM4CHEE have been used for testing).<br />
* Integrate widgets to invoke DICOM Application Hosting via the ctkDICOM interface<br />
* Work with user communities to refine/expand implementation to fit needs of slicer, mitk, maf, gimias, xip, etc...<br />
<br />
=== DICOM Application Hosting ===<br />
Achievements:<br />
* Hosted application and hosting system coupled. The application gets a Dicom file from the host and displays a frame.<br />
* The whole state machine defining authorised and forbidden transitions implemented<br />
* Signals emitted for each valid state transition to ease event driven implementation of applications and hosts.<br />
* Mapped files are used in the host to serve files without copying data between host and application.<br />
<br />
Tools:<br />
* The whole reference document is on the wiki. References to the doc from the source code (and doxygen) can be easilly done (needs to include images to the wiki, coming)<br />
<br />
=== Documentation and Wiki ===<br />
<br />
* Doxygen 1.7.3 is now used to generate the [http://www.commontk.org/docs/html/index.html CTK documentation]<br />
* CTK source code should be documented with the "\ingroup <groupname>" tag, to group classes, functions, macros, etc. semantically. See [http://www.commontk.org/docs/html/modules.html]<br />
* The CommonTk Wiki contains now more information and first tutorials for the [[Documentation#Plugin_Framework | Plugin Framework]].<br />
* Wiki pages containing tutorial code can use an [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi_remote improved MediaWiki extension] for syntax highlighting remote files (and only show certain parts of it).<br />
<br />
== Agenda ==<br />
* Sunday<br />
** 1800: Dinner at Kildare's Irish Pub (Across the street from the hotel)<br />
*** http://www.kildarespub.com/history.htm<br />
* Monday<br />
** 0900 - 1000: Welcome and Project overviews and goals<br />
** 1000 - 1800: Hacking<br />
* Tuesday<br />
** 0900 - 1800: Hacking<br />
** 1800: "Pint Night" at Tyler's Bar and Grill<br />
* Wednesday<br />
** 0900 - 1800: Hacking<br />
* Thursday<br />
** 0900 - 1800: Hacking<br />
* Friday<br />
** 0900 - 1200: Project reviews and future plans<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Local contact'''<br />
* If you have any troubles during your visit, call Stephen on his cellphone: 1-919-423-8072<br />
<br />
'''Airport''' <br />
* '''Raleigh-Durham Airport (RDU):''' RDU hosts international flights from Frankfurt, London, and Toronto; as well as frequent flights from New York, Washington DC, Atlanta, and many others.<br />
* Taxi ride from the airport to the hotel is about $40 and takes about 30 minutes.<br />
<br />
'''Lodging''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' '''We have reserved a block of rooms at a reduced rate. Mention that you are part of the "KITWARE INC" meeting. The negotiated rate is $139 per night.'''<br />
** RESERVATIONS MUST BE MADE BY FRIDAY, JANUARY 28TH.<br />
** The Franklin Hotel is central to the business district of Chapel Hill and 0.5 miles from the University of North Carolina campus [http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Franklin+Hotel,+Chapel+Hill,+NC&sll=35.912063,-79.059634&sspn=0.035279,0.054502&ie=UTF8&hq=Franklin+Hotel&hnear=Franklin+Hotel,+311+W+Franklin+St,+Chapel+Hill,+North+Carolina+27516-2519&ll=35.911351,-79.060085&spn=0.009037,0.013626&t=h&z=17&iwloc=A MAP].<br />
<br />
'''Meeting Location''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' The meeting room will be at the Franklin Hotel. They will be providing snacks and drinks throughout the day.<br />
<br />
'''Weather'''<br />
* Average min/max temperature in February in Chapel Hill: 32F/55F<br />
<br />
'''Connectivity'''<br />
* TBD</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=File:Wsdl_ft.zip&diff=643File:Wsdl ft.zip2011-02-11T01:25:36Z<p>Benoit.bleuze: wsdl, xsd and rnc files from the Dicom supplement 118 on Application hosting</p>
<hr />
<div>wsdl, xsd and rnc files from the Dicom supplement 118 on Application hosting</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=642Documentation/DicomApplicationHosting2011-02-11T01:24:31Z<p>Benoit.bleuze: /* Reference */</p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all CMake variables starting with CTK_PLUGIN_org.commontk.dah .<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]<br />
<br />
==Reference==<br />
[[file:DicomAppHostingSpecs.pdf]]<br />
<br />
[[Documentation/DicomApplicationHostingReference]]<br />
<br />
WSDL, XSD, and RNC files: [[file:wsdl_ft.zip]]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHostingReference&diff=629Documentation/DicomApplicationHostingReference2011-02-09T21:12:37Z<p>Benoit.bleuze: Created page with '<center>'''Digital Imaging and Communications in Medicine (DICOM)'''</center> <center>''Supplement 118 Application Hosting''</center> '''DICOM Standards Committee, Working Gr…'</p>
<hr />
<div><center>'''Digital Imaging and Communications in Medicine (DICOM)'''</center><br />
<br />
<br />
<center>''Supplement 118 Application Hosting''</center><br />
<br />
<br />
'''DICOM Standards Committee, Working Group 23'''<br />
<br />
1300 N. 17th Street, Suite 1752<br />
<br />
Rosslyn, Virginia 22209 USA<br />
<br />
<br />
VERSION: Final Text, 2010/09/30<br />
<br />
Developed pursuant to DICOM Work Item 2004-09-E<br />
<br />
<br />
= Scope and Field of Application =<br />
This Supplement defines an interface between two software applications. One application, the Hosting System, provides the second application with data, such as a set of images and related data. The second application, the Hosted Application, analyzes that data, potentially returning the results of that analysis, for example in the form of another set of images and/or a structured report, to the first application. Such an Application Program Interface (API) differs in scope from other portions of the DICOM Standard in that it standardizes the data interchange between software components on the same system, instead of data interchange between different systems.<br />
<br />
This Supplement describes the APIs shared by a Hosting System and one or more Hosted Applications.<br />
<br />
The Hosted Application API covers the following functions:<br />
<br />
—control the lifecycle of a Hosted Application (e.g. initialize, terminate)<br />
<br />
—interact with a Hosted Application (e.g. launch a job, pass input data, get job status, communicate results)<br />
<br />
This Supplement adds PS3.19, Application Hosting, to the DICOM Standard.<br />
<br />
== Relationship to Other Standards ==<br />
The API description is intended to be ‘technology neutral’. In other words, the description should not limit the technology a vendor might use to implement the API (e.g. Java, Microsoft® .NET). <br />
<br />
The API is specified using WSDL (Web Services Definition Language), and utilizes concepts from XML Infosets, and their representation in XML. The API also utilizes XPath as a mechanism to describe a selection path (query) into the content of an XML Infoset that represents an object.<br />
<br />
<br />
= Changes to NEMA Standards Publication PS3.1-2009 =<br />
''Add the following text to PS3.1 Introduction and Overview:''<br />
<br />
<br />
== 6.19PS3.19: Application Hosting ==<br />
PS3.19 of the DICOM Standard specifies an Application Programming Interface (API) to a DICOM-based medical computing system into which programs written to that standardized interface can ‘plug-in’ (see Figure 6.19-1). A Hosting System implementer only needs to create the standardized API once to support a wide variety of add-on Hosted Applications. <br />
<br />
<center></center><br />
<br />
<center>'''Figure 6.19-1. Interface between a Hosted Application and a Hosting System'''</center><br />
<br />
In the traditional ‘plug-in’ model, the ‘plug-in’ is dedicated to a particular host system (e.g. a web browsing program), and might not run under other host systems (e.g. other web browsing programs). PS3.19 defines an API that may be implemented by any Hosting System. A ’plug-in’ Hosted Application written to the API would be able run in any environment provided by a Hosting System that implements that API (see Figure 6.19-2). <br />
<br />
[[Image:]]<br />
<br />
<center>'''Figure 6.19-2. Illustration of platform independence via the Hosted Application architecture.'''</center><br />
<br />
PS3.19 specifies both the interactions and the Application Programming Interfaces (API) between Hosting Systems and Hosted Applications. PS3.19 also defines the data models that are used by the API.<br />
<br />
= Changes to NEMA Standards Publication PS3.1-2009 through PS3.18-2009 =<br />
''Add to the Foreword of PS3.1 through PS3.18:''<br />
<br />
PS3.18: Web Access to DICOM Persistent Objects (WADO)<br />
<br />
'''PS3.19: Application Hosting'''<br />
<br />
These Parts are related but independent documents. Their development level and approval status may differ. <br />
<br />
<br />
= Changes to NEMA Standards Publication PS3.6-2009 =<br />
''Add the following rows to Table A-1 in PS3.6 Data Dictionary:''<br />
<br />
<center>'''Table A-1UID VALUES'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''UID Value'''<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''UID NAME'''<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''UID TYPE'''<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''Part'''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.7.1.1<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Native DICOM Model<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Application Hosting Model<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| PS 3.19<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.7.1.2<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Application Hosting Model<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| PS 3.19<br />
<br />
|}<br />
''Add the following rows to Table A-3 in PS3.6 Data Dictionary:''<br />
<br />
<center>'''Table A-3CONTEXT GROUP UID VALUES'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''Context UID '''<br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>'''Context Identifier'''</center><br />
| style="border-top:0.0153in double #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| '''Context Group Name'''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.916<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7180</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Component Semantics<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.917<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7181</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Component Units<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.918<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7182</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Dimension Semantics<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.919<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7183</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Dimension Units<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.920<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7184</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Axis Direction<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.921<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7185</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Axis Orientation<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| 1.2.840.10008.6.1.922<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| <center>7186</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.0597in;padding-right:0.0597in;"| Abstract Multi-Dimensional Image Model Qualitative Dimension Sample Semantics<br />
<br />
|}<br />
= Changes to NEMA Standards Publication PS3.17-2009 =<br />
'''PS3.17: Add the following Annex:'''<br />
<br />
= Annex ZX Use Cases for Application Hosting =<br />
== ZX.1Agent-Specific Post Processing ==<br />
Many metabolic/contrast agents require more than just simple imaging to provide data for decision making. Rather than just detecting the presence or absence of the metabolic/contrast agents, calculations based on relative uptake rates, or decay rates, comparisons with previous or neighboring data, fusion of data from multiple sources or time points, etc. may be necessary to properly evaluate image data with these metabolic/contrast agents. Often the nature of this processing is closely related to the type of agent, the anatomy, and the disease process being targeted. The processing may be so specific that the general-purpose image processing features found on medical imaging workstations are inadequate to properly perform the procedure. The effective use of a particular agent for a particular procedure may depend on having properly tuned, targeted post-processing. Both the algorithms used, as well as the workflow in performing the analysis, may be customized for performing procedures with a particular agent.<br />
<br />
The stakeholders interested in developing such agent- and exam-specific post-processing applications may have a vested interest in insuring that such post-processing applications can run on a wide variety of systems. The standard post-processing software API outlined in PS3.19 could simplify the distribution of such agent-specific analysis applications. Rather than creating multiple versions of the same application, each version targeted to a particular medical imaging vendor’s system, the application developer need only create a single version of the application, which would run on any system that implemented the standard API. <br />
<br />
Differences in physical characteristics, acquisition technique and equipment, and user preference affect image quality and processing requirements. By allowing the sharing of applications based on device-independent (or conversely, device-specific) procedures, the Hosted Application technology will reduce these differences to a minimum.<br />
<br />
== ZX.2Support for Multi-Site Collaborative Research ==<br />
A common API for Application Hosting facilitates multi-site research.<br />
<br />
'''Site-specific problems''': The development of molecular imaging applications can be accelerated with multiple site cooperation in the validation of new algorithms and software. However, the run-time environment and tools available at one site typically are not matched identically at other sites, hampering the sharing of applications between sites. Using the same tools allows them to share applications. One cannot simply take an application written at one of these sites, and make it run on the other site without major software work involving the installation and configuration of multiple tool packages. Even after installing the needed tools and libraries, software developed at one site may be trying to access facilities that are unavailable at the other site, for example, facilities to store, access, and organize the image data. Often the data formats applications from one site are expecting are incompatible with the data formats available at other sites. Having a standard API could help minimize these data incompatibilities.<br />
<br />
'''Gap between research and clinical environments''': The initial versions of agent-specific applications are typically created in a research environment, and are not easily accessible in the clinical environment. The early experimental work generally is done by exporting the image data out of the clinical environment to research workstations, and then importing the results back into the clinical system once the analysis is done. While exporting and importing the images may be sufficient for the early research work, clinical acceptance of an application can be significant enhanced if that application could run in the same clinical environment where the images are collected, in order to better fit into the clinical workflow.<br />
<br />
The problem of mismatched run time environments becomes even more acute when attempting to run the typical research application on a production clinical workstation. Due to a variety of legal and commercial concerns, vendors of the systems utilized in the clinical environment generally do not support running unknown software, nor do most commercial vendors have the time or resources to assist the hundreds of researchers who may wish to port a particular application to that vendor's system. Even if researchers manage to load an experimental program onto a clinical system, the experimental program rarely has direct access to the data stored on that clinical system, nor can it directly store results back into the system’s clinical database. Without a single standard interface, users have to resort to the cumbersome and time-consuming export and input routines to be able to run research programs on clinical data. It is expected that the constrained environment that a standard API provides would be simpler to validate, particularly if it is universally deployed by multiple vendors, and could lessen the burden on any individual system vendor.<br />
<br />
== ZX.3Screening Applications ==<br />
Computer Aided Diagnosis and Decision Making (CAD) is becoming more prevalent in radiology departments. Many classes of exams now routinely go through a computer screening process prior to reading. One potential barrier to more widespread use of CAD screening is that the various vendors of CAD applications typically only allow their applications to run on servers or workstations provided by those companies. A clinical site that wishes to utilize, for example, mammo CAD from one vendor and lung CAD from another often is forced to acquire two different servers or workstations from the two different vendors.<br />
<br />
The Hosted Application concept described in PS3.19 could be used to facilitate the running of multiple CAD applications from multiple vendors on the same computer system. <br />
<br />
== ZX.4Modality-Specific Post Processing ==<br />
As medical imaging technology progresses, new modalities are added to the standard. For example, vessel wall detection in intravascular ultrasound is often easier if the images are left in radial form. Unfortunately, most DICOM workstations would not know how to deal with images in such a strange format even though the workstation might recognize that it is an image.<br />
<br />
One possible solution is for a workstation to seek out an appropriate Hosted Application for handling Modalities or SOP classes that it does not recognize. This would allow for automatic handling of all image types by a generic imaging platform. Similarly, SOP Classes, even private SOP Classes, could be created that depend on particular Hosted Applications to prepare data for display.<br />
<br />
== ZX.5Measurement/Evidence Document Creation ==<br />
Another natural use for such a standardized API is the creation of exam-specific analysis and measurement programs for the creation of Evidence Documents (Structured Reports). The standardized API would allow the same analysis program to run on a variety of host systems, reducing the amount of development needed to support multiple platforms.<br />
<br />
== ZX.6CAD Rendering ==<br />
Often the regulatory approval for CAD systems includes the method by which the CAD marks are presented to the user. Providers of CAD systems have used dedicated workstations for such display in the past in order to insure that the CAD marks are presented as intended. If there were a suitable standardized API for launching hosted applications, a Hosted Application could handle the display of CAD results on any workstation that supports that standardized API.<br />
<br />
= Creation of NEMA Standards Publication PS3.19 =<br />
'''Create PS3.19 and add the following contents:'''<br />
<br />
= FOREWORD =<br />
The DICOM Standard is structured as a multi-part document using the guidelines established in the following document:<br />
<br />
ISO/IEC Directives, 1989 Part 3 : Drafting and Presentation of International Standards.<br />
<br />
This document is one part of the DICOM Standard, which consists of the following parts:<br />
<br />
PS3.1: Introduction and Overview<br />
<br />
PS3.2: Conformance<br />
<br />
PS3.3: Information Object Definitions<br />
<br />
PS3.4: Service Class Specifications<br />
<br />
PS3.5: Data Structures and Encoding<br />
<br />
PS3.6: Data Dictionary<br />
<br />
PS3.7: Message Exchange<br />
<br />
PS3.8: Network Communication Support for Message Exchange<br />
<br />
PS3.9: Retired<br />
<br />
PS3.10: Media Storage and File Format for Media Interchange<br />
<br />
PS3.11: Media Storage Application Profiles<br />
<br />
PS3.12: Formats and Physical Media<br />
<br />
PS3.13: Retired<br />
<br />
PS3.14: Grayscale Standard Display Function<br />
<br />
PS3.15: Security and System Management Profiles<br />
<br />
PS3.16: Content Mapping Resource<br />
<br />
PS3.17: Explanatory Information<br />
<br />
PS3.18: Web Access to DICOM Persistent Objects (WADO)<br />
<br />
PS3.19: Application Hosting<br />
<br />
These parts are related but independent documents. Their development level and approval status may differ. Additional parts may be added to this multi-part standard. PS3.1 should be used as the base reference for the current parts of this standard.<br />
<br />
= 1Scope and field of application =<br />
This Part of the DICOM Standard defines an interface between two software applications. One application, the Hosting System, provides the second application with data, such as a set of images and related data. The second application, the Hosted Application, analyzes that data, potentially returning the results of that analysis, for example in the form of another set of images and/or structured reports, to the first application. Such an Application Program Interface (API) differs in scope from other portions of the DICOM Standard in that it standardizes the data interchange between software components on the same system, instead of data interchange between different systems. Hosted Application programs written to that standardized interface can ‘plug-into’ (see Figure 1-1) Hosting Systems. The notion of software add-ons or ‘plug-ins’ is quite common in the computing world, and has been successfully employed to extend the capabilities of web browsers, media players, graphical editors, publishing programs, etc. A Hosting System implementer needs only to create the standardized API once in order to support a wide variety of add-on Hosted Applications. <br />
<br />
<center></center><br />
<br />
<center>'''Figure 1-1. Interface between Hosted Application and Hosting System'''</center><br />
<br />
In the traditional ‘plug-in’ model, the ‘plug-in’ is dedicated to a particular host system (e.g. a web browsing program), and might not run under other host systems (e.g. other web browsing programs). PS3.19 defines a standardized API that may be implemented by any Hosting System. A ’plug-in’ Hosted Application written to the standardized API would be able to run on any Hosting System that implements that standardized API (see Figure 1-2). <br />
<br />
[[Image:]]<br />
<br />
<center>'''Figure 1-2. Illustration of platform independence via Hosted Application architecture.'''</center><br />
<br />
The design goals and assumptions for the API include:<br />
<br />
-Language independence – the API is defined in such a way that programs written in any common programming language could utilize it.<br />
<br />
-Platform independence – the API is defined in such a way that it is not dependent on any particular computing platform or operating system.<br />
<br />
-Extensible – the API can be extended in a backward compatible fashion. Old applications still work even with new extensions in place, while new applications that are aware of the extensions can gain access to a richer set of functionality.<br />
<br />
-Protected – the API design is consistent with later additions of mechanisms to protect intellectual property rights, and mechanisms that assure appropriate permissions and licenses are in place. The API should not interfere with common licensing systems.<br />
<br />
-Secure – the Hosted Application’s access to data on the Hosting System would be controlled via the API by the Hosting System. The Hosting System would be responsible for access controls and audit logging, since it is the one providing the data to the Hosted Application.<br />
<br />
-Leverage Existing Technology – the API definition utilizes existing technology in common use, as far as practical, and does not define new methodologies.<br />
<br />
-Simultaneous Launching – the Hosting System will be able to launch several instances of the same or of different Hosted Applications at the same time.<br />
<br />
-Distributed Execution – although the API is designed for local execution, it does not prevent remote execution, where the Application is running on a different system from the Host. <br />
<br />
PS3.19 specifies both the interactions and the Application Programming Interfaces (API) between Hosting Systems and Hosted Applications. PS3.19 also includes Normative and Informative Annexes that define the data models that are used by the API defined in this part. <br />
<br />
The API does not directly address workflow management, which is addressed by other DICOM Services.<br />
<br />
= 2Normative references =<br />
The following standards contain provisions that, through reference in this text, constitute provisions of this Standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this Standard are encouraged to investigate the possibilities of applying the most recent editions of the standards indicated below.<br />
<br />
IETF RFC 2045,2046,2048MIME Multipurpose Internet Mail Extension<br />
<br />
IETF RFC 2396Uniform Resource Identifiers (URI): Generic Syntax<br />
<br />
IETF RFC 3240application/dicom MIME Sub-type Registration<br />
<br />
ISO 8822:1988Information processing systems -- Open Systems Interconnection - Connection oriented presentation service definition<br />
<br />
ISO/IEC 19757DSDL Document Schema Definition Languages (DSDL)<br />
<br />
ITU-T Recommendation X.667UUID (also IETF RFC 4122)<br />
<br />
W3C RecommendationWeb Services Description Language (WSDL) 1.1<br />
<br />
Note:The WSDL W3C Recommendation can be found at [http://www.w3.org/TR/wsdl http://www.w3.org/TR/wsdl]<br />
<br />
W3C RecommendationXML Path Language (XPath) 2.0 <br />
<br />
Note:The XPath W3C Recommendation can be found at [http://www.w3.org/TR/2007/REC-xpath20-20070123/ http://www.w3.org/TR/2007/REC-xpath20-20070123/])<br />
<br />
W3C Recommendation XML Information Set <br />
<br />
Note:The XML Information Set W3C Recommendation can be found at [http://www.w3.org/TR/xml-infoset/ http://www.w3.org/TR/xml-infoset/] <br />
<br />
= 3Definitions =<br />
For the purposes of this Standard the following definitions apply.<br />
<br />
== 3.1Presentation service definitions ==<br />
This part of the standard makes use of the following terms defined in ISO 8822:<br />
<br />
a.Transfer Syntax<br />
<br />
b.Transfer Syntax Name<br />
<br />
== 3.2XML Infoset definitions ==<br />
This part of the standard makes use of the following terms defined in W3C Recommendation XML Information Set:<br />
<br />
a.Infoset or XML Infoset<br />
<br />
b.Element or XML Element<br />
<br />
c.Attribute or XML Attribute<br />
<br />
Notes:1. The concept of an XML Attribute is quite distinct from that of a DICOM Attribute. <br />
<br />
2. To avoid confusion with the DICOM terms with similar names, the text of the DICOM Standard will use XML Element and XML Attribute when referring to these XML Infoset concepts. The appearance of Element or Attribute without the term XML in front of them generally refers to the DICOM concepts instead of the XML Infoset concepts.<br />
<br />
== 3.3DICOM introduction and overview definitions ==<br />
This Part of the Standard makes use of the following terms defined in PS3.1:<br />
<br />
a. Attribute<br />
<br />
== 3.4DICOM Information object definition ==<br />
This part of the standard makes use of the following term defined in PS3.3:<br />
<br />
a. Attribute Tag<br />
<br />
== 3.5DICOM data structures and encoding ==<br />
This Part of the Standard makes use of the following terms defined in PS3.5:<br />
<br />
a. Data Element<br />
<br />
b.Data Element Tag<br />
<br />
c. Data Element Type<br />
<br />
d.Data Set<br />
<br />
e.Defined Term<br />
<br />
f.Enumerated Value<br />
<br />
g.Sequence of Items<br />
<br />
h.Unique Identifier (UID) <br />
<br />
i.Value Multiplicity (VM)<br />
<br />
j.Value Representation (VR)<br />
<br />
<br />
== 3.6Codes and Controlled Terminology Definitions: ==<br />
This Part of the Standard makes use of the following terms defined in PS3.16:<br />
<br />
a.Baseline Context Group Identifier (BCID)<br />
<br />
b.Defined Context Group Identifier (DCID)<br />
<br />
c.Context Group<br />
<br />
d.Context Group Version<br />
<br />
e.Context ID (CID)<br />
<br />
f.Mapping Resource<br />
<br />
g.DICOM Content Mapping Resource (DCMR)<br />
<br />
h.Value Set<br />
<br />
i.Coding schemes<br />
<br />
== 3.7Application Hosting Definitions ==<br />
The following definitions are commonly used in this part of the Standard:<br />
<br />
'''Application Programming Interface:''' A set of interface methods that Hosted Applications and Hosting Systems use to communicate with each other. <br />
<br />
'''Hosted Application:''' An application launched and controlled by a Hosting System. The Hosted Application may utilize services offered by the Hosting System. <br />
<br />
'''Hosting System:''' The application used to launch and control Hosted Applications. The Hosting System provides a variety of services such as DICOM object retrieval and storage for the Hosted Application. The Hosting System provides the infrastructure in which the Hosted Application runs and interacts with the external environment. This includes network access, database and security.<br />
<br />
<br />
= 4Symbols and abbreviations =<br />
The following symbols and abbreviations are used in this Part of the Standard.<br />
<br />
'''ACR'''American College of Radiology<br />
<br />
'''ASCII'''American Standard Code for Information Interchange<br />
<br />
'''ANSI'''American National Standards Institute<br />
<br />
'''API '''Application Programming Interface<br />
<br />
'''BCID'''Baseline Context Group Identifier<br />
<br />
'''CID'''Context ID<br />
<br />
'''DCID'''Defined Context Group Identifier<br />
<br />
'''DCMR'''DICOM Content Mapping Resource<br />
<br />
'''DICOM'''Digital Imaging and Communications in Medicine<br />
<br />
'''DSDL'''Document Schema Definition Languages''' '''<br />
<br />
'''IEC'''International Electrotechnical Commission<br />
<br />
'''IOD'''Information Object Definition<br />
<br />
'''IANA'''Internet Assigned Numbers Authority<br />
<br />
'''ISO'''International Standards Organization<br />
<br />
'''LUT'''Lookup Table<br />
<br />
'''MIME'''Multipurpose Internet Mail Extensions<br />
<br />
'''NEMA'''National Electrical Manufacturers Association<br />
<br />
'''OID'''Object Identifier (ISO 8824)<br />
<br />
'''ROI'''Region of interest<br />
<br />
'''SOP'''Service-Object Pair<br />
<br />
'''SR'''Structured Reporting<br />
<br />
'''UID'''Unique Identifier<br />
<br />
'''UUID'''Universal Unique Identifier (ISO/IEC 11578)<br />
<br />
'''URL/URI'''Uniform Resource Locator / Identifier<br />
<br />
'''VM'''Value Multiplicity<br />
<br />
'''VR'''Value Representation<br />
<br />
'''WSDL '''Web Services Description Language<br />
<br />
'''XSD '''XML Schema Definition<br />
<br />
'''XML '''eXtensible Markup Language<br />
<br />
'''XPath'''XML Path Language<br />
<br />
= Conventions =<br />
Terms listed in Section 3 Definitions are capitalized throughout the document.<br />
<br />
= 6Application Hosting Overview =<br />
This section describes the capabilities of the API, gives an example of the sequence of operations, and summarizes the remaining sections of this Part.<br />
<br />
The APIs are shared by a Hosting System and one or more Hosted Applications.<br />
<br />
The API is agnostic to the hardware platform, the operating system, and the GUI. The API supports requesting space in the GUI, if available. The API supports headless operation (i.e., no GUI).<br />
<br />
The APIs are defined using Web Services Definition Language (WSDL) to be programming language, platform, and technology neutral. The APIs are designed to maximize language independence while minimizing the impact on efficiency of utilizing web services technology. The interfaces support both a networked file-based and a shared-memory interaction model. The API supports manual configuration, but not discovery.<br />
<br />
The API can provide DICOM Data Sets and other data to the Hosted Application and can accept DICOM Data Sets and other data created by the Hosted Application, incrementally or upon completion. The Hosted Application has granular access to data provided by the Hosting System (e.g., single attributes, a subset of the pixel data, etc.) and only that data. The API utilizes DICOM semantics, but not necessarily DICOM network transfer syntax. The Hosting System provides a mechanism to the Hosted Application for generating UIDs.<br />
<br />
The API allows the Hosting System to suspend and/or cancel the operation of the Hosted Application and regain user interface control. The API supports returning status information from the Hosted Application to the Hosting System and tracking the state of the Hosted Application.<br />
<br />
The Hosting System has a mechanism to launch or connect to one or more Hosted Applications, verify that the Hosted Application has started successfully, and then pass the initial data objects. All interactions start in the Hosting System. A typical sequence of events is as follows:<br />
<br />
# The Hosting System identifies and locates the Hosted Application appropriate to the task and data using host-specific methods. Often the desired application is selected by the user of the system or is identified in a work list entry.<br />
# The Hosting System launches the application, essentially issuing a ‘run’ or ‘exec’ command, passing parameters that the Hosted Application uses to establish bilateral communications between the two.<br />
# The Hosting System uses the API to initiate a processing task in the Hosted Application and notifies it of its input data.<br />
# The Hosted Application uses the API to pull information from the Hosting System about the input data, including the location of the bulk pixel data.<br />
# The Hosted Application may use file I/O, memory mapping, or any other appropriate method to gain access to the bulk pixel data.<br />
# The Hosted Application may also use the API to inform the Hosting System of the status of the processing, for example progress, any warnings or errors encountered.<br />
# The Hosting System might use the API to suspend or cancel processing in the Hosted Application.<br />
# If the Hosting System suspended processing in the Hosted Application, it may use the API to instruct the Hosted Application to resume processing.<br />
# The Hosted Application, as it processes the input data, might create output objects, and use the API to inform the Hosting System of their existence.<br />
# The Hosting System uses the API to pull information about the output objects from the Hosted Application, including the location of the bulk data.<br />
# The Hosting system might use file I/O, memory mapping, or any other appropriate method to gain access to the output bulk data, if needed.<br />
# Once the Hosting System has pulled the output data from the Hosted Application, it uses the API to instruct the Hosted Application to wait for the next processing task (i.e., tells the Hosted Application to idle).<br />
# If the Hosting System has another task for the Hosted Application to perform, it may use the API to start that task, following this sequence of events beginning at Step 3.<br />
# When the Hosting System no longer needs the Hosted Application, it may use the API to request that the Hosted Application exit.<br />
<br />
Section 7 describes in greater detail the Hosted Application Life Cycle.<br />
<br />
Section 8 describes the base interfaces between the Hosting System and the Hosted Application.<br />
<br />
Section 9 describes the custom data types and data structures used by the interfaces.<br />
<br />
Section 10 describes the general form of models used by the model-based interfaces, and the conventions used in defining those models. The models defined by this Standard are described in the Annexes.<br />
<br />
= 7Hosted Application Life Cycle =<br />
== 7.1 Initialization ==<br />
The Hosting System initializes a Hosted Application by issuing a run command or its equivalent (e.g exec function in the C language) with command line parameters to specify the end point references (URLs) to be used for the interfaces. One end point reference is used by the Hosted Application to access the Host interface provided by the Hosting System. The second end point reference is where the Hosting System will look for the Application interface provided by the Hosted Application. The Host and Application interfaces are described in Section 8. If issued from a command prompt or shell, the run command may appear as:<br />
<br />
''app'' –-hostURL ''url1'' –-applicationURL ''url2''<br />
<br />
Notes:1. In this startup methodology, it is the Hosting System, not the Hosted Application that specifies both URLs. The Hosted Application must respond at the URL assigned to it by the Hosting System.<br />
<br />
2. A Hosted Application implementation where the Hosted Application runs remotely or on an application server might utilize a startup or proxy application to appropriately map between the URL provided by the Hosting System and the actual URL that the Hosted Application is using.<br />
<br />
Figure 7.1-1 shows a sequence diagram of Hosted Application initialization. Once the Hosted Application has initialized and is ready to begin processing data, it changes its state to IDLE and notifies the Hosting System of the state change using a call to the notifyStateChanged() method, thus informing the Hosting System that the Hosted Application is ready to go.<br />
<br />
<center>[[Image:]]</center><br />
<br />
<center>'''Figure 7.1-1 Hosted Application Initialization Sequence'''</center><br />
<br />
== 7.2 States ==<br />
Figure 7.2-1 shows the state diagram for a Hosted Application. The following states are defined:<br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''State'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| In IDLE state the Hosted Application is waiting for a new task assignment from the Hosting System. This is the initial state when the Hosted Application starts.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Hosted Application is performing the assigned task.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| SUSPENDED<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Hosted Application is stopping processing and is releasing as many resources as it can, while still preserving enough state to be able to resume processing.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| COMPLETED<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Hosted Application has completed processing, and is waiting for the Hosting System to access and release any output data from Hosted Application.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Hosted Application is stopping processing, and is releasing all resources with no chance to resume processing.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| EXIT<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The terminal state of the Hosted Application.<br />
<br />
|}<br />
The transitions between states are:<br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''State'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Trigger'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''New State'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| not started<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System launches the Hosted Application (e.g. run, exec).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (EXIT).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| EXIT<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (INPROGRESS).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (SUSPENDED).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| SUSPENDED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (CANCELED).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosted Application encounters an error that prevents further processing, but is still healthy enough to perhaps start another task. The Hosted Application shall report this error through a call to notifyStatus() with a statusType of FATALERROR prior to transitioning to the CANCELED state.<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosted Application finishes its processing.<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| COMPLETED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| SUSPENDED<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (INPROGRESS).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| INPROGRESS<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| SUSPENDED<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosted Application encounters an error (e.g. during suspension) that prevents further processing, but is still healthy enough to perhaps start another task. The Hosted Application shall report this error through a call to notifyStatus() with a statusType of FATALERROR prior to transitioning to the CANCELED state.<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| SUSPENDED<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (CANCELED).<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| COMPLETED<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosting System calls Application.setState (IDLE), after capturing all pertinent output data from the Hosted Application.<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CANCELED<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hosted Application releases all resources and is ready for the next task.<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| IDLE<br />
<br />
|}<br />
The Hosted Application notifies the Hosting System of all state transitions by calling the notifyStateChanged() method.<br />
<br />
Note:If a Hosted Application does not respond to state change requests made by the Hosting System, the Hosting System may ‘hard abort’ the Hosted Application in some implementation specific manner, such as by killing the process in which the Hosted Application is executing.<br />
<br />
<center>[[Image:]]</center><br />
<br />
<center>'''Figure 7.2-1 State Diagram of Hosted Applications.'''</center><br />
<br />
= 8Interfaces =<br />
There are three base interfaces defined in this supplement, as shown in Figure 8-1. One, named “Application”, represents the Hosted Application, and is utilized by the Hosting System to control the Hosted Application. The second, named “Host”, represents the Hosting System, and is utilized by the Hosted Application to request services from and to notify the Hosting System of events during the execution of the Hosted Application. The third, named “DataExchange” is an interface used by both the Hosting System and the Hosted Application to communicate information about the data to be exchanged. Thus, the entire Hosted Application (“ApplicationService”) implementation consists of the combination of the “Application” and “DataExchange” base interfaces, while the entire Hosting System (“HostService”) implementation consists of the combination of the “Host” and “DataExchange” base interfaces.<br />
<br />
The interfaces are defined as a set of methods using Web Services Description Language (WSDL). The implementers shall change the end point references (i.e., the “location” XML Attribute within the “address” XML Element within the “port” XML Elements of a “service” XML Element) in the WSDL specification as needed to deploy Hosted Applications and Hosting Systems that utilize these interfaces. <br />
<br />
Note:The major (non-backward compatible) versions of the interfaces are reflected in the values of the “name” and “targetNamespace” XML Attributes of the “definitions” XML Element in the WSDL specification of the interfaces. Any changes to the interfaces that are not backward compatible will utilize new values for “name” and “targetNamespace” XML Attributes of the “definitions” XML Element.<br />
<br />
Minor (backward compatible) versions of the interfaces may be reflected in the values of the “targetNamespace” XML Attribute of any new “schema” XML Element where new input or output data types are defined in the WSDL specifications, and/or in the values of the “name” XML Attributes of the “portType” and “service” XML Elements where new messages and operations are associated as new services in the WSDL specifications of the interfaces. To maintain backward compatibility, the names of existing elements, messages, and operations in the WSDL specification of the interfaces remain the same.<br />
<br />
These methods utilize a set of basic data types and more complex data structures to communicate parameters, which are defined using XML Schemas. Later sections of this document provide more detailed descriptions of the interfaces and data structures, along with sequence diagrams illustrating how the interfaces are used. <br />
<br />
The actual WSDL code and XML Schemas that specify this interface are defined in Annex B.<br />
<br />
Notes:1. WSDL is a platform and programming language independent means of specifying an interface between two cooperating applications. The applications need not be written in the same programming language.<br />
<br />
2. The interfaces do not directly address reporting of SOAP communications problems. If a problem occurs in the communications between the Hosting System and a Hosting Application during the execution of a WSDL interface call, this should be reported by the SOAP libraries utilized by an implementation, e.g., thrown as an exception.<br />
<br />
[[Image:]]<br />
<br />
<center>'''Figure 8-1 Diagram of the Interface Between the Hosting System and the Hosted Application'''</center><br />
<br />
== 8.1Application Interface ==<br />
The following sections describe the methods of the Application interface.<br />
<br />
=== 8.1.1getState() : State ===<br />
The Hosted Application returns its current state to the caller. <br />
<br />
This method may be called at any time.<br />
<br />
Note:1. A Hosting System may use this method as an alternative to tracking Hosted Application state changes reported by the notifyStateChanged() method call.<br />
<br />
2. A Hosting System may use this method to determine if a Hosted Application is still in operation (i.e., did not die without calling the notifyStateChanged() method with an EXIT state).<br />
<br />
=== 8.1.2setState(newState : State) : boolean ===<br />
The Hosting System requests that the Hosted Application switch to the newState. <br />
<br />
The Hosted Application returns TRUE from the method if the Hosted Application received the request, and the requested state change is allowed in the state diagram. Otherwise, the method returns FALSE. A return value of TRUE does not indicate that the state of the Hosted Application has changed to the newState; it merely indicates that the requested state change is valid, and will be made at the soonest opportunity. Once the Hosted Application switches to the requested state, it shall inform the Hosting System through the notifyStateChanged() method of the Host interface.<br />
<br />
Note:The asynchronous response to a state change is intended to minimize blocking the Hosting System while waiting for a potentially time-consuming state change in the application.<br />
<br />
The Hosted Application shall ignore any setState() and return TRUE when the Hosted Application is already in requested state (i.e., this is a repeated call with the same state).<br />
<br />
If the Hosted Application receives a second setState() request for a different state prior to completing a previous request, then the Hosted Application shall abort or ignore the previous request, and begin processing the latest request.<br />
<br />
This method may be called at any time, however may not have any effect (other than a return of FALSE) if the requested new state is not an allowed transition from the current state.<br />
<br />
=== 8.1.3bringToFront(requestedScreenArea : Rectangle) : boolean ===<br />
By calling this method, the Hosting System is asking the Hosted Application to take whatever steps are needed to make its GUI visible as the topmost window, and to gain focus. <br />
<br />
If possible, the Hosted Application shall resize and reposition itself to the requestedScreenArea. If requestedScreenArea is missing or null, the Hosted Application may retain its current size and location on the screen.<br />
<br />
The method returns TRUE if the Hosted Application received the request and will act on it. Otherwise it returns FALSE.<br />
<br />
A Hosted Application shall act on this method if the Hosted Application is in the IDLE or INPROGRESS state. A Hosted Application is not required to act on this method if the Hosted Application is not in the IDLE or INPROGRESS state. <br />
<br />
A Hosted Application that has no GUI (e.g. a headless analysis application), where becoming visible and gaining focus has no meaning, shall always return TRUE from this method. <br />
<br />
== 8.2Host Interface ==<br />
The following sections describe the methods of the Host interface.<br />
<br />
=== 8.2.1generateUID() : UID ===<br />
Returns a newly created DICOM UID that the Hosted Application might use, e.g., to create new data objects and structures.<br />
<br />
This method may be called at any time.<br />
<br />
=== 8.2.2getAvailableScreen(appPreferredScreen : Rectangle) : Rectangle ===<br />
The Hosted Application supplies its preferred screen size in the appPreferredScreen parameter. The Hosting System may utilize this information as a hint, but may return a window location and size that best suits the Hosting System’s GUI.<br />
<br />
The method returns the window location and size that the Hosting System would prefer that the Hosted Application utilize. However, there are no requirements that the Hosted Application act on that information.<br />
<br />
This method may be called at any time.<br />
<br />
=== 8.2.3getOutputLocation(preferredProtocols: ArrayOfString) : String ===<br />
The method returns a URI that a Hosted Application may use to store output that it may provide back to the Hosting System (e.g. in response to a getData() call). <br />
<br />
The Hosted Application indicates, in order of preference, the protocols it can use to store data. The Hosted Application shall at least support both the http: and the file: protocols. The Hosting System selects the most appropriate protocol, potentially taking into account system or security considerations as well as the order of preference. The Hosting System uses the selected protocol in setting up the resources and generating the URI returned to the Hosted Application.<br />
<br />
Notes:1. There may be limitations when using the http: protocol when compared to the file: protocol. Some functions that might work with a file: protocol such as seek, rewrite, and delete, may not work with the http: protocol. The Hosted Application should assume that it can only write once in sequential order when the returned output location uses the http: protocol.<br />
<br />
2. If any authentication information is needed in order to access the data, this authentication information may be included in the URI.<br />
<br />
The Hosting System shall keep the URI active while the Hosted Application is in any state other than IDLE or EXIT, or until such time that the Hosted Application returns the URI to the Hosting System (e.g. in an ObjectLocator returned to the Hosting System in response to a getData() call). The disposition of the data that the Hosted Application sends to this URI is the responsibility of the Hosting System after the Hosted Application transitions to the IDLE state or after the Hosted Application returns the URI to the Hosting System (e.g. in an ObjectLocator returned to the Hosting System in response to a getData() call). After the Hosted Application transitions to IDLE state, the Hosting System need not keep the URI active.<br />
<br />
The Hosted Application shall only call this method if the Hosted Application is at the INPROGRESS or COMPLETED states.<br />
<br />
=== 8.2.4notifyStateChanged(state : State) : void ===<br />
The Hosted Application shall invoke this method each time the Hosted Application successfully transitions to a new state. The new state is passed in the state parameter. <br />
<br />
Note:While all Hosting Systems need to accept this interface call method, they may track the current Application State in other ways, such as by polling for the state using the Application getState() method.<br />
<br />
=== 8.2.5notifyStatus(status : Status) : void ===<br />
The Hosted Application may inform the Hosting System of notable events that occur during execution by invoking this method, passing the information in the status parameter. <br />
<br />
Note:The Hosting System typically would log these events to facilitate debugging. It may, at its discretion, display the information to the user.<br />
<br />
This method may be called at any time.<br />
<br />
== 8.3DataExchange Interface ==<br />
The interface used to exchange information about data being transferred between a source and a recipient is the same for both the Hosting System and the Hosted Application. Implementations of the Application interface shall also include the DataExchange interface. Implementations of the Host interface shall also include the DataExchange interface. In other words, the DataExchange interface is symmetric with respect to the Hosting System and Hosting Application.<br />
<br />
The data being exchanged between the Hosting System and the Hosted Application can either be passed as files, or may be described in models that might be queried by the recipient. <br />
<br />
Recipients that can parse DICOM objects are able to request the file-based methods. The sequence diagram in Figure 8.3-1 illustrates one potential exchange using the file-based methods.<br />
<br />
[[Image:]]<br />
<br />
<center>'''Figure 8.3-1 Example File-based Data Exchange Sequence'''</center><br />
<br />
<br />
The advantage of using the model-based methods is that the recipient need not know how to parse the data formats, but instead can use commonly available tools for manipulating XML Infosets to extract data from the models. <br />
<br />
The model-based interfaces can work with a variety of models. Particular models are identified by a UID. The models can either be an abstraction of the data, or can be a model of some native format. Models defined by the DICOM Standard are described in Annex A. Models are described as XML Infosets, even though the original data might never be actually represented in XML form. The source providing the data handles the mapping from the models back to the original data format.<br />
<br />
Abstract models allow a recipient to work with data without regard to what its native form is. For example, data from a variety of image formats, such as DICOM, TIFF, JPEG, NIfTI, or Analyze, could be included in an abstract image model. The recipient can then work with the data even though the recipient has no knowledge of how the data was natively represented. Abstract models may have been derived from data referenced in multiple ObjectDescriptors (e.g. multiple CT slices combined into a single volume).<br />
<br />
Abstract models generally do not include the full richness of data that is available in native representations. For example, an abstract image model derived from DICOM data normally would include references to ‘cooked' pixel data and its spatial organization, but might not include many of the modality-specific Attributes. To allow recipients to access such details the supplier of an abstract model can provide references to the ObjectDescriptors, in the form of UUIDs, from which that abstract model was derived. The recipient may gain access to any attribute of the original data formats through the source ObjectDescriptors.<br />
<br />
The sequence diagram in Figure 8.3-2 illustrates one potential exchange using the model-based methods. It also illustrates the Hosted Application returning partial outputs, one potential way a Hosted Application might use the getOutputLocation() method, and potential uses of the releaseModel() and releaseData() methods.<br />
<br />
[[Image:]]<br />
<br />
(Continued on next page)<br />
<br />
<center>'''Figure 8.3-2 Example Model-based Data Exchange Sequence'''</center><br />
<br />
(Continued from previous page)<br />
<br />
[[Image:]]<br />
<br />
Hosting Systems shall support both the file-based and model-based interfaces, both as a data source as well as a data recipient. <br />
<br />
Hosted Applications shall support at least one of the file-based or model-based interfaces, as either a data source or as a data recipient, as needed by the Hosted Application. If a Hosted Application supports the model-based interfaces, it shall support at least one of the models defined in Annex A. Hosted Applications may choose to implement only those portions of those interfaces that the Hosted Application actually uses; however, all interface methods that a Hosting System may call must be available for the Hosting System to call, even if the Hosted Application does not do anything but return appropriately.<br />
<br />
The following sections describe the methods of the DataExchange interface.<br />
<br />
=== 8.3.1notifyDataAvailable(data : AvailableData, lastData : boolean) : boolean ===<br />
The source of the data calls this method with descriptions of the available data that it can provide to the recipient. If the source of the data expects that additional data will become available, it shall pass FALSE in the lastData parameter. Otherwise, it shall pass TRUE in the lastData parameter, and shall not make any further calls to notifyDataAvailable until after it has transitioned through the IDLE state once more. <br />
<br />
The source of the data shall be able to provide the data in the form identified in the AvailableData structure. <br />
<br />
A Hosting System uses this method to inform a Hosted Application of input data that the Hosted Application should work with. A Hosted Application uses this method to inform the Hosting System of outputs produced by the Hosted Application.<br />
<br />
This method returns TRUE if the recipient of the data successfully received the AvailableData list. Otherwise this method returns FALSE. <br />
<br />
Note:A Hosted Application that is recipient of this call, but that was unsuccessful in receiving the AvailableData list might report a reason for the failure in a notifyStatus method call.<br />
<br />
The source of the data shall not include in AvailableData any references to data that were sent in a previous successful notifyDataAvailable call (i.e., one where the method call returned TRUE).<br />
<br />
A Hosted Application shall not transition into the COMPLETED state if it has received or sent a notifyDataAvailable() call with a lastData indicator of FALSE. <br />
<br />
The source of the data may call notifyDataAvailable() with an empty data list.<br />
<br />
Notes:Calling notifyDataAvailable() with an empty list is useful for setting the lastData indicator to TRUE.<br />
<br />
This method shall only be called if the Hosted Application is at the INPROGRESS state.<br />
<br />
=== 8.3.2getData(objectUUIDs : ArrayOfUUID, acceptableTransferSyntaxUIDs : ArrayOfUID, includeBulkData : boolean) : ArrayOfObjectLocator ===<br />
The recipient of data invokes this method to gain access to binary data provided by the source of the data. The source of the data provides a URI that the recipient may open as a byte stream to retrieve the data. <br />
<br />
Note:The provider of the data may delay the actual preparation of binary data until the recipient actually requests it.<br />
<br />
The objectUUIDs array provides the UUIDs of the binary data that the source wishes to retrieve. Each of the UUIDs in that array are drawn either from the ObjectDescriptors provided in the AvailableData structure received by the recipient in one or more notifyDataAvailable() method calls, or from bulk data pointers in models accessed by the recipient. <br />
<br />
If the UUID came from an ObjectDescriptor, the source returns ObjectLocators of the binary objects using the MIME content type and class UID listed in the ObjectDescriptor within the AvailableData structure associated with each UUID. If the UUID came from a Data Exchange Model, then the source returns the binary bulk data described within the model.<br />
<br />
The recipient lists the desired Transfer Syntax for the bulk data via the acceptableTransferSyntaxUIDs parameter. The recipient shall list in order of preference in the acceptableTransferSyntaxUIDs parameter the UIDs of the Transfer Syntaxes that it will accept for the data represented by objectUUIDs. The provider of the data shall select and use the first transfer syntax in the list that it supports. For DICOM data, the provider of data shall as a minimum support the Explicit VR Little Endian transfer syntax. The acceptableTransferSyntaxUIDs may be empty for those MIME content types where Transfer Syntax has no meaning. <br />
<br />
When retrieving binary data identified by a UUID from an ObjectDescriptor, if the recipient sets the includeBulkData flag to TRUE, then the source shall supply the bulk data within the data stream. Otherwise, the source may, but is not required to, omit bulk data such as pixel data.<br />
<br />
Note:The includeBulkData flag is useful, for example, when the recipient wishes to work with the description of the pixel data in binary DICOM form, in order to decide whether or not to retrieve the pixel data itself.<br />
<br />
The method returns one ObjectLocator for each UUID passed into the method within the objectUUIDs array. The ObjectLocator describes a file where the recipient can read in the data referred to by that particular object’s UUID. <br />
<br />
When the recipient is finished with data referred to by an ObjectLocator URI, it may call the releaseData() method to free up the resources being consumed to provide those URIs. Any data references not explicitly released by the recipient of the data are released implicitly when the Hosted Application enters the IDLE state.<br />
<br />
The recipient may call getData() multiple times for data referenced by a given ObjectDescriptor or bulk data UUID. Each call to getData() shall be matched by either an explicit or implicit call to releaseData().<br />
<br />
This method shall only be called if the Hosted Application is at the INPROGRESS or COMPLETED states. A Hosting System may also call this method when the Hosted Application is in the SUSPENDED state.<br />
<br />
=== 8.3.3getAsModels(objectUUIDs : ArrayOfUUID, classUID : UID, supportedInfosetTypes : ArrayOfMimeType) : ModelSetDescriptor ===<br />
The recipient of data invokes this method to ask that the source of the data provide the data referenced by objectUUIDs array as models of the type referenced by classUID. The objectUUIDs are drawn from the ObjectDescriptors passed to the recipient of the data in one or more notifyDataAvailable() calls.<br />
<br />
The recipient of the data shall list in supportedInfosetTypes in order of preference the MIME types that the recipient can process as Infosets. Recipients of data shall support the “text\xml” MIME type, which shall always be included in the supportedInfosetTypes array. The provider of data shall select the first entry in that array that it supports.<br />
<br />
The ModelSetDescriptor returned by this method contains the UUIDs of the models provided by the source, as well as the UUIDs of data objects referred to by the objectUUIDs array that could not be represented in the requested model.<br />
<br />
The recipient may call getAsModels() multiple times for data referenced by a given UUID. Each successful call returns a different model UUID.<br />
<br />
When the recipient is finished with a set of models, it may call the releaseModels() method to free up the resources being consumed to provide those models. Any models not explicitly released by the recipient of the data are released implicitly when the Hosted Application enters the IDLE state.<br />
<br />
This method shall only be called if the Hosted Application is at the INPROGRESS or COMPLETED states. A Hosting System may also call this method when the Hosted Application is in the SUSPENDED state.<br />
<br />
=== 8.3.4queryModel(models : ArrayOfUUID, xpaths : ArrayOfString) : ArrayOfQueryResult ===<br />
The recipient of data invokes this method to request that the source of the data return the subset of data referred to in each of the XPath query strings passed in the xpath parameter from each of the models identified by the UUIDs passed in the model array. Each of the XPath query strings is applied to each of the models referred to in the model array. <br />
<br />
The UUIDs passed in the model array shall be chosen from those returned by one or more getAsModels() method calls. <br />
<br />
The results of the query are returned by the method as XML Infosets, encoded in XML returned as a string. Each result from a particular model UUID is returned as a QueryResult element in the returned array for each xpath string. In other words, the number of QueryResults returned is the number of UUIDs in the model array times the number of XPath queries strings in the xpath array.<br />
<br />
Note:This method is principally used when the infoset type is “text\xml”.<br />
<br />
This method shall only be called if the Hosted Application is at the INPROGRESS or COMPLETED states. A Hosting System may also call this method when the Hosted Application is in the SUSPENDED state.<br />
<br />
=== 8.3.5queryInfoset(models : ArrayOfUUID, xpaths : ArrayOfString) : ArrayOfQueryResultInfoset ===<br />
The recipient of data invokes this method to request that the source of the data return the subset of data referred to in each of the XPath query strings passed in the xpath parameter from each of the models identified by the UUIDs passed in the model array. Each of the XPath query strings is applied to each of the models referred to in the model array. <br />
<br />
The UUIDs passed in the model array shall be chosen from those returned by one or more getAsModels() method calls. <br />
<br />
The results of the query are returned by the method as XML Infosets, encoded in XML, returned as a byte array encoded in the form negotiated during the getAsModel() call.. Each result from a particular model UUID is returned as a QueryResultInfoset element in the returned array for each xpath string. In other words, the number of QueryResultInfoset structures returned is the number of UUIDs in the model array times the number of XPath queries strings in the xpath array.<br />
<br />
Note:This method is principally used when the infoset type is not string based, for example a “application\fastinfoset”. If called on a model using the “text\xml” infoset type, a conversion from a byte array to a string would be needed.<br />
<br />
This method shall only be called if the Hosted Application is at the INPROGRESS or COMPLETED states. A Hosting System may also call this method when the Hosted Application is in the SUSPENDED state.<br />
<br />
=== 8.3.6releaseData(objectUUIDs : ArrayOfUUID): void ===<br />
The recipient of data invokes this method to release access to binary data provided by the source of the data through a getData() call. The ArrayOfUUID identifies the data streams that the recipient is releasing. The UUIDs in this array shall be drawn from the locator fields in ObjectLocators returned by calls to getData().<br />
<br />
=== 8.3.7releaseModels(objectUUIDs : ArrayOfUUID): void ===<br />
The recipient of data invokes this method to release access to models provided by the source of the data. The ArrayOfUUID identifies the models that the recipient is releasing. The UUIDs in this array shall be drawn from the models fields in ModelSetDescriptors returned by calls to getAsModels().<br />
<br />
= 9 Data Types and Structures =<br />
== 9.1ArrayOf[Type] ==<br />
A wrapper object representing the encapsulation of an array of a specific type. Used in parameters to and return values from API functions to enable cross-platform compatibility. The wrapper contains a single field, which is an array of the type being stored. The field name is the Type name with the first letter in lowercase instead of uppercase.<br />
<br />
Note:This construct was needed to support Microsoft® .NET language bindings even though it looks ugly in Java.<br />
<br />
== 9.2AvailableData ==<br />
A data structure that communicates what data is available to the recipient. The data is organized in a hierarchical fashion, communicating patients, studies, series, and finally ObjectDescriptors which identify available data objects. The fields in the data structure are:<br />
<br />
* <nowiki>ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures listing data which either applies to multiple patients, or does not fit into the patient / study / series hierarchy.</nowiki><br />
* <nowiki>Patients : Patient[] – An array of Patient data structures.</nowiki><br />
<br />
=== 9.2.1ObjectDescriptor ===<br />
A data structure with the following fields:<br />
<br />
* DescriptorUUID : UUID – the UUID that the interface utilizes to track this particular data object.<br />
* MimeType : MimeType – the MIME content type of this particular data object, in its most natural form available from the source. The most natural form is typically the form in which the source maintains the data in its database, for example a DICOM file.<br />
* ClassUID : UID – the UID that represents the class of this data object in the form described by mimeType. For objects whose mimeType refers to a data exchange model such as those defined in Annex A, this is the UID of that model. For objects whose mimeType is application:dicom, this is the SOP Class UID of the DICOM object. This may be empty for those objects whose MIME content types have no additional classes.<br />
* TransferSyntaxUID : UID – the UID that represents the Transfer Syntax of this data object in the form described by mimeType. This may be empty for those objects of a MIME content type where Transfer Syntax has no meaning.<br />
* Modality : String – the modality that best represents where this data originated from. Standard values are drawn from the Defined Terms listed for the Modality (0008,0060) Attribute in the PS3.3 General Series Module (section C.7.3.1.1.1).<br />
<br />
=== 9.2.2Patient ===<br />
A data structure that communicates data for a particular patient. The fields in the data structure are:<br />
<br />
* Name : String – The name of the patient, formatted as described for the PN VR in PS3.5.. For DICOM SOP Instances this is the value of the Patient’s Name (0010,0010) Attribute.<br />
* ID : String – A string used as the identifier for a particular patient, formatted as described for the LO VR in PS3.5. For DICOM SOP Instances this is the value of the Patient ID (0010,0020) Attribute.<br />
* AssigningAuthority : String – The organization who assigned the id to the patient, formatted as described for the LO VR in PS3.5. For DICOM SOP Instances this is the value of the Issuer of Patient ID (0010,0021) Attribute.<br />
* Sex : String – The sex of the patient. For DICOM SOP Instances this is the value of the Patient’s Sex (0010,0040) Attribute. In all other cases it shall take on the values permissible for the DICOM Sex (0010,0040) Attribute.<br />
* BirthDate: String The birth date of the patient, formatted as described for the DA VR in PS3.5. For DICOM SOP Instances this is the value of the Patient’s Birth Date (0010,0030) Attribute.<br />
* <nowiki>ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures listing data which applies to this patient, but which do not apply to any particular study of this patient.</nowiki><br />
* <nowiki>Studies : Study[] – An array of Study data structures.</nowiki><br />
<br />
At least one of objectDescriptors or studies shall be present.<br />
<br />
=== 9.2.3Study ===<br />
A data structure that communicates data for a particular study. The fields in the data structure are:<br />
<br />
* StudyUID : UID – The UID of the study. For DICOM SOP Instances this is the value of the Study Instance UID (0020,000D) Attribute.<br />
* <nowiki>ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures listing data which applies to this study (within the enclosing patient), but which do not apply to any particular series within this study.</nowiki><br />
* <nowiki>Series : Series[] – An array of Series data structures.</nowiki><br />
<br />
=== 9.2.4Series ===<br />
A data structure that communicates data for a particular series. The fields in the data structure are:<br />
<br />
* SeriesUID : UID – The UID of the series. For DICOM SOP Instances this is the value of the Series Instance UID (0020,000E) Attribute.<br />
* ObjectDescriptors : ObjectDescriptor – An array of ObjectDescriptor data structures listing data existing in this series (within the enclosing Study, within the enclosing Patient).<br />
<br />
Note:Most DICOM Composite SOP Instances would be identified by objectDescriptors at the Series level.<br />
<br />
== 9.3MimeType ==<br />
A data type whose values are Defined Terms that identify particular MIME content types. The syntax of the string defining a MIME content type is defined in IETF RFC 2045. Top level MIME content types are defined in IETF RFC 2046. MIME content types are drawn from the list managed by the Internet Assigned Numbers Authority (IANA) whose web site is at [http://www.iana.org/assignments/media-types/ http://www.iana.org/assignments/media-types/], as described in IETF RFC 2048. <br />
<br />
== 9.4ModelSetDescriptor ==<br />
A data structure returned from the getAsModels() method with the following fields:<br />
<br />
* InfosetType : MimeType – the MIME type of the infoset, selected by the source of the data from the list passed to it by the recipient in a getAsModels() call.<br />
* <nowiki>Models : UUID[] – an array of UUIDs referring to models that have been created from the set of data objects referred to by the array of UUIDs passed into the getAsModels() call.</nowiki><br />
* <nowiki>FailedSourceObjects : UUID[] – an array of UUIDs designating data objects referred to the array of UUIDs passed into the getAsModels() call that could not be represented in the requested model class.</nowiki><br />
<br />
Note:For example, if the array of UUIDs passed into the getAsModels() call includes 100 CT slices from the same frame of reference (i.e., a volume stack), plus 1 GSPS object, and if the caller requested an Abstract Multi-Dimensional Image model, then the ModelSetDescriptor returned by GetAsModels() would include one UUID in the models array, identifying the CT volume image data created from the 100 CT slices, and one UUID in the failedSourceObjects array, specifying the UUID for the GSPS object.<br />
<br />
== 9.5ObjectLocator ==<br />
A data structure that represents the location from which the recipient of a data object can retrieve that object. It consists of the following fields:<br />
<br />
* Locator : UUID – the UUID that the interface utilizes to track this particular ObjectLocator.<br />
* Source : UUID – the UUID of the source that is supplying data for this ObjectLocator. This UUID matches the UUID in the ObjectDescriptor if trying to retrieve the data in its natural form (e.g., as a file or byte stream). This UUID matches the UUID in a bulk data pointer when retrieving bulk data from a model.<br />
<br />
* TransferSyntax : UID – the transfer syntax in which this data is encoded, selected by source of the data from the list passed in by the recipient of the data in the acceptableTransferSyntaxUIDs parameter of the getData() call. This may be empty for those objects of a MIME content type where Transfer Syntax has no meaning.<br />
* Length: long – the length of the data object referred to by the UUID.<br />
* Offset: long – the offset within the file or byte stream where the data object begins.<br />
* URI: URI – the URI that identifies the resource from which the recipient might retrieve the data object, typically but not limited to a file on the local file system. The recipient shall be able to access the data within the object using file IO or memory mapping.<br />
<br />
== 9.6QueryResult ==<br />
A data structure that holds the results from an XPath query of a model. It consists of the following fields:<br />
<br />
* Model : UUID – the UUID of the model from which this result came.<br />
* XPath : String – the XPath query string that led to this result.<br />
* <nowiki>Results : XPathNode[] – an array of XPathNodes holding the query results.</nowiki><br />
<br />
== 9.7QueryResultInfoset ==<br />
A data structure that holds the results from an XPath query of a model. It consists of the following fields:<br />
<br />
* Model : UUID – the UUID of the model from which this result came.<br />
* XPath : String – the XPath query string that led to this result.<br />
* <nowiki>Results : XPathNodeInfoset[] – an array of XPathNodeInfoset structures holding the query results.</nowiki><br />
<br />
== 9.8Rectangle ==<br />
A data structure that defines a rectangular region on a display screen. The fields in the data structure are:<br />
<br />
* RefPointX : int<br />
* RefPointY : int<br />
<br />
that define the location of the top left corner of the region in screen coordinates, and<br />
<br />
* Width : int<br />
* Height : int<br />
<br />
that specify the extents of the region. Screen coordinates are defined starting from an origin of 0,0 in the upper left corner of the screen, and extend in the positive direction down and to the right.<br />
<br />
== 9.9State ==<br />
State is an enumerated data type with the following values:<br />
<br />
* IDLE<br />
* INPROGRESS<br />
* COMPLETED<br />
* SUSPENDED<br />
* CANCELED<br />
* EXIT<br />
<br />
The interpretation of these enumerated values is defined in section 7.2 States.<br />
<br />
== 9.10Status ==<br />
A data structure with the following fields:<br />
<br />
* StatusType : StatusType – the severity level of this status message. <br />
* CodingSchemeDesignator : String – the coding scheme in which the codeValues are defined. The use of codeValue shall be consistent with the use of the DICOM Code Value (0008,0100) Attribute as specified in PS3.3.<br />
* CodeValue : String – the particular code value within the designated coding scheme that represents the nature of this status message. The use of message shall be consistent with the use of the DICOM Code Meaning (0008,0104) Attribute as specified in PS3.3.<br />
* CodeMeaning : String – a displayable string for the code value. The use of message shall be consistent with the use of the DICOM Code Meaning (0008,0104) Attribute as specified in PS3.3.<br />
* Any other field from the Coded Terminology macro defined in Section 10.1.<br />
<br />
=== 9.10.1StatusType ===<br />
An enumerated data type with the following values and definitions:<br />
<br />
* INFORMATION – the status is for informational purposes only.<br />
* WARNING – indicates a condition that might impact the speed or quality of the work done by the Hosted Application, but that does not prevent the Hosted Application from completing its task.<br />
* ERROR – indicates a condition that might prevent the Hosted Application from correctly completing its task. The Hosted Application will attempt to continue.<br />
* FATALERROR – indicates a condition that prevents the Hosted Application from completing its task. The Hosted Application will not attempt to continue, and will transition automatically to the CANCELED state.<br />
<br />
== 9.11UID ==<br />
A string of period-separated digits representing a Unique Identifier (see PS3.5), formatted as described for the UI VR in PS3.5.<br />
<br />
== 9.12UUID ==<br />
A string representing a Universally Unique Identifier as defined in ITU-T Recommendation X.667, using the hexadecimal representation form.<br />
<br />
== 9.13XPathNode ==<br />
A data structure with the following fields, which represents the output from an XPath query of a model, returned in a string-based representation.<br />
<br />
* NodeType : XPathNodeType<br />
* Value : String<br />
<br />
== 9.14XPathNodeInfoset ==<br />
A data structure with the following fields, which represents the output from an XPath query of a model returned in a byte array representation.<br />
<br />
* NodeType : XPathNodeType<br />
* <nowiki>InfosetValue : byte[] </nowiki><br />
<br />
== 9.15XPathNodeType ==<br />
An enumeration of the types of results that may come back from an XPath query.<br />
<br />
Note:This enumeration is compatible with a similar enumeration utilized in the Microsoft .NET framework.<br />
<br />
* Root – the result is the top level node of the XML Infoset (i.e., the result is the entire XML Infoset).<br />
* Element – the result is an XML Element within the XML Infoset (i.e., the result is a subset of the XML Infoset).<br />
* Attribute – the result is an XML Attribute of an XML Element within the XML Infoset.<br />
* Text – the result is the textual content of an XML Element within the XML Infoset. Equivalent to the Document Object Model (DOM) Text and CDATA node types. Contains at least one character.<br />
* SignificantWhitespace – the result is the content of an XML Element within the XML Infoset, where the content consists only of significant whitespace (e.g., xml:space was set to preserve). White space code points are SPACE (U0020), TAB (U0009), CARRIAGE RETURN (U000D), or LINE FEED (U000A) of ISO 10646 (Unicode).<br />
* Whitespace – the result is the content of an XML Element within the XML Infoset, where the content consists only of whitespace. White space code points are SPACE (U0020), TAB (U0009), CARRIAGE RETURN (U000D), or LINE FEED (U000A) of ISO 10646 (Unicode).<br />
* Comment – the result is a comment within the XML Infoset.<br />
* Namespace – the result is a namespace directive within the XML Infoset.<br />
* ProcessingInstruction – the result is a processing instruction within the XML Infoset.<br />
* All – the result may contain any of the types defined in XPathNodeType.<br />
<br />
= 10Data Exchange Model Conventions =<br />
Models that can be used by the model-based DataExchange interface methods are defined in Annex A. These models are defined in the form of XML Schemas written in Relax NG Compact form of DSDL as specified by ISO/IEC 19757. <br />
<br />
Note:An implementer may translate the Relax NG Compact form to other forms for use within their implementation as long as the exchanged XML Infosets will validate against the schema specified by the standard. For example, a particular implementation may internally utilize a schema with stronger validation rules (e.g. using Schematron rules as specified in ISO/IEC 19757, or using XSDL with assertion rules) as long as the XML produced for exchange over the interface can be parsed with the schema specified in the standard, and that XML from well-formed DICOM objects produced by the schema specified in the standard can still be utilized by the implementation's internal schema.<br />
<br />
Actual instances of the models are XML Infosets. Annex A follows the following conventions in describing models.<br />
<br />
Notes:1. The models are defined via XML schemas to allow the use of commonly available tools to manipulate and navigate the model. For example, an XPath statement can be used to identify portions of interest within the model such as a particular DICOM Attribute and extract it.<br />
<br />
2. Some implementations may parse directly from the incoming object, which may not be in XML form, into an internal representation, such as the domain object model (DOM) without ever having converted the object to XML.<br />
<br />
Within each model description is a table of XML Elements and XML Attributes used to describe an XML Infoset of that model. These tables utilize the following conventions:<br />
<br />
XML Element names (listed in the first column) are in CamelCase, with the first letter capitalized.<br />
<br />
XML Attribute names (listed in the first column) are in camelCase with the first letter in lower case.<br />
<br />
XML Element and XML Attribute names with a set of “>” characters in front of them are nested within the first preceding XML Element with one fewer “>” characters in front of its name. A nested XML Attribute is associated with the immediately enclosing XML Element.<br />
<br />
The entries in the “Optionality” column have the following interpretations:<br />
<br />
“R” indicates that the XML Element or XML Attribute is required in all models.<br />
<br />
“C” indicates that the XML Element or XML Attribute is required in all models if the condition stated in the Description is met.<br />
<br />
“O” indicates that the XML Element or XML Attribute is optional.<br />
<br />
If the XML Element or XML Attribute is nested inside another XML Element, and that enclosing XML Element is not present (i.e. it is defined with an Optionality of “O” and is not present in the XML Infoset, or it is defined with an Optionality of “RC” and is not included in the XML Infoset because the condition was not met), then the nested XML Element or XML Attribute shall not be present in the XML Infoset irrespective of its optionality.<br />
<br />
The entries in the “Cardinality” column have the following interpretations:<br />
<br />
“A” indicates that this is represented as an XML Attribute instead of an XML Element, hence has a cardinality of 1 by definition.<br />
<br />
“1” indicates that only a single instance of this XML Element is included inside the immediately enclosing XML Element, or at the top level if this XML Element is not nested inside another XML Element.<br />
<br />
“0-n” indicates that zero to n instances of this XML Element are included inside the immediately enclosing XML Element, or at the top level if this XML Element is not nested inside another XML Element.<br />
<br />
“1-n” indicates that one to n instances of this XML Element are included inside the immediately enclosing XML Element, or at the top level if this XML Element is not nested inside another XML Element.<br />
<br />
Sets of XML Elements and XML Attributes that are often repeated within models may be defined as macros. Macros that may have general applicability are defined in this section. Macros that are unique to a particular model may be defined in the Annex specific that model. When a macro is included within a table, it is as if the contents of the Macro’s table were inserted within the table referencing the macro. Any set of “>” characters in front of the directive to include a Macro in the table are prepended to the XML Element and XML Attribute names listed in the Macro’s table.<br />
<br />
<br />
== 10.1Coded Terminology ==<br />
Models may make use of coded terminology. The representation of coded terminology in DICOM is described in PS3.3. Specific terminology of interest, organized in Context Groups in PS3.16, can be referenced using the following macro.<br />
<br />
<center>'''Table 10.1-1 Coded Terminology Macro'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Name'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Optionality'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Cardinality'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| colspan="4" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''BASIC CODED ENTRY ATTRIBUTES''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CodeValue<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The particular code value identifying the referenced term or concept. See PS3.3 Section 8.1.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CodingSchemeDesignator<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Designates the coding scheme in which the codeValue is defined. See PS3.3 Section 8.2.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CodingSchemeVersion<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| See PS3.3 Section 8.2. Required if the codingSchemeDesignator is not sufficient to identify the codeValue.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CodeMeaning<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A brief human readable description of what the coded value means. See PS3.3 Section 8.3.<br />
<br />
|-<br />
| colspan="4" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''ENHANCED ENCODING MODE''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ContextIdentifier<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Identifies a Context Group defined within a Mapping Resource from which the values of codeValue and codeMeaning were selected or have been added as a Private Context Group extension See PS3.3 Sections 8.6 and 8.7.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| MappingResource<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| See PS3.3 Section 8.4. Required if the contextIdentifier XML Attribute is present.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ContextGroupVersion<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| See PS3.3 Section 8.5. Required if the contextIdentifier XML Attribute is present.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ContextGroupExtensionFlag<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Indicates whether the codeValue/codingScheme/codeMeaning is selected from a private extension of the Context Group identified in the contextIdentifier XML Attribute. (See PS3.3 Section 8.7. <br />
<br />
Enumerated Values: “Y”, ”N”.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ContextGroupLocalVersion<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| See PS3.3 Section 8.7.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ContextGroupExtensionCreatorUID<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Identifies the person or organization who created an extension to the Context Group. See PS3.3 Section 8.7.<br />
<br />
Required if the value of contextGroupExtensionFlag is "Y".<br />
<br />
|}<br />
== 10.2Person Name Components ==<br />
The Person Name Components follow the definitions given in PS3.5 of the DICOM Standard. The PS3.5 description of the usage of Person Name Components also applies to this macro.<br />
<br />
<center>'''Table 10.2-1 Person Name Components Macro'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Name'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Optionality'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Cardinality'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| FamilyName<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The person’s family or last name. See the description of the PN VR in DICOM PS3.5.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| GivenName<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The person’s given or first names. See the description of the PN VR in DICOM PS3.5.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| MiddleName<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The person’s middle names. See the description of the PN VR in DICOM PS3.5.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| NamePrefix<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The person’s name prefix. See the description of the PN VR in DICOM PS3.5.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| NameSuffix<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The person’s name suffix. See the description of the PN VR in DICOM PS3.5.<br />
<br />
|}<br />
= Annex A Data Exchange Models =<br />
== A.1Native DICOM Model ==<br />
=== A.1.1Usage ===<br />
The Native DICOM Model defines a representation of binary-encoded DICOM SOP Instances as XML Infosets that allows a recipient of data to navigate through a binary DICOM data set using XML-based tools instead of relying on toolkits that understand the binary encoding of DICOM. <br />
<br />
Note:It is not the intention that this form be utilized as the basis for other uses. This form does not take advantage of the self-validation features that could be possible with a pure XML representation of the data.<br />
<br />
With the exception of padding, a data source that is creating a new instance of a native DICOM Model (e.g. the result from some analysis application) shall follow the DICOM encoding rules (e.g. the handling of character sets) in creating Values for the DicomAttributes within the instance of the DICOM Native Model.<br />
<br />
A data recipient that converts data from an instance of the Native DICOM Model back into a binary encoded DICOM object shall adjust the padding as necessary to meet the encoding rules specified in DICOM PS3.5.<br />
<br />
=== A.1.2Identification ===<br />
The ObjectDescriptors MIME content type for the Native DICOM Model shall be “application/x-dicom.native”.<br />
<br />
The ObjectDescriptors class UID for the Native DICOM Model shall be “1.2.840.10008.7.1.1”.<br />
<br />
=== A.1.3Support ===<br />
Support of the Native DICOM Model as both a data source and a data recipient shall be required of all Hosting Systems implementing the interface.<br />
<br />
Support of the Native DICOM Model as either a data source or a data recipient shall be optional for all Hosted Applications implementing the interface. <br />
<br />
=== A.1.4Information Model ===<br />
A diagram of the Native DICOM Model appears in Figure A.1.4-1.<br />
<br />
[[Image:]]<br />
<br />
<center>'''Figure A.1.4-1 Native DICOM Model'''</center><br />
<br />
=== A.1.5Description ===<br />
<center>'''Table A.1.5-1 Native DICOM Model'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Name'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Optionality'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Cardinality'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| NativeDicomModel<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| An Infoset (as defined in W3C Recommendation XML Information Set “http://www.w3.org/TR/xml-infoset/”) representing the content of a DICOM Data Set (as defined in PS3.5), which may be either:<br />
<br />
- the contents of an entire DICOM Composite Instance (as defined in PS3.3) in response to a native model request, or<br />
<br />
- the contents of part of a DICOM Composite Instance in response to a query on a native model, or<br />
<br />
- the contents of a Sequence Item (as defined in PS3.5), recursively included within an Infoset Value element.<br />
<br />
The directive xml:space=”preserve” shall be included.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''Include ‘DICOM DataSet Macro’ Table A.1.5-2''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|}<br />
<center>'''Table A.1.5-2 DICOM Data Set Macro'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Name'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Optionality'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Cardinality'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| DicomAttribute<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| An Infoset element corresponding to each DICOM Attribute.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >keyword<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The keyword as defined in PS3.6.<br />
<br />
Required unless the DICOM Data Element is unknown to the host.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >tag<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The four-digit zero-padded hexadecimal values of the Group and Element Numbers of the Data Element Tag, concatenated as a single string without a delimiter. E.g., Data Element (0010,0020) would have a tag of “00100020”.<br />
<br />
For Private Data Elements, the two most significant hexadecimal characters of the Element Number shall be 00, since the Private Creator is explicitly conveyed and the block used in the DICOM encoding shall not be sent (i.e., a Private Data Element has the form gggg00ee).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >vr<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Value Representation of this element, represented as a two character uppercase string, as defined in PS3.5 and specified for this Data Element in PS3.6. <br />
<br />
Note:Implementations may utilize the Value Representation to validate data values, if desired.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >privateCreator<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The value of the Private Creator Data Element corresponding to the block in which this Private Data Element is used.<br />
<br />
Required for Private Data Elements. Shall not be present otherwise (i.e., for Data Elements defined by the DICOM Standard).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >Value<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A Value from the Value Field of the DICOM Data Element. There is one Infoset Value element for each DICOM Value or Sequence Item.<br />
<br />
Required if the DICOM Data Element represented is not zero length and an Item, PersonName, or BulkData XML element is not present. Shall not be used if the VR of the enclosing Attribute is either SQ or PN. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>number<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The order in which the Value occurs within the DICOM Value Field, as a number monotonically increasing starting from 1 by 1.<br />
<br />
Note:The Number XML Attribute is used to preserve the original order.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>''plain character data''<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A single DICOM value encoded as plain character data.<br />
<br />
E.g., a DICOM Decimal String Value Field that contained two delimiter-separated values, e.g., “0.5\0.4” would be encoded as two Infoset Value elements: <nowiki><Value number="1">0.5</Value> </nowiki> <nowiki><Value number="2">0.4</Value></nowiki>A Code String Value Field that containing three delimiter-separated values, the second of which was zero length, “MPG\\XR3”, would be encoded as: <nowiki><Value number="1”>MPG</Value> </nowiki> <nowiki><Value number=”2”></Value> </nowiki> <nowiki><Value number=”3”>XR3</Value></nowiki>Contrast the latter example with a zero length Value Field, in which case there would be no Infoset Value elements at all.<br />
<br />
The character encoding is that declared for the Infoset, regardless of any DICOM Specific Character Set, and any necessary translation from the DICOM Specific Character Set to the Infoset character encoding shall have been performed.<br />
<br />
Note:This translation might not be completely lossless, particularly with Asian character sets.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >Item<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A DICOM sequence item, in other words a nested DICOM Data Set.<br />
<br />
Required if the DICOM Data Element represented is a Sequence (has a VR of “SQ”) and is not zero length. Not allowed otherwise.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>number<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The order in which the Item occurs within a Sequence of Items, as a number monotonically increasing from 1 by 1.<br />
<br />
Note:The Number XML Attribute is used to preserve the original order.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>''Include Include ‘DICOM Data Set Macro’ Table A.1.5-2''<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Recursively includes the Data Set corresponding to a Sequence Item.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >PersonName<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A parsed representation in XML of a DICOM Data Element containing a name (i.e., whose VR is PN). <br />
<br />
Note:Parsing Attributes with a VR of PN into an XML representation of the name groups and components simplifies the creation of XPath statements to pull only portions of names out of the DICOM data.<br />
<br />
Required if the DICOM Data Element represented has a VR of PN and is not zero length. Not allowed otherwise.<br />
<br />
The rules defined in DICOM PS3.5 on the usage of the Alphabetic, Ideographic, and Phonetic groups of name components within a DICOM Attribute with a Value Representation of PN apply.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>number<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The order in which the PersonName occurs within the DICOM Value Field, as a number monotonically increasing from 1 by 1.<br />
<br />
Note:The Number XML Attribute is used to preserve the original order.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Alphabetic<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A group of name components that are represented in alphabetical characters. (See the definition for the Value Representation of PN in DICOM PS3.5.)<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Person Name Component Macro’ Table 10.2-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Ideographic<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A group of name components that are represented in ideographic characters. (See the definition for the Value Representation of PN in DICOM PS3.5.)<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Person Name Component Macro’ Table 10.2-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Phonetic<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A group of name components that are represented in phonetic characters. (See the definition for the Value Representation of PN in DICOM PS3.5.)<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Person Name Component Macro’ Table 10.2-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >BulkData<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A reference to a blob of data that the recipient may retrieve through use of the GetData() method. <br />
<br />
Required if the DICOM Data Element represented is not zero length and an XML Infoset Value, Item, or PersonName element is not present.<br />
<br />
The provider of the data may use a BulkData reference at its discretion to avoid encoding a large DICOM Value Field as text by value in the Infoset. For example, a provider may include large binary values such as pixel data or look up tables, which typically would be located in a file, as BulkData references.<br />
<br />
Note that there is a single BulkData Infoset element representing the entire Value Field, and not one per Value in the case where the Value Multiplicity is greater than one. E.g., a LUT with 4096 16 bit entries that may be encoded in DICOM with a Value Representation of OW, with a VL of 8192 and a VM of 1, or a US VR with a VL of 8192 and a VM of 4096 would both be represented as a single BulkData element.<br />
<br />
All rules (e.g. byte ordering and swapping) in DICOM PS3.5 apply. <br />
<br />
Note:Implementers should in particular pay attention the PS3.5 rules regarding the value representations of OW and OF.<br />
<br />
If the BulkData has a string or text Value Representation, the value(s) of the DICOM Specific Character Set Data Element, if present, might be necessary to determine its encoding.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>UUID<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| An identifier of this bulk data reference formatted as a UUID using the hexadecimal representation defined in ITU-T Recommendation X.667,..<br />
<br />
|}<br />
=== A.1.6Schema ===<br />
The Normative version of the XML Schema for the Native DICOM Model follows:<br />
<br />
default namespace="http://dicom.nema.org/PS3.19/models/NativeDICOM"<br />
<br />
<br />
<nowiki># This schema was created as an intermediary, a means of describing</nowiki><br />
<br />
<nowiki># native binary encoded DICOM objects as XML Infosets, thus allowing </nowiki><br />
<br />
<nowiki># one to manipulate binary DICOM objects using familiar XML tools. </nowiki><br />
<br />
<nowiki># As such, the schema is designed to facilitate a simple, mechanical,</nowiki><br />
<br />
<nowiki># bi-directional translation between binary encoded DICOM and XML-like </nowiki><br />
<br />
<nowiki># constructs without constraints, and to simplify identifying portions </nowiki><br />
<br />
<nowiki># of a DICOM object using XPath statements.</nowiki><br />
<br />
<nowiki>#</nowiki><br />
<br />
<nowiki># Since this schema has minimal type checking, it is neither intended </nowiki><br />
<br />
<nowiki># to be used for any operation that involves hand coding, nor to </nowiki><br />
<br />
<nowiki># describe a definitive, fully validating encoding of DICOM concepts</nowiki><br />
<br />
<nowiki># into XML, as what one might use, for example, in a robust XML </nowiki><br />
<br />
<nowiki># database system or in XML-based forms, though it may be used</nowiki><br />
<br />
<nowiki># as a means for translating binary DICOM Objects into such a form</nowiki><br />
<br />
<nowiki># (e.g. through an XSLT script).</nowiki><br />
<br />
<br />
start = element NativeDicomModel { DicomDataSet }<br />
<br />
<br />
<nowiki># A DICOM Data Set is as defined in PS3.5. </nowiki>It does not appear <br />
<br />
<nowiki># as an XML Element, since it does not appear in the binary encoded </nowiki><br />
<br />
<nowiki># DICOM objects. </nowiki>It exists here merely as a documentation aid. <br />
<br />
DicomDataSet = DicomAttribute*<br />
<br />
<br />
DicomAttribute = element DicomAttribute {<br />
<br />
Tag, VR, Keyword?, PrivateCreator?, <br />
<br />
( BulkData | Value+ | Item+ | PersonName+ )? <br />
<br />
} <br />
<br />
BulkData = element BulkData{ UUID } <br />
<br />
Value = element Value { Number, xsd:string }<br />
<br />
Item = element Item { Number, DicomDataSet }<br />
<br />
PersonName = element PersonName {<br />
<br />
Number,<br />
<br />
element SingleByte { NameComponents }?,<br />
<br />
element Ideographic { NameComponents }?,<br />
<br />
element Phonetic { NameComponents }?<br />
<br />
}<br />
<br />
<br />
NameComponents =<br />
<br />
element FamilyName {xsd:string}?,<br />
<br />
element GivenName {xsd:string}?,<br />
<br />
element MiddleName {xsd:string}?,<br />
<br />
element NamePrefix {xsd:string}?,<br />
<br />
element NameSuffix {xsd:string}?<br />
<br />
<br />
<nowiki># keyword is the attribute tag from PS3.6 </nowiki><br />
<br />
<nowiki># (derived from the DICOM Attribute's name)</nowiki><br />
<br />
Keyword = attribute keyword { xsd:token }<br />
<br />
<nowiki># canonical XML definition of Hex, with lowercase letters disallowed</nowiki><br />
<br />
<nowiki>Tag = attribute tag { xsd:string{ minLength="8" maxLength="8" pattern="[0-9A-F]{8}" } } </nowiki><br />
<br />
VR = attribute vr { "AE" | "AS" | "AT"| "CS" | "DA" | "DS" | "DT" | "FL" | "FD" <br />
<br />
| "IS" | "LO" | "LT" | "OB" | "OF" | "OW" | "PN" | "SH" | "SL" <br />
<br />
| "SQ" | "SS" | "ST" | "TM" | "UI" | "UL" | "UN" | "US" | "UT" }<br />
<br />
PrivateCreator = attribute privateCreator{ xsd:string }<br />
<br />
UUID = attribute uuid { xsd:string }<br />
<br />
Number = attribute number { xsd:positiveInteger } <br />
<br />
<br />
=== A.1.7Examples ===<br />
Here is an example XPath query to extract the code meaning of the first item in the View Code Sequence:<br />
<br />
<nowiki>/DicomNativeModel/DicomAttribute[@keyword=”ViewCodeSequence”]/Item[@number=1]/ </nowiki><nowiki>/DicomAttribute[@keyword=”CodeMeaning”]/Value[@number=1]</nowiki><br />
<br />
== A.2Abstract Multi-Dimensional Image Model ==<br />
=== A.2.1Usage ===<br />
The Abstract Multi-Dimensional Image Model can be used to refer to a discretely-sampled, multi-dimensional image data. The sample values may either be single-valued (a scalar) or a vector of values (a vector). An example would be a time varying series of three dimensional images set at multiple energy levels. The Abstract Multi-Dimensional Image Model is patterned after the Enhanced Multi-frame family of DICOM objects. In mathematical terms, this is any data set that is defined by a function ''I (x,y,z,t,…)'', where ''(x,y,z,t,…)'' are the dimensions, and the sample value of ''I'' is either a vector of components or a scalar (i.e., a single component). The primary purpose of this model is to allow applications to process image data without concern as to the underlying format of the data.<br />
<br />
When converting DICOM SOP Instances into Abstract Multi-Dimensional Image Models, a provider of data shall follow these rules as closely as it practically can:<br />
<br />
Note:Deterministic behavior is not expected nor guaranteed when making conversions between DICOM SOP Instances and Abstract Multi-Dimensional Image Models. For example, given the same DICOM SOP Instances, different Hosting Systems may create Abstract Multi-Dimensional Image Models that differ in some details, such as the Units of the Component values or in the Dimensions.<br />
<br />
# Multiple DICOM SOP Instances from the same series that have the same Frame of Reference UID shall be combined into a single instance of the Abstract Multi-Dimensional Image Model. DICOM SOP Instances from multiple series that have the same Frame of Reference UUID may be combined into a single instance of the Abstract Multi-Dimensional Image Model, if appropriate.<br />
# A single DICOM SOP Instance shall not be divided into multiple instances of the Abstract Multi-Dimensional Image Model.<br />
# The coordinate system utilized within the Abstract Multi-Dimensional Image Model shall use the coordinate system defined by the DICOM objects utilized in the creation of the Abstract Multi-Dimensional Image Model instance if applicable. Where practical, the coordinate system and Dimension definitions utilized within the Abstract Multi-Dimensional Image Model shall be chosen such that interpolation is not required to covert the source data into the Abstract Multi-Dimensional Image Model.<br />
<br />
Note:Interpolation may be necessary if the source data is not laid out on a frame-based Cartesian coordinate grid.<br />
<br />
# Spatial coordinates, such as Image Position (Patient) (0020,0032), shall be transformed into the coordinate system utilized within the Abstract Multi-Dimensional Image Model instance.<br />
# The Pixel Data shall be spatially transformed as needed to match the Semantics and Units of the Dimensions of the Abstract Multi-Dimensional Image Model into which the pixels values are being placed.<br />
# Any embedded overlays within the Pixel Data (7FE0,0010) Attribute shall be stripped out of the pixel values and the pixel values sign extended or converted as needed to match the Datatype of the Component of the Abstract Multi-Dimensional Image Model into which the pixels values are being placed.<br />
# The pixel values of the Pixel Data shall be transformed as needed to match the Semantics and Units of the Component of the Abstract Multi-Dimensional Image Model into which the pixels values are being placed.<br />
<br />
Note:Typically presentation settings such as VOI and Presentation LUTs are not used in creating Abstract Multi-Dimensional Image Models from DICOM SOP Instances. The exception is when the application of such LUTs is needed to match the Semantics and Units of the Component. Modality LUTs or Rescale Slope and Intercept often must be applied to match the Semantics and Units of the Abstract Multi-Dimensional Image Model.<br />
<br />
Any pixel values that correspond to the pixel padding values shall be stripped out (i.e. set to zero or other suitable replacement value) and the spatially corresponding values in the PixelMapOfValidData shall be set to the outValue or something other than the inValue, as appropriate. <br />
<br />
When converting data within an instance of the Abstract Multi-Dimensional Image Models into DICOM SOP Instances, the recipient of an abstract model instance shall convert the pixel data back into values compatible with the native form of the DICOM SOP Instances being created. This conversion may include recreating Modality LUT information, inserting pixel padding values, converting pixel spacing and origins, etc. as dictated by the SOP Class the data is being converted to. When converting a single Abstract Multi-Dimensional Image Model into multiple DICOM SOP Instances, the DICOM SOP Instances shall all have the same Frame of Reference UID (0020,0052), if permitted by the SOP Class.<br />
<br />
=== A.2.2Identification ===<br />
The ObjectDescriptors MIME content type for the Abstract Multi-Dimensional Image Model is “application/x-dicom.abstract”.<br />
<br />
Note:This is an experimental MIME type. A formal MIME type will be applied for. Implementations will be expected to support both the experimental and formal MIME type going forward without a version change to the interface.<br />
<br />
The ObjectDescriptors class UID for the Abstract Multi-Dimensional Image Model is “1.2.840.10008.7.1.2”.<br />
<br />
=== A.2.3Support ===<br />
Support of the Abstract Multi-Dimensional Image Model as both a data source and a data recipient is required of all Hosting Systems implementing the interface.<br />
<br />
Support of the Abstract Multi-Dimensional Image Model as either a data source or a data recipient is optional for all Hosted Applications implementing the interface. <br />
<br />
=== A.2.4Information Model ===<br />
A diagram of the Abstract Multi-Dimensional Image Model appears in Figure A.2.4-1.<br />
<br />
<br />
[[Image:]] <br />
<br />
<center>'''Figure A.2.4-1 Abstract Multi-Dimensional Image Model'''</center><br />
<br />
=== A.2.5Description ===<br />
<center>'''Table A.2.5-1 Abstract Image Model'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Name'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Optionality'''</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Cardinality'''</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>'''Description'''</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| AbstractImageDataSet<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The top level element required of all abstract image models, holding the entire abstract image Data Set. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >Component<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Describes a component of the function output. If the output is a scalar, there is only one Component. Vector outputs require a Component for each position in the vector. When there are multiple components, the components appear in each value in the order defined by their respective idNumbers.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>idNumber<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Identifies this particular component, with numbering monotonically increasing from 1. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>datatype<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Describes how this component value is represented. Enumerated values are:<br />
<br />
SIGNED_INT8SIGNED_INT16SIGNED_INT32UNSIGNED_INT8UNSIGNED_INT16UNSIGNED_INT32FLOAT32FLOAT64<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>minValue<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The minimum value that this component takes on. If this XML Attribute is missing, this is the minimum value that can be represented by the Datatype.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>maxValue<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The maximum value that this component takes on. If this XML Attribute is missing, this is the maximum value that can be represented by the Datatype.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Semantics<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what this component represents.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7180.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Unit<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what units this dimension is in.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7181.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >Dimension<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Describes a dimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>idNumber<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Identifies this particular dimension, with numbering starting from 1. Dimensions with a lower idNumber vary faster than those with a higher idNumber. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>numberOfSamples<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The number of samples in this dimension, for example: the number of columns along the X-axis, the number of rows along the Y-axis, the number of slices along the Z-axis,the number of qualitative descriptions. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Semantics<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what this dimension represents.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7182<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >> Regular<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Used to describe regularly spaced samples in this dimension. Required if neither Irregular nor Qualitative are present. Shall not be present otherwise.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>width<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The sample width.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>spacing<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The sample spacing.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>Unit<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what units the sample width and spacing are in.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7183.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>AxisDirection<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The direction of the axis of this dimension. <br />
<br />
Note:This XML Element might only be applicable to spatial dimensions, such as those dealing with linear displacement. Typically this is in relationship to the patient.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7184<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>AxisOrientation<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The orientation of the axis of this dimension along which values are increasing.<br />
<br />
Note:This XML Element might only be applicable to spatial dimensions, such as those dealing with linear displacement. Typically this is in relationship to the patient.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7185<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Irregular<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Used to describe irregularly spaced samples in this dimension. Required if neither Regular nor Qualitative are present. Shall not be present otherwise.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>origin<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The reference location from which each of the sample locations are measured.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>SampleLocation<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Describes the locations of each sample as an offset from the origin. There shall be numberOfSamples SampleLocation XML Elements in this sequence.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>index<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The index value of this sample location, with numbering starting from 1 and increating to numberOfSamples.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>width<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The sample width.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>distanceToOrigin<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The distance of this sample location from the Origin location.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>Unit<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what units the sample widths and locations are in.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7183.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>AxisDirection<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The direction of the axis of this dimension.<br />
<br />
Note:This XML Element might only be applicable to spatial dimensions, such as those dealing with linear displacement. Typically this is in relationship to the patient.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7184<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>AxisOrientation<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The orientation of the axis of this dimension along which values are increasing.<br />
<br />
Note:This XML Element might only be applicable to spatial dimensions, such as those dealing with linear displacement. Typically this is in relationship to the patient.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7185<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Qualitative<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Used to describe a qualitative dimension. Required if neither Regular nor Irregular are present. Shall not be present otherwise.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>Sample<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Description of what each sample along this dimension represents. There shall be numberOfSamples Sample XML Elements in this sequence.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>index<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The index value of this sample, with numbering starting from 1 and increasing to numberOfSamples.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>Semantics<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A coded value describing what this sample represents.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>>>'' Include ‘Coded Terminology Macro’ Table 10.1-1''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Defined Context ID is 7186<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>Origin<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Specifies the spatial position in the coordinate system of the Abstract Multi-Dimensional Image Model of the spatial frames or volumes of image data values. Different frames or volumes may either share an origin, or have a different origin for each frame or volume. If there is only a single Origin XML element within this Dimension, then this Origin applies to all samples along this Dimension. Otherwise, there shall be numberOfSamples Origin XML elements, one for each sample along this Dimension. Sample index values for Dimensions whose idNumbers are less than this Dimension’s idNumber, are all equal to 1. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>index<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Index of the sample to which this Origin,. If this is a single Origin that applies to all samples along this Dimension, then index shall either be left out or given a value of “0” (zero). Otherwise, the value shall be the appropriate number between 1 and nubmerOfSamles.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>xCoord<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The X position of this Origin in the coordinate system of the Abstract Multi-Dimensional Image Model.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>yCoord<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Y position of this Origin in the coordinate system of the Abstract Multi-Dimensional Image Model.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>zCoord<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The Z position of this Origin in the coordinate system of the Abstract Multi-Dimensional Image Model. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>DirectionCosines<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Specifies the direction in the coordinate system of the Abstract Multi-Dimensional Image Model of the Dimension whose idNumber is given in concernedSpatialDimension. The idNumber of the concernedSpatialDimension shall be less than the idNumber of this Dimension. If there is only a single DirectionCosines XML element within this Dimension XML element with a particular concernedSpatialDimension, then this Direction Cosine applies to all samples along this Dimension. Otherwise, there shall be numberOfSamples DirectionCosines XML elements with this particular concernedSpatialDimension, one for each sample along this Dimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>concernedSpatialDimension<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The idNumber of the particular Dimension for which this DirectionCosines XML element applies. The value of concernedSpatialDimension shall be less than the idNumber of this Dimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>index<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Index of this direction specification, with numbering starting from 1. If this is a single-valued DirectionCosines that applies to all samples along this Dimension then index shall either be left out or given a value of “0” (zero). Otherwise, the value of index refers to the DirectionCosines of a particular sample value along this Dimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>cosAlongX<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The direction cosine along the X axis of the coordinate system of the Abstract Multi-Dimensional Image Model for this concernedSpatialDimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>cosAlongY<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The direction cosine along the Y axis of the coordinate system of the Abstract Multi-Dimensional Image Model for this concernedSpatialDimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>>cosAlongZ<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The direction cosine along the Z axis of the coordinate system of the Abstract Multi-Dimensional Image Model for this concernedSpatialDimension.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >PixelData<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Structure that defines where the pixel data is located, organized along dimensional lines.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''>>Include ‘Dimensional Data Macro’ Table A.2.5-2''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >PixelMapOfValidData<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 0-1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A pixel map that identifies which pixels either belong in or out of the Data Set. The dimensions of the pixel map match the dimensions of the image data, i.e., there is a one-to-one correspondence between samples in the image data and samples in the pixel map. The pointers to the pixel map data are included one of the Dimension XML elements.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>datatype<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Describes how samples in the pixel map are encoded. Enumerated values are:<br />
<br />
BIT1UNSIGNED_INT8 <br />
<br />
For BIT1, the bit ordering starts from the least significant bit going to the most significant bit within an UNSIGNED_INT8 (i.e. 8 bit) byte. The bits are zero-padded to make a full 8-bit byte at the end of the most rapidly changing dimension (i.e. the Dimension whose idNumber is 1).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>inValue<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The value within the pixel map that indicates that this sample shall be considered as part of the Data Set. All samples whose pixel map values do not match inValue shall not be considered as part of the Data Set. Required if outValue is not present. Shall not be present if outValue is present.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>outValue<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The value within the pixel map that indicates that this sample shall not be considered as part of the Data Set. All samples whose pixel map values do not match outValue shall be considered as part of the Data Set. Required if inValue is not present. Shall not be present if inValue is present.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>''Include ‘Dimensional Data Macro’ Table A.2.5-2''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <br />
<br />
|}<br />
<center>'''Table A.2.5-2 Dimensional Data Macro'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| DimensionalData<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A nested tree structure that organizes the data for each dimension. The top level of the tree structure should refer to the Dimension with the highest idNumber.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >dimensionID<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The idNumber of the Dimension in this AbstractImageDataSet to which this DimensionalData refers.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >DataAt<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| O<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| 1-n<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| References to where the image data is located. Only one Dimension XML Element within this AbstractImageDataSet shall have UUIDs for bulk pixel data (i.e. all bulk data references are at the same dimensional level).<br />
<br />
Note:If the source of the data, as part of the model preparation, creates a single file for pixel data from multiple smaller native objects, then in order to provide the descriptorUUID XML Attributes the source may need to create multiple bulkDataUUIDs referring to different offsets within that single pixel data file.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>indexWithinDimension<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The ordinal position (e.g. index number) of this sample point in the array of data at this level. Numbering starts from 1.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>descriptorUUID<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A UUID that refers to the ObjectDescriptor from which this data is drawn, formatted in the hexadecimal representation defined by ITU-T Recommendation X.667,. <br />
<br />
Required at the level of the nested tree structure where the source added the data from the descriptorUUID into the Abstract Multi-Dimensional Image Model.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>bulkDataUUID<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| C<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The identifier that the recipient of the data may use in a getData() call to gain access to the bulk pixel data formatted as a UUID using the hexadecimal representation defined in ITU-T Recommendation X.667,.<br />
<br />
Required if the Dimensional Data Macro is not present at this level of the nested tree structure. Shall not be present otherwise.<br />
<br />
|-<br />
| colspan="3" style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| >>''Conditionally include the Dimensional Data Macro’ Table A.2.5-2''<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Only one of bulkDataUUID or Dimensional Data shall be included at each level. If Dimensional Data is included, it shall be the next lower level of the nested tree structure, that is the Dimension with an idNumber one less than the Dimension referred to by the enclosing DimensionalData.<br />
<br />
|}<br />
=== A.2.6Schema ===<br />
The Relax NG Compact schema for the Abstract Multi-Dimensional Image Model follows:<br />
<br />
default namespace = "http://dicom.nema.org/PS3.19/models/AbstractImage"<br />
<br />
<br />
start = AbstractImageDataSet<br />
<br />
AbstractImageDataSet = <br />
<br />
<br />
element AbstractImageDataSet {<br />
<br />
element Component{<br />
<br />
attribute idNumber { xsd:positiveInteger },<br />
<br />
attribute datatype { ComponentDatatype },<br />
<br />
attribute minValue { xsd:double }?,<br />
<br />
attribute maxValue { xsd:double }?,<br />
<br />
element Semantics { CodedTerm },<br />
<br />
element Unit { CodedTerm },<br />
<br />
element RealWordMapping {<br />
<br />
attribute rescaleSlope { xsd:double },<br />
<br />
attribute rescaleIntercept { xsd:double },<br />
<br />
element Unit { CodedTerm },<br />
<br />
element Semantics { CodedTerm }<br />
<br />
}*<br />
<br />
}+,<br />
<br />
element Dimension {<br />
<br />
attribute idNumber { xsd:positiveInteger },<br />
<br />
attribute numberOfSamples { xsd:positiveInteger },<br />
<br />
element Semantics { CodedTerm },<br />
<br />
(element Regular {<br />
<br />
attribute width { xsd:double },<br />
<br />
attribute spacing { xsd:double },<br />
<br />
element Unit { CodedTerm },<br />
<br />
element AxisDirection { CodedTerm }?,<br />
<br />
element AxisOrientation { CodedTerm }?<br />
<br />
}<br />
<br />
| element Irregular {<br />
<br />
element origin { xsd:double },<br />
<br />
element SampleLocation {<br />
<br />
attribute index { xsd:positiveInteger },<br />
<br />
attribute width { xsd:double },<br />
<br />
attribute distanceToOrigin { xsd:double }<br />
<br />
}+,<br />
<br />
element Unit { CodedTerm },<br />
<br />
element AxisDirection { CodedTerm }?,<br />
<br />
element AxisOrientation { CodedTerm }?<br />
<br />
}<br />
<br />
| element Qualitative {<br />
<br />
element Sample {<br />
<br />
attribute index { xsd:positiveInteger },<br />
<br />
element Semantics { CodedTerm }<br />
<br />
}+<br />
<br />
}),<br />
<br />
element Origin {<br />
<br />
attribute index { xsd:positiveInteger }?,<br />
<br />
attribute xCoord { xsd:double },<br />
<br />
attribute yCoord { xsd:double },<br />
<br />
attribute zCoord { xsd:double }<br />
<br />
}*,<br />
<br />
element DirectionCosines {<br />
<br />
attribute concernedSpatialDimension { xsd:positiveInteger },<br />
<br />
attribute index { xsd:positiveInteger }?,<br />
<br />
attribute cosAlongX { xsd:double },<br />
<br />
attribute cosAlongY { xsd:double },<br />
<br />
attribute cosAlongZ { xsd:double }<br />
<br />
}*<br />
<br />
}+,<br />
<br />
element PixelData { DimensionalData },<br />
<br />
element PixelMapOfValidData {<br />
<br />
attribute datatype { PixelMapDatatype },<br />
<br />
(<br />
<br />
attribute inValue { xsd:positiveInteger }<br />
<br />
| attribute outValue { xsd:positiveInteger }<br />
<br />
),<br />
<br />
DimensionalData<br />
<br />
}?<br />
<br />
}<br />
<br />
<br />
ComponentDatatype =<br />
<br />
"SIGNED_INT8"<br />
<br />
| "SIGNED_INT16"<br />
<br />
| "SIGNED_INT32"<br />
<br />
| "UNSIGNED_CHAR8"<br />
<br />
| "UNSIGNED_INT16"<br />
<br />
| "UNSIGNED_INT32"<br />
<br />
| "FLOAT32"<br />
<br />
| "FLOAT64"<br />
<br />
<br />
PixelMapDatatype = <br />
<br />
"BIT1"<br />
<br />
| "UNSIGNED_INT8"<br />
<br />
<br />
DimensionalData =<br />
<br />
element DimensionalData {<br />
<br />
attribute dimensionID { xsd:positiveInteger },<br />
<br />
element DataAt <br />
<br />
{<br />
<br />
attribute sampleNumber { xsd:positiveInteger },<br />
<br />
attribute descriptorUUID { xsd:string }?,<br />
<br />
( DimensionalData | BulkDataPointer )<br />
<br />
}+<br />
<br />
}<br />
<br />
<br />
BulkDataPointer = <br />
<br />
attribute UUID { xsd:string }<br />
<br />
<br />
CodedTerm = <br />
<br />
element CodeValue { xsd:string },<br />
<br />
element CodingSchemeDesignator { xsd:string },<br />
<br />
element CodingSchemeVersion { xsd:string }?,<br />
<br />
element CodeMeaning { xsd:string }?,<br />
<br />
(<br />
<br />
element ContextIdentifier { xsd:string },<br />
<br />
element MappingResource { xsd:string },<br />
<br />
element ContextGroupVersion { xsd:string }<br />
<br />
)?,<br />
<br />
(<br />
<br />
element ContextGroupExtensionFlag { xsd:string },<br />
<br />
element ContextGroupLocalVersion { xsd:string }?,<br />
<br />
element ContextGroupExtensionCreatorUID { xsd:string }?<br />
<br />
)?<br />
<br />
<br />
=== A.2.7Examples ===<br />
==== A.2.7.1Simple 3D Volume ====<br />
[[Image:]]<br />
<br />
<center>'''Figure A.2.7.1-1 Simple 3D Volume Example'''</center><br />
<br />
==== A.2.7.2Simple 4D Volume ====<br />
[[Image:]]<br />
<br />
<center>'''Figure A.2.7.2-1 Simple 4D Volume Example'''</center><br />
<br />
==== A.2.7.32D Ultrasound ====<br />
<center></center><br />
<br />
<center>'''Figure A.2.7.3-1 2D Ultrasound Example'''</center><br />
<br />
* In this particular case, we have three dimensions, numbered #1 for displacements along X, #2 for displacements along Y, and #3 to index the time series. If we have 200 images along time (i.e., the ''numberOfSamples'' XML Attribute is set to 200), we will then have 400 occurrences of the ''DirectionCosines ''XML Element within the ''Dimension'' XML Element whose ''idNumber'' XML Attribute is set to #3 (the dimension referring to time). The 200 first occurrences will have the XML Attribute ''concernedSpatialDimension'' with value #1 (to specify direction cosines along the X axis) and will be indexed by the XML Attribute ''index'' varying from 1 to 200 corresponding to the 200 images along time. The 200 following occurrences will have the XML Attribute ''concernedSpatialDimension'' with value #2 (to specify direction cosines along the Y axis), and will also be indexed by the XML Attribute'' index'' varying from 1 to 200.<br />
<br />
* Similarly, in this example we will have 200 occurrences of the ''Origin'' XML Element within the Dimension XML Element that has the ''idNumber'' XML Attribute set to the value 3, and of course by the XML Attribute ''index'' varying from 1 to 200.<br />
<br />
==== A.2.7.43D MR Metabolite Map – Single Component ====<br />
<center>[[Image:]]</center><br />
<br />
<center>'''Figure A.2.7.4-1 Single Component 3D MR Metabolite Example'''</center><br />
<br />
==== A.2.7.53D MR Metabolite Map – Multiple Component ====<br />
<center>[[Image:]]</center><br />
<br />
<center>'''Figure A.2.7.5-1 Multiple Component 3D MR Metabolite Map Example'''</center><br />
<br />
= Annex B Interface Definitions =<br />
== B.1Application Interface – Version 20100825 ==<br />
=== B.1.1WSDL Definition of the Interface ===<br />
The following is the content of ApplicationService-20100825.wsdl:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><wsdl:definitions name="ApplicationService-20100825"</nowiki><br />
<br />
targetNamespace="http://dicom.nema.org/PS3.19/ApplicationService-20100825"<br />
<br />
xmlns:tns="http://dicom.nema.org/PS3.19/ApplicationService-20100825"<br />
<br />
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"<br />
<br />
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"<br />
<br />
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"<br />
<br />
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"<br />
<br />
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"<br />
<br />
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"<br />
<br />
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"<br />
<br />
xmlns:xsd="http://www.w3.org/2001/XMLSchema"<br />
<br />
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"<br />
<br />
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"<br />
<br />
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"<br />
<br />
xmlns:wsa10="http://www.w3.org/2005/08/addressing"<br />
<br />
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"<br />
<br />
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br />
<br />
<nowiki><wsdl:types></nowiki><br />
<br />
<nowiki><xsd:schema targetNamespace="http://dicom.nema.org/PS3.19/Imports/ApplicationService-20100825"></nowiki><br />
<br />
<nowiki><xsd:import namespace="http://dicom.nema.org/PS3.19/ApplicationService-20100825"</nowiki><br />
<br />
schemaLocation="./ApplicationService-20100825.xsd"/><br />
<br />
<nowiki><xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/"</nowiki><br />
<br />
schemaLocation="./Types.xsd" /><br />
<br />
<nowiki><xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"</nowiki><br />
<br />
schemaLocation="./ArrayOfString.xsd" /><br />
<br />
<nowiki><xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath"</nowiki><br />
<br />
schemaLocation="./XPathNodeType.xsd" /><br />
<br />
<nowiki></xsd:schema></nowiki><br />
<br />
<nowiki></wsdl:types></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetState_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetState"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetState_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetStateResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_SetState_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:SetState"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_SetState_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:SetStateResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_BringToFront_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:BringToFront"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_BringToFront_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:BringToFrontResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_NotifyDataAvailable_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyDataAvailable"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_NotifyDataAvailable_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyDataAvailableResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetData_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetData"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetData_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetDataResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_ReleaseData_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseData"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_ReleaseData_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseDataResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetAsModels_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAsModels"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_GetAsModels_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAsModelsResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_ReleaseModels_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseModels"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_ReleaseModels_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseModelsResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_QueryModel_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryModel"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_QueryModel_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryModelResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_QueryInfoSet_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryInfoSet"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IApplicationService_QueryInfoSet_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryInfoSetResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:portType name="IApplicationService-20100825"></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetState"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetState"</nowiki><br />
<br />
message="tns:IApplicationService_GetState_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetStateResponse"</nowiki><br />
<br />
message="tns:IApplicationService_GetState_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="SetState"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/SetState"</nowiki><br />
<br />
message="tns:IApplicationService_SetState_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/SetStateResponse"</nowiki><br />
<br />
message="tns:IApplicationService_SetState_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="BringToFront"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/BringToFront"</nowiki><br />
<br />
message="tns:IApplicationService_BringToFront_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/BringToFrontResponse"<br />
<br />
message="tns:IApplicationService_BringToFront_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/NotifyDataAvailable"</nowiki><br />
<br />
message="tns:IApplicationService_NotifyDataAvailable_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/NotifyDataAvailableResponse"<br />
<br />
message="tns:IApplicationService_NotifyDataAvailable_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetData"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetData"</nowiki><br />
<br />
message="tns:IApplicationService_GetData_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetDataResponse"</nowiki><br />
<br />
message="tns:IApplicationService_GetData_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseData"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseData"</nowiki><br />
<br />
message="tns:IApplicationService_ReleaseData_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseDataResponse"<br />
<br />
message="tns:IApplicationService_ReleaseData_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAsModels"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetAsModels"</nowiki><br />
<br />
message="tns:IApplicationService_GetAsModels_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/GetAsModelsResponse"<br />
<br />
message="tns:IApplicationService_GetAsModels_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseModels"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseModels"</nowiki><br />
<br />
message="tns:IApplicationService_ReleaseModels_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseModelsResponse"<br />
<br />
message="tns:IApplicationService_ReleaseModels_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryModel"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/QueryModel"</nowiki><br />
<br />
message="tns:IApplicationService_QueryModel_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/QueryModelResponse"</nowiki><br />
<br />
message="tns:IApplicationService_QueryModel_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/QueryInfoSet"</nowiki><br />
<br />
message="tns:IApplicationService_QueryInfoSet_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IApplicationService/QueryInfoSetResponse"<br />
<br />
message="tns:IApplicationService_QueryInfoSet_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki></wsdl:portType></nowiki><br />
<br />
<nowiki><wsdl:binding name="ApplicationService-20100825Binding" type="tns:IApplicationService-20100825"></nowiki><br />
<br />
<nowiki><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetState"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/GetState"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="SetState"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/SetState"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="BringToFront"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/BringToFront"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><soap:operation</nowiki><br />
<br />
soapAction="http://dicom.nema.org/PS3.19/IApplicationService/NotifyDataAvailable"<br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetData"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/GetData"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseData"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseData"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAsModels"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/GetAsModels"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseModels"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/ReleaseModels"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryModel"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/QueryModel"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IApplicationService/QueryInfoSet"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki></wsdl:binding></nowiki><br />
<br />
<nowiki><wsdl:service name="ApplicationService-20100825"></nowiki><br />
<br />
<nowiki><wsdl:port name="ApplicationServiceBinding" binding="tns:ApplicationService-20100825Binding"></nowiki><br />
<br />
<nowiki><soap:address location="http://localhost/Service"/></nowiki><br />
<br />
<nowiki></wsdl:port></nowiki><br />
<br />
<nowiki></wsdl:service></nowiki><br />
<br />
<nowiki></wsdl:definitions> </nowiki><br />
<br />
<br />
=== B.1.2Definition of Data Structures Used ===<br />
==== B.1.2.1Primary Definitions ====<br />
The following is the content of ApplicationService-20100825.xsd<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://dicom.nema.org/PS3.19/ApplicationService-20100825" elementFormDefault="qualified"</nowiki><br />
<br />
targetNamespace="http://dicom.nema.org/PS3.19/ApplicationService-20100825" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<br />
<nowiki><xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/></nowiki><br />
<br />
<nowiki><xs:import namespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath"/></nowiki><br />
<br />
<nowiki><xs:element name="GetState"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetStateResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetStateResult" type="tns:State"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:simpleType name="State"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:enumeration value="IDLE"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="INPROGRESS"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="SUSPENDED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="COMPLETED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="CANCELED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="EXIT"/></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="State" nillable="true" type="tns:State"/></nowiki><br />
<br />
<nowiki><xs:element name="SetState"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="state" type="tns:State"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="SetStateResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="SetStateResult" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="BringToFront"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="location" nillable="true" type="tns:Rectangle"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="Rectangle"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Height" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Width" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="RefPointX" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="RefPointY" type="xs:int"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Rectangle" nillable="true" type="tns:Rectangle"/></nowiki><br />
<br />
<nowiki><xs:element name="BringToFrontResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="BringToFrontResult" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="data" nillable="true" type="tns:AvailableData"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="lastData" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="AvailableData"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Patients" nillable="true" type="tns:ArrayOfPatient"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="AvailableData" nillable="true" type="tns:AvailableData"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfObjectDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectDescriptor" nillable="true"</nowiki><br />
<br />
type="tns:ObjectDescriptor"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfObjectDescriptor" nillable="true" type="tns:ArrayOfObjectDescriptor"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ObjectDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ClassUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="MimeType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Modality" nillable="true" type="tns:Modality"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="TransferSyntaxUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="DescriptorUuid" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ObjectDescriptor" nillable="true" type="tns:ObjectDescriptor"/></nowiki><br />
<br />
<nowiki><xs:complexType name="UID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Uid" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="UID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:complexType name="MimeType"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Type" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="MimeType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Modality"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Modality" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Modality" nillable="true" type="tns:Modality"/></nowiki><br />
<br />
<nowiki><xs:complexType name="UUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Uuid" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="UUID" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfPatient"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Patient" nillable="true"</nowiki><br />
<br />
type="tns:Patient"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfPatient" nillable="true" type="tns:ArrayOfPatient"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Patient"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="AssigningAuthority" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="DateOfBirth" type="xs:dateTime"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ID" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Sex" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Studies" nillable="true" type="tns:ArrayOfStudy"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Patient" nillable="true" type="tns:Patient"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfStudy"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Study" nillable="true" type="tns:Study"</nowiki><br />
<br />
/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfStudy" nillable="true" type="tns:ArrayOfStudy"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Study"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Series" nillable="true" type="tns:ArrayOfSeries"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="StudyUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Study" nillable="true" type="tns:Study"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfSeries"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Series" nillable="true"</nowiki><br />
<br />
type="tns:Series"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfSeries" nillable="true" type="tns:ArrayOfSeries"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Series"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="SeriesUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Series" nillable="true" type="tns:Series"/></nowiki><br />
<br />
<nowiki><xs:element name="NotifyDataAvailableResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NotifyDataAvailableResult" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetData"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="acceptableTransferSyntaxes" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfUID"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="includeBulkData" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfUUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="UUID" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfUUID" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="UID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfUID" nillable="true" type="tns:ArrayOfUID"/></nowiki><br />
<br />
<nowiki><xs:element name="GetDataResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetDataResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectLocator"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfObjectLocator"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectLocator" nillable="true"</nowiki><br />
<br />
type="tns:ObjectLocator"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfObjectLocator" nillable="true" type="tns:ArrayOfObjectLocator"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ObjectLocator"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Length" type="xs:long"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Offset" type="xs:long"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="TransferSyntax" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="URI" nillable="true" type="xs:anyURI"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Locator" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Source" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ObjectLocator" nillable="true" type="tns:ObjectLocator"/></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseData"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseDataResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetAsModels"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="classUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="supportedInfoSetTypes" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfMimeType"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfMimeType"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="MimeType" nillable="true"</nowiki><br />
<br />
type="tns:MimeType"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfMimeType" nillable="true" type="tns:ArrayOfMimeType"/></nowiki><br />
<br />
<nowiki><xs:element name="GetAsModelsResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetAsModelsResult" nillable="true"</nowiki><br />
<br />
type="tns:ModelSetDescriptor"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ModelSetDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="FailedSourceObjects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="InfosetType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ModelSetDescriptor" nillable="true" type="tns:ModelSetDescriptor"/></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseModels"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseModelsResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryModel"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="xPaths" nillable="true"</nowiki><br />
<br />
xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"<br />
<br />
type="q1:ArrayOfstring"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryModelResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="QueryModelResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfQueryResult"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfQueryResult"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResult" nillable="true"</nowiki><br />
<br />
type="tns:QueryResult"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfQueryResult" nillable="true" type="tns:ArrayOfQueryResult"/></nowiki><br />
<br />
<nowiki><xs:complexType name="QueryResult"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNode"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="QueryResult" nillable="true" type="tns:QueryResult"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfXPathNode"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNode" nillable="true"</nowiki><br />
<br />
type="tns:XPathNode"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfXPathNode" nillable="true" type="tns:ArrayOfXPathNode"/></nowiki><br />
<br />
<nowiki><xs:complexType name="XPathNode"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NodeType"</nowiki><br />
<br />
xmlns:q2="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q2:XPathNodeType"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Value" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNode" nillable="true" type="tns:XPathNode"/></nowiki><br />
<br />
<nowiki><xs:element name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="xPaths" nillable="true"</nowiki><br />
<br />
xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays"<br />
<br />
type="q3:ArrayOfstring"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryInfoSetResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="QueryInfoSetResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfQueryResultInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfQueryResultInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResultInfoSet" nillable="true"</nowiki><br />
<br />
type="tns:QueryResultInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfQueryResultInfoSet" nillable="true" type="tns:ArrayOfQueryResultInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="QueryResultInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="QueryResultInfoSet" nillable="true" type="tns:QueryResultInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfXPathNodeInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNodeInfoSet" nillable="true"</nowiki><br />
<br />
type="tns:XPathNodeInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfXPathNodeInfoSet" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="XPathNodeInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="InfoSetValue" nillable="true" type="xs:base64Binary"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NodeType"</nowiki><br />
<br />
xmlns:q4="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q4:XPathNodeType"<br />
<br />
/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNodeInfoSet" nillable="true" type="tns:XPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki></xs:schema> </nowiki><br />
<br />
<br />
==== B.1.2.2Referenced Definitions ====<br />
The following is the content of XPathNodeType.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System.Xml.XPath" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:simpleType name="XPathNodeType"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:enumeration value="Root" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Element" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Attribute" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Namespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Text" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="SignificantWhitespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Whitespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="ProcessingInstruction" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Comment" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="All" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNodeType" nillable="true" type="tns:XPathNodeType" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
The following is the content of Types.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:element name="anyType" nillable="true" type="xs:anyType" /></nowiki><br />
<br />
<nowiki><xs:element name="anyURI" nillable="true" type="xs:anyURI" /></nowiki><br />
<br />
<nowiki><xs:element name="base64Binary" nillable="true" type="xs:base64Binary" /></nowiki><br />
<br />
<nowiki><xs:element name="boolean" nillable="true" type="xs:boolean" /></nowiki><br />
<br />
<nowiki><xs:element name="byte" nillable="true" type="xs:byte" /></nowiki><br />
<br />
<nowiki><xs:element name="dateTime" nillable="true" type="xs:dateTime" /></nowiki><br />
<br />
<nowiki><xs:element name="decimal" nillable="true" type="xs:decimal" /></nowiki><br />
<br />
<nowiki><xs:element name="double" nillable="true" type="xs:double" /></nowiki><br />
<br />
<nowiki><xs:element name="float" nillable="true" type="xs:float" /></nowiki><br />
<br />
<nowiki><xs:element name="int" nillable="true" type="xs:int" /></nowiki><br />
<br />
<nowiki><xs:element name="long" nillable="true" type="xs:long" /></nowiki><br />
<br />
<nowiki><xs:element name="QName" nillable="true" type="xs:QName" /></nowiki><br />
<br />
<nowiki><xs:element name="short" nillable="true" type="xs:short" /></nowiki><br />
<br />
<nowiki><xs:element name="string" nillable="true" type="xs:string" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" /></nowiki><br />
<br />
<nowiki><xs:element name="char" nillable="true" type="tns:char" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="char"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:int" /></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="duration" nillable="true" type="tns:duration" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="duration"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:duration"></nowiki><br />
<br />
<nowiki><xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" /></nowiki><br />
<br />
<nowiki><xs:minInclusive value="-P10675199DT2H48M5.4775808S" /></nowiki><br />
<br />
<nowiki><xs:maxInclusive value="P10675199DT2H48M5.4775807S" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="guid" nillable="true" type="tns:guid" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="guid"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:attribute name="FactoryType" type="xs:QName" /></nowiki><br />
<br />
<nowiki><xs:attribute name="Id" type="xs:ID" /></nowiki><br />
<br />
<nowiki><xs:attribute name="Ref" type="xs:IDREF" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
The following is the content of ArrayOfString.xsd<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfstring"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" /></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
== B.2Host Interface – Version 20100825 ==<br />
=== B.2.1WSDL Definition of the Interface ===<br />
The following is the content of HostService-20100825.wsdl:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><wsdl:definitions name="HostService-20100825"</nowiki><br />
<br />
targetNamespace="http://dicom.nema.org/PS3.19/HostService-20100825"<br />
<br />
xmlns:tns="http://dicom.nema.org/PS3.19/HostService-20100825"<br />
<br />
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"<br />
<br />
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"<br />
<br />
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"<br />
<br />
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"<br />
<br />
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"<br />
<br />
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"<br />
<br />
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"<br />
<br />
xmlns:xsd="http://www.w3.org/2001/XMLSchema"<br />
<br />
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"<br />
<br />
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"<br />
<br />
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"<br />
<br />
xmlns:wsa10="http://www.w3.org/2005/08/addressing"<br />
<br />
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"<br />
<br />
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br />
<br />
<nowiki><wsdl:types></nowiki><br />
<br />
<nowiki><xsd:schema targetNamespace="http://dicom.nema.org/PS3.19/Imports/HostService-20100825"></nowiki><br />
<br />
<nowiki><xsd:import namespace="http://dicom.nema.org/PS3.19/HostService-20100825"</nowiki><br />
<br />
schemaLocation="./HostService-20100825.xsd"/><br />
<br />
<nowiki><xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/"</nowiki><br />
<br />
schemaLocation="./Types.xsd" /><br />
<br />
<nowiki><xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"</nowiki><br />
<br />
schemaLocation="./ArrayOfString.xsd" /><br />
<br />
<nowiki><xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath"</nowiki><br />
<br />
schemaLocation="./XPathNodeType.xsd"/><br />
<br />
<nowiki></xsd:schema></nowiki><br />
<br />
<nowiki></wsdl:types></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GenerateUID_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GenerateUID"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GenerateUID_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GenerateUIDResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetAvailableScreen_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAvailableScreen"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetAvailableScreen_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAvailableScreenResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetOutputLocation_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetOutputLocation"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetOutputLocation_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetOutputLocationResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyStateChanged_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyStateChanged"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyStateChanged_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyStateChangedResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyStatus_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyStatus"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyStatus_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyStatusResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyDataAvailable_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyDataAvailable"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_NotifyDataAvailable_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:NotifyDataAvailableResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetData_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetData"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetData_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetDataResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_ReleaseData_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseData"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_ReleaseData_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseDataResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetAsModels_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAsModels"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_GetAsModels_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:GetAsModelsResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_ReleaseModels_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseModels"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_ReleaseModels_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:ReleaseModelsResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_QueryModel_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryModel"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_QueryModel_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryModelResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_QueryInfoSet_InputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryInfoSet"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:message name="IHostService_QueryInfoSet_OutputMessage"></nowiki><br />
<br />
<nowiki><wsdl:part name="parameters" element="tns:QueryInfoSetResponse"/></nowiki><br />
<br />
<nowiki></wsdl:message></nowiki><br />
<br />
<nowiki><wsdl:portType name="IHostService-20100825"></nowiki><br />
<br />
<nowiki><wsdl:operation name="GenerateUID"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GenerateUID"</nowiki><br />
<br />
message="tns:IHostService_GenerateUID_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GenerateUIDResponse"</nowiki><br />
<br />
message="tns:IHostService_GenerateUID_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAvailableScreen"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetAvailableScreen"</nowiki><br />
<br />
message="tns:IHostService_GetAvailableScreen_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetAvailableScreenResponse"<br />
<br />
message="tns:IHostService_GetAvailableScreen_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetOutputLocation"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetOutputLocation"</nowiki><br />
<br />
message="tns:IHostService_GetOutputLocation_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetOutputLocationResponse"</nowiki><br />
<br />
message="tns:IHostService_GetOutputLocation_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyStateChanged"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyStateChanged"</nowiki><br />
<br />
message="tns:IHostService_NotifyStateChanged_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyStateChangedResponse"<br />
<br />
message="tns:IHostService_NotifyStateChanged_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyStatus"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyStatus"</nowiki><br />
<br />
message="tns:IHostService_NotifyStatus_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyStatusResponse"</nowiki><br />
<br />
message="tns:IHostService_NotifyStatus_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyDataAvailable"</nowiki><br />
<br />
message="tns:IHostService_NotifyDataAvailable_InputMessage"/><br />
<br />
<nowiki><wsdl:output</nowiki><br />
<br />
wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/NotifyDataAvailableResponse"<br />
<br />
message="tns:IHostService_NotifyDataAvailable_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetData"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetData"</nowiki><br />
<br />
message="tns:IHostService_GetData_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetDataResponse"</nowiki><br />
<br />
message="tns:IHostService_GetData_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseData"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/ReleaseData"</nowiki><br />
<br />
message="tns:IHostService_ReleaseData_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/ReleaseDataResponse"</nowiki><br />
<br />
message="tns:IHostService_ReleaseData_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAsModels"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetAsModels"</nowiki><br />
<br />
message="tns:IHostService_GetAsModels_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/GetAsModelsResponse"</nowiki><br />
<br />
message="tns:IHostService_GetAsModels_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseModels"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/ReleaseModels"</nowiki><br />
<br />
message="tns:IHostService_ReleaseModels_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/ReleaseModelsResponse"</nowiki><br />
<br />
message="tns:IHostService_ReleaseModels_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryModel"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/QueryModel"</nowiki><br />
<br />
message="tns:IHostService_QueryModel_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/QueryModelResponse"</nowiki><br />
<br />
message="tns:IHostService_QueryModel_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><wsdl:input wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/QueryInfoSet"</nowiki><br />
<br />
message="tns:IHostService_QueryInfoSet_InputMessage"/><br />
<br />
<nowiki><wsdl:output wsaw:Action="http://dicom.nema.org/PS3.19/IHostService/QueryInfoSetResponse"</nowiki><br />
<br />
message="tns:IHostService_QueryInfoSet_OutputMessage"/><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki></wsdl:portType></nowiki><br />
<br />
<nowiki><wsdl:binding name="HostService-YYYYNNDDBinding" type="tns:IHostService-20100825"></nowiki><br />
<br />
<nowiki><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/></nowiki><br />
<br />
<nowiki><wsdl:operation name="GenerateUID"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/GenerateUID"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAvailableScreen"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/GetAvailableScreen"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetOutputLocation"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/GetOutputLocation"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyStateChanged"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/NotifyStateChanged"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyStatus"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/NotifyStatus"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/NotifyDataAvailable"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetData"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/GetData"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseData"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/ReleaseData"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="GetAsModels"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/GetAsModels"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="ReleaseModels"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/ReleaseModels"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryModel"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/QueryModel"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki><wsdl:operation name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><soap:operation soapAction="http://dicom.nema.org/PS3.19/IHostService/QueryInfoSet"</nowiki><br />
<br />
style="document"/><br />
<br />
<nowiki><wsdl:input></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:input></nowiki><br />
<br />
<nowiki><wsdl:output></nowiki><br />
<br />
<nowiki><soap:body use="literal"/></nowiki><br />
<br />
<nowiki></wsdl:output></nowiki><br />
<br />
<nowiki></wsdl:operation></nowiki><br />
<br />
<nowiki></wsdl:binding></nowiki><br />
<br />
<nowiki><wsdl:service name="HostService-20100825"></nowiki><br />
<br />
<nowiki><wsdl:port name="HostServiceBinding" binding="tns:HostService-YYYYNNDDBinding"></nowiki><br />
<br />
<nowiki><soap:address location="http://localhost/Service"/></nowiki><br />
<br />
<nowiki></wsdl:port></nowiki><br />
<br />
<nowiki></wsdl:service></nowiki><br />
<br />
<nowiki></wsdl:definitions> </nowiki><br />
<br />
<br />
=== B.2.2Definition of Data Structures Used ===<br />
==== B.2.2.1Primary Definitions ====<br />
The following is the the contents of HostService-20100825.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://dicom.nema.org/PS3.19/HostService-20100825" elementFormDefault="qualified"</nowiki><br />
<br />
targetNamespace="http://dicom.nema.org/PS3.19/HostService-20100825" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<br />
<nowiki><xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/></nowiki><br />
<br />
<nowiki><xs:import namespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath"/></nowiki><br />
<br />
<nowiki><xs:element name="GenerateUID"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GenerateUIDResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GenerateUIDResult" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="UID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Uid" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="UID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element name="GetAvailableScreen"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="preferredScreen" nillable="true" type="tns:Rectangle"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="Rectangle"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Height" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Width" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="RefPointX" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="RefPointY" type="xs:int"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Rectangle" nillable="true" type="tns:Rectangle"/></nowiki><br />
<br />
<nowiki><xs:element name="GetAvailableScreenResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetAvailableScreenResult" nillable="true"</nowiki><br />
<br />
type="tns:Rectangle"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetOutputLocation"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="preferredProtocols" nillable="true"</nowiki><br />
<br />
xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"<br />
<br />
type="q1:ArrayOfstring"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetOutputLocationResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetOutputLocationResult" nillable="true" type="xs:anyURI"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="NotifyStateChanged"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="state" type="tns:State"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:simpleType name="State"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:enumeration value="IDLE"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="INPROGRESS"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="SUSPENDED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="COMPLETED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="CANCELED"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="EXIT"/></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="State" nillable="true" type="tns:State"/></nowiki><br />
<br />
<nowiki><xs:element name="NotifyStateChangedResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="NotifyStatus"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="status" nillable="true" type="tns:Status"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="Status"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="StatusType" type="tns:StatusType"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="CodeValue" type="xs:int"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="CodingSchemeDesignator" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="CodeMeaning" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ContextIdentifier" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="MappingResource" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ContextGroupVersion" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ContextGroupExtensionFlag" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ContextGroupLocalVersion" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ContextGroupExtensionCreatorUID" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Status" nillable="true" type="tns:Status"/></nowiki><br />
<br />
<nowiki><xs:simpleType name="StatusType"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:enumeration value="INFORMATION"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="WARNING"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="ERROR"/></nowiki><br />
<br />
<nowiki><xs:enumeration value="FATALERROR"/></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="StatusType" nillable="true" type="tns:StatusType"/></nowiki><br />
<br />
<nowiki><xs:element name="NotifyStatusResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="NotifyDataAvailable"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="data" nillable="true" type="tns:AvailableData"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="lastData" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="AvailableData"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Patients" nillable="true" type="tns:ArrayOfPatient"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="AvailableData" nillable="true" type="tns:AvailableData"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfObjectDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectDescriptor" nillable="true"</nowiki><br />
<br />
type="tns:ObjectDescriptor"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfObjectDescriptor" nillable="true" type="tns:ArrayOfObjectDescriptor"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ObjectDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ClassUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="MimeType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Modality" nillable="true" type="tns:Modality"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="TransferSyntaxUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="DescriptorUuid" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ObjectDescriptor" nillable="true" type="tns:ObjectDescriptor"/></nowiki><br />
<br />
<nowiki><xs:complexType name="MimeType"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Type" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="MimeType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Modality"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Modality" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Modality" nillable="true" type="tns:Modality"/></nowiki><br />
<br />
<nowiki><xs:complexType name="UUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Uuid" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="UUID" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfPatient"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Patient" nillable="true"</nowiki><br />
<br />
type="tns:Patient"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfPatient" nillable="true" type="tns:ArrayOfPatient"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Patient"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="AssigningAuthority" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="DateOfBirth" type="xs:dateTime"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ID" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Sex" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Studies" nillable="true" type="tns:ArrayOfStudy"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Patient" nillable="true" type="tns:Patient"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfStudy"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Study" nillable="true" type="tns:Study"</nowiki><br />
<br />
/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfStudy" nillable="true" type="tns:ArrayOfStudy"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Study"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Series" nillable="true" type="tns:ArrayOfSeries"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="StudyUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Study" nillable="true" type="tns:Study"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfSeries"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="Series" nillable="true"</nowiki><br />
<br />
type="tns:Series"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfSeries" nillable="true" type="tns:ArrayOfSeries"/></nowiki><br />
<br />
<nowiki><xs:complexType name="Series"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="ObjectDescriptors" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectDescriptor"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="SeriesUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="Series" nillable="true" type="tns:Series"/></nowiki><br />
<br />
<nowiki><xs:element name="NotifyDataAvailableResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NotifyDataAvailableResult" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetData"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="acceptableTransferSyntaxes" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfUID"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="includeBulkData" type="xs:boolean"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfUUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="UUID" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfUUID" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfUID"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="UID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfUID" nillable="true" type="tns:ArrayOfUID"/></nowiki><br />
<br />
<nowiki><xs:element name="GetDataResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetDataResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfObjectLocator"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfObjectLocator"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectLocator" nillable="true"</nowiki><br />
<br />
type="tns:ObjectLocator"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfObjectLocator" nillable="true" type="tns:ArrayOfObjectLocator"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ObjectLocator"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Length" type="xs:long"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Offset" type="xs:long"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="TransferSyntax" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="URI" nillable="true" type="xs:anyURI"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Locator" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Source" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ObjectLocator" nillable="true" type="tns:ObjectLocator"/></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseData"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseDataResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="GetAsModels"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="objects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="classUID" nillable="true" type="tns:UID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="supportedInfoSetTypes" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfMimeType"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfMimeType"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="MimeType" nillable="true"</nowiki><br />
<br />
type="tns:MimeType"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfMimeType" nillable="true" type="tns:ArrayOfMimeType"/></nowiki><br />
<br />
<nowiki><xs:element name="GetAsModelsResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="GetAsModelsResult" nillable="true"</nowiki><br />
<br />
type="tns:ModelSetDescriptor"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ModelSetDescriptor"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="FailedSourceObjects" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="InfosetType" nillable="true" type="tns:MimeType"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ModelSetDescriptor" nillable="true" type="tns:ModelSetDescriptor"/></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseModels"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="ReleaseModelsResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence/></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryModel"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="xPaths" nillable="true"</nowiki><br />
<br />
xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays"<br />
<br />
type="q2:ArrayOfstring"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryModelResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="QueryModelResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfQueryResult"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfQueryResult"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResult" nillable="true"</nowiki><br />
<br />
type="tns:QueryResult"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfQueryResult" nillable="true" type="tns:ArrayOfQueryResult"/></nowiki><br />
<br />
<nowiki><xs:complexType name="QueryResult"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNode"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="QueryResult" nillable="true" type="tns:QueryResult"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfXPathNode"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNode" nillable="true"</nowiki><br />
<br />
type="tns:XPathNode"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfXPathNode" nillable="true" type="tns:ArrayOfXPathNode"/></nowiki><br />
<br />
<nowiki><xs:complexType name="XPathNode"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NodeType"</nowiki><br />
<br />
xmlns:q3="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q3:XPathNodeType"/><br />
<br />
<nowiki><xs:element minOccurs="0" name="Value" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNode" nillable="true" type="tns:XPathNode"/></nowiki><br />
<br />
<nowiki><xs:element name="QueryInfoSet"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="models" nillable="true" type="tns:ArrayOfUUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="xPaths" nillable="true"</nowiki><br />
<br />
xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays"<br />
<br />
type="q4:ArrayOfstring"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:element name="QueryInfoSetResponse"></nowiki><br />
<br />
<nowiki><xs:complexType></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="QueryInfoSetResult" nillable="true"</nowiki><br />
<br />
type="tns:ArrayOfQueryResultInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki></xs:element></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfQueryResultInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="QueryResultInfoSet" nillable="true"</nowiki><br />
<br />
type="tns:QueryResultInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfQueryResultInfoSet" nillable="true" type="tns:ArrayOfQueryResultInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="QueryResultInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Model" nillable="true" type="tns:UUID"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="XPath" nillable="true" type="xs:string"/></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="QueryResultInfoSet" nillable="true" type="tns:QueryResultInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfXPathNodeInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="XPathNodeInfoSet" nillable="true"</nowiki><br />
<br />
type="tns:XPathNodeInfoSet"/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfXPathNodeInfoSet" nillable="true" type="tns:ArrayOfXPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki><xs:complexType name="XPathNodeInfoSet"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="InfoSetValue" nillable="true" type="xs:base64Binary"/></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" name="NodeType"</nowiki><br />
<br />
xmlns:q5="http://schemas.datacontract.org/2004/07/System.Xml.XPath" type="q5:XPathNodeType"<br />
<br />
/><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNodeInfoSet" nillable="true" type="tns:XPathNodeInfoSet"/></nowiki><br />
<br />
<nowiki></xs:schema> </nowiki><br />
<br />
<br />
==== B.2.2.2Referenced Definitions ====<br />
The following is the content of XPathNodeType.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System.Xml.XPath" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System.Xml.XPath" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:simpleType name="XPathNodeType"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:enumeration value="Root" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Element" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Attribute" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Namespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Text" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="SignificantWhitespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Whitespace" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="ProcessingInstruction" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="Comment" /></nowiki><br />
<br />
<nowiki><xs:enumeration value="All" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="XPathNodeType" nillable="true" type="tns:XPathNodeType" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
The following is the content of Types.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:element name="anyType" nillable="true" type="xs:anyType" /></nowiki><br />
<br />
<nowiki><xs:element name="anyURI" nillable="true" type="xs:anyURI" /></nowiki><br />
<br />
<nowiki><xs:element name="base64Binary" nillable="true" type="xs:base64Binary" /></nowiki><br />
<br />
<nowiki><xs:element name="boolean" nillable="true" type="xs:boolean" /></nowiki><br />
<br />
<nowiki><xs:element name="byte" nillable="true" type="xs:byte" /></nowiki><br />
<br />
<nowiki><xs:element name="dateTime" nillable="true" type="xs:dateTime" /></nowiki><br />
<br />
<nowiki><xs:element name="decimal" nillable="true" type="xs:decimal" /></nowiki><br />
<br />
<nowiki><xs:element name="double" nillable="true" type="xs:double" /></nowiki><br />
<br />
<nowiki><xs:element name="float" nillable="true" type="xs:float" /></nowiki><br />
<br />
<nowiki><xs:element name="int" nillable="true" type="xs:int" /></nowiki><br />
<br />
<nowiki><xs:element name="long" nillable="true" type="xs:long" /></nowiki><br />
<br />
<nowiki><xs:element name="QName" nillable="true" type="xs:QName" /></nowiki><br />
<br />
<nowiki><xs:element name="short" nillable="true" type="xs:short" /></nowiki><br />
<br />
<nowiki><xs:element name="string" nillable="true" type="xs:string" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" /></nowiki><br />
<br />
<nowiki><xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" /></nowiki><br />
<br />
<nowiki><xs:element name="char" nillable="true" type="tns:char" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="char"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:int" /></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="duration" nillable="true" type="tns:duration" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="duration"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:duration"></nowiki><br />
<br />
<nowiki><xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" /></nowiki><br />
<br />
<nowiki><xs:minInclusive value="-P10675199DT2H48M5.4775808S" /></nowiki><br />
<br />
<nowiki><xs:maxInclusive value="P10675199DT2H48M5.4775807S" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:element name="guid" nillable="true" type="tns:guid" /></nowiki><br />
<br />
<nowiki><xs:simpleType name="guid"></nowiki><br />
<br />
<nowiki><xs:restriction base="xs:string"></nowiki><br />
<br />
<nowiki><xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" /></nowiki><br />
<br />
<nowiki></xs:restriction></nowiki><br />
<br />
<nowiki></xs:simpleType></nowiki><br />
<br />
<nowiki><xs:attribute name="FactoryType" type="xs:QName" /></nowiki><br />
<br />
<nowiki><xs:attribute name="Id" type="xs:ID" /></nowiki><br />
<br />
<nowiki><xs:attribute name="Ref" type="xs:IDREF" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
The following is the content of ArrayOfString.xsd:<br />
<br />
<nowiki><?xml version="1.0" encoding="utf-8"?></nowiki><br />
<br />
<nowiki><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema"></nowiki><br />
<br />
<nowiki><xs:complexType name="ArrayOfstring"></nowiki><br />
<br />
<nowiki><xs:sequence></nowiki><br />
<br />
<nowiki><xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" /></nowiki><br />
<br />
<nowiki></xs:sequence></nowiki><br />
<br />
<nowiki></xs:complexType></nowiki><br />
<br />
<nowiki><xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" /></nowiki><br />
<br />
<nowiki></xs:schema></nowiki><br />
<br />
<br />
= Changes to NEMA Standards Publication PS3.16-2009 =<br />
'''PS3.16: Add the following context groups to Annex B:'''<br />
<br />
=== CID 7180 Abstract Multi-Dimensional Image Model Component Semantics ===<br />
<center>'''CONTEXT ID 7180'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Component Semantics'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825 '''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 4033 MR Proton Spectroscopy Metabolites''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113063</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T1 Map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113065</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2 Map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113064</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2* Map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113058</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Proton Density Map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110800</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spin Tagging Perfusion MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113070</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Velocity encoded<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113067</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Temperature encoded<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110801</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Contrast Agent Angio MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110802</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Time Of Flight Angio MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110803</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Proton Density Weighted MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110804</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T1 Weighted MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110805</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2 Weighted MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110806</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2* Weighted MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113043</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Diffusion weighted<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110807</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Field Map MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110808</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Anisotropy<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110809</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Relative Anisotropy<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113041</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Apparent Diffusion Coefficient<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110810</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxx Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110811</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxy Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110812</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110813</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyy Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110814</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110815</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dzz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110816</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110817</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110818</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113055</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Regional Cerebral Blood Flow<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113056</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Regional Cerebral Blood Volume<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113052</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Mean Transit Time<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113069</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Time To Peak map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110819</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Blood Oxygenation Level<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110820</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Nuclear Medicine Projection Activity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110821</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Nuclear Medicine Tomographic Activity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110822</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement X Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110823</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110824</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement Z Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110825</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hemodynamic Resistance<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110826</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Indexed Hemodynamic Resistance<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>112031</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Attenuation Coefficient<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110827</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Tissue Velocity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110828</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Flow Velocity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>SRT</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>P0-02241</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Power Doppler<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110829</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Flow Variance<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110830</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Elasticity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110831</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Perfusion<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110832</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Speed of sound<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110833</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Ultrasound Attenuation<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113068</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Student’s T-test<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113071</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Z-score Map<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>113057</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| R-Coefficient Map <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110834</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB R Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110835</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB G Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110836</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB B Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110837</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110838</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110839</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110840</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110841</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110842</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110843</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110844</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110845</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110846</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110847</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110848</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110849</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Echogenicity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110850</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| X-Ray Attenuation<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110851</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| X-Ray Attenuation Coefficient<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110852</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| MR signal intensity<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110853</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Binary Segmentation<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110854</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Probabilistic Segmentation<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110855</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Occupancy Segmentation<br />
<br />
|}<br />
=== CID 7181 Abstract Multi-Dimensional Image Model Component Units ===<br />
<center>'''CONTEXT ID 7181'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Component Units'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 3500 Pressure Units''<br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 3502 Hemodynamic Resistance Units''<br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 3503 Indexed Hemodynamic Resistance Units''<br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 7460 Units of Linear Measurement''<br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 7461 Units of Area Measurement''<br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 7462 Units of Volume Measurement''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>1</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| no units<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>{ratio}</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ratio<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center><nowiki>[hnsf’U]</nowiki></center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hounsfield Unit&nbsp;<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>{counts}</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Counts<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>{counts}/s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Counts per second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center><nowiki>[arb’U]</nowiki></center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| arbitrary unit<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>cm/s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| centimeter/second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>mm/s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| millimeter/second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>dB</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| decibel<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>Cel</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| degrees Celsius<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>ml/min</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| milliliter per minute<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>ml/s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| milliliter per second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>ms</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| millisecond<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>Hz</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Herz<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>mT</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| milliTesla<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center><nowiki>{Particles}/[100]g{Tissue}</nowiki></center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| number particles per 100 gram of tissue<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>mm2/s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| square millimeter per second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>s/mm2</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| second per square millimeter<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center><nowiki>ml/[100]g/min</nowiki></center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| milliliter per 100 gram per minute<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center><nowiki>ml/[100]ml</nowiki></center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| milliliter per 100 milliter<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>mmol/kg{WetWeight}</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| millimoles per kg wet weight<br />
<br />
|}<br />
=== CID 7182 Abstract Multi-Dimensional Image Model Dimension Semantics ===<br />
<center>'''CONTEXT ID 7182'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Dimension Semantics'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110856</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Linear Displacement<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110857</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Photon Energy<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110858</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Time<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110859</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Angle<br />
<br />
|}<br />
=== CID 7183 Abstract Multi-Dimensional Image Model Dimension Units ===<br />
<center>'''CONTEXT ID 7183'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Dimension Units'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 7460 Units of Linear Measurement''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>ms</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Millisecond<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>s</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Second<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>deg</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Degree<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>UCUM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>rad</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Radian<br />
<br />
|}<br />
=== CID 7184 Abstract Multi-Dimensional Image Model Axis Direction ===<br />
<center>'''CONTEXT ID 7184'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Axis Direction'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110860</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Left-Right Axis<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110861</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Head-Foot Axis<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110862</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior-Posterior Axis<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110863</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Apex-Base Axis<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110864</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior-Inferior Axis<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110865</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Septum-Wall Axis<br />
<br />
|}<br />
=== CID 7185 Abstract Multi-Dimensional Image Model Axis Orientation ===<br />
<center>'''CONTEXT ID 7185'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Axis Orientation'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110866</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Right To Left<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110867</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Left To Right<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110868</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Head To Foot<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110869</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Foot To Head<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110870</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior To Posterior<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110871</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Posterior To Anterior<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110872</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Apex To Base<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110873</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Base To Apex<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110874</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior To Inferior<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110875</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Inferior To Anterior<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110876</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Septum To Wall<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110877</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Wall To Septum<br />
<br />
|}<br />
=== CID 7186 Abstract Multi-Dimensional Image Model Qualitative Dimension Sample Semantics ===<br />
<center>'''CONTEXT ID 7186'''</center><br />
<br />
'''Abstract Multi-Dimensional Image Model Qualitative Dimension Sample Semantics'''<br />
<br />
<center>'''Type: ExtensibleVersion: 20100825'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Coding Scheme Designator(0008,0102)</center><br />
! <center>Code Value(0008,0100)</center><br />
! <center>Code Meaning (0008,0104)</center><br />
<br />
|-<br />
| colspan="3" style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| ''INCLUDE CID 4033 MR Proton Spectroscopy Metabolites''<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110810</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxx Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110811</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxy Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110812</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110813</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyy Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110814</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110815</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dzz Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110834</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB R Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110835</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB G Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110836</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB B Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110837</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110838</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110839</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110840</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110841</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110842</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110843</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110844</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110845</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CR Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110846</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT Y Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110847</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CB Component<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>DCM</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110848</center><br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CR Component<br />
<br />
|}<br />
'''PS3.16: Add the following terminology definitions to Annex D:'''<br />
<br />
= Annex DDICOM Controlled Terminology Definitions (Normative) =<br />
This Annex specifies the meanings of codes defined in DICOM, either explicitly or by reference to another part of DICOM or an external reference document or standard.<br />
<br />
<center>'''DICOM Code Definitions (Coding Scheme Designator “DCM” Coding Scheme Version “01”)'''</center><br />
<br />
<br />
{| style="border-spacing:0;"<br />
! <center>Code Value</center><br />
! <center>Code Meaning</center><br />
! <center>Definition</center><br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110800</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spin Tagging Perfusion MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Spin tagging Perfusion MR image. Spin tagging is a technique for the measurement of blood perfusion, based on magnetically labeled arterial blood water as an endogenous tracer. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110801</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Contrast Agent Angio MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Contrast Agent Angio MR image.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110802</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Time Of Flight Angio MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Time-of-flight (TOF) MR image. Time-of-flight (TOF) is based on the phenomenon of flow-related enhancement of spins entering into an imaging slice. As a result of being unsaturated, these spins give more signal that surrounding stationary spins. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110803</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Proton Density Weighted MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Proton Density Weighted MR image. All MR images have intensity proportional to proton density. Images with very little T1 or T2 weighting are called ‘PD-weighted’. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110804</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T1 Weighted MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of T1 Weighted MR image. A T1 Weighted MR image is created typically by using short TE and TR times.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110805</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2 Weighted MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a T2 Weighted MR image. T2 Weighted image contrast state is approached by imaging with a TR long compared to tissue T1 (to reduce T1 contribution to image contrast) and a TE between the longest and shortest tissue T2s of interest. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110806</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2* Weighted MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a T2* Weighted MR image. The T2* phenomenon results from molecular interactions (spin spin relaxation) and local magnetic field non-uniformities, which cause the protons to precess at slightly different frequencies.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110807</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Field Map MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Field Map MR image. A Field Map MR image provides a direct measure of the ''B''<sub>0</sub> inhomogeneity at each point in the image.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110808</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Anisotropy<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Coefficient reflecting the fractional anisotropy of the tissues, derived from a diffusion weighted MR image. Fractional anisotropy is proportional to the square root of the variance of the Eigen values divided by the square root of the sum of the squares of the Eigen values.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110809</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Relative Anisotropy<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Coefficient reflecting the relative anisotropy of the tissues, derived from a diffusion weighted MR image.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110810</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxx Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dxx Component of the diffusion tensor, quantifying the molecular mobility along the X axis.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110811</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxy Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dxy Component of the diffusion tensor, quantifying the correlation of molecular displacements in the X and Y directions.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110812</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dxz Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dxz Component of the diffusion tensor, quantifying the correlation of molecular displacements in the X and Z directions.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110813</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyy Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dyy Component of the diffusion tensor, quantifying the molecular mobility along the Y axis.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110814</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dyz Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dyz Component of the diffusion tensor, quantifying the correlation of molecular displacements in the Y and Z directions.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110815</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Volumetric Diffusion Dzz Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dzz Component of the diffusion tensor, quantifying the molecular mobility along the Z axis.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110816</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a T1 Weighted Dynamic Contrast Enhanced MR image. A T1 Weighted Dynamic Contrast Enhanced MR image reflects the dynamics of diffusion of the exogenous contrast media from the blood pool into the extra vascular extracellular space (EES) of the brain at a rate determined by the blood flow to the tissue, the permeability of the Brain Blood Barrier (BBB), and the surface area of the perfusing vessels.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110817</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a T2 Weighted Dynamic Contrast Enhanced MR image. A T2 Weighted Dynamic Contrast Enhanced MR image reflects the T2 of tissue decrease as the Gd contrast agent bolus passes through the brain. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110818</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a T2* Weighted Dynamic Contrast Enhanced MR image. A T2* Weighted Dynamic Contrast Enhanced MR image reflects the T2* of tissue decrease as the Gd contrast agent bolus passes through the brain.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110819</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Blood Oxygenation Level<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of a Blood Oxygenation Level image. BOLD imaging is sensitive to blood oxygenation (but also to cerebral blood flow and volume). This modality is essentially used for detecting brain activation (functional MR). <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110820</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Nuclear Medicine Projection Activity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Accumulated decay event counts in a nuclear medicine projection image.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110821</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Nuclear Medicine Tomographic Activity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Accumulated decay event counts in a Nuclear Medicine Tomographic image (including PET).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110822</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement X Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement along axis X of a non linear deformable spatial registration image. The X axis is defined in reference to the patient’s orientation, and is increasing to the left hand side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110823</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement Y Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement along axis Y of a non linear deformable spatial registration image. The Y axis is defined in reference to the patient’s orientation, and is increasing to the posterior side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110824</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement Z Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial Displacement along axis Z of a Non linear deformable spatial registration image. The Z axis is defined in reference to the patient’s orientation, and is increasing toward the head of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110825</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Hemodynamic Resistance<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Measured resistance to the flow of blood, e.g. through the vasculature or through a heart value.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110826</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Indexed Hemodynamic Resistance<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Measured resistance to the flow of blood, e.g. through the vasculature or through a heart value, normalized to a particular indexed scale.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110827</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Tissue Velocity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Velocity of tissue based on Doppler measurements. <br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110828</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Flow Velocity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Velocity of blood flow based on Doppler measurements.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110829</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Flow Variance<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Statistical variance of blood velocity relative to mean.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110830</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Elasticity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Scalar value related to the elastic properties of the tissue.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110831</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Perfusion<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Scalar value related to the volume of blood perfusing into tissue.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110832</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Speed of sound<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Speed of sound in tissue.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110833</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Ultrasound Attenuation<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Reduction in strength of ultrasound signal as the wave.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110834</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB R Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Red component of a true color image (RGB).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110835</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB G Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Green component of a true color image (RGB).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110836</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| RGB B Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Blue component of a true color image (RGB).<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110837</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL Y Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Y (Luminance) component of a YBR FULL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110838</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CB Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CB (Blue chrominance) component of a YBR FULL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110839</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR FULL CR Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CR (Red chrominance) component of a YBR FULL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110840</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL Y Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Y (Luminance) component of a YBR PARTIAL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110841</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CB Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CB (Blue chrominance) component of a YBR PARTIAL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110842</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR PARTIAL CR Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CR (Red chrominance) component of a YBR PARTIAL image, as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110843</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT Y Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Y (Luminance) component of a YBR ICT image (Irreversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110844</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CB Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CB (Blue chrominance) component of a YBR ICT image (Irreversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110845</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR ICT CR Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CR (Red chrominance) component of a YBR ICT image (Irreversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110846</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT Y Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Y (Luminance) component of a YBR RCT image (Reversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110847</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CB Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CB (Blue chrominance) component of a YBR RCT image (Reversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110848</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| YBR RCT CR Component<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| CR (Red chrominance) component of a YBR RCT image (Reversible Color Transform), as defined in JPEG 2000.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110849</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Echogenicity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| The ability of a material to create an ultrasound return echo.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110850</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| X-Ray Attenuation<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Decrease in the number of photons in an X-ray beam due to interactions with the atoms of a material substance. Attenuation is due primarily to two processes, absorption and scattering.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110851</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| X-Ray Attenuation Coefficient<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Coefficient which describes the fraction of a beam of x-rays or gamma rays that is absorbed or scattered per unit thickness of the absorber. This value basically accounts for the number of atoms in a cubic cm volume of material and the probability of a photon being scattered or absorbed from the nucleus or an electron of one of these atoms.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110852</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| MR signal intensity<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Signal intensity of an MR image, not otherwise specified.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110853</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Binary Segmentation<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Binary value denoting that the segmented property is present.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110854</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Probabilistic Segmentation<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Probability, defined as a percentage, that the segmented property occupies the spatial area defined by the voxel.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110855</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Fractional Occupancy Segmentation<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Percentage of the voxel area occupied by the segmented property.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110856</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Linear Displacement<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial dimension, denoting a linear displacement.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110857</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Photon Energy<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dimension denoting the energy (frequency or wavelength) of photons.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110858</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Time<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Dimension used to sequence events, to compare the duration of events and the intervals between events.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110859</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Angle<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Spatial dimension, denoting an angle.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110860</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Left-Right Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the patient’s left and right side.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110861</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Head-Foot Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the patient’s head and foot.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110862</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior-Posterior Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the patient’s anterior and posterior sides.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110863</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Apex-Base Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the apex and base of an organ, object, or chamber.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110864</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior-Inferior Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the anterior and inferior sides of an organ, object, or chamber.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110865</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Septum-Wall Axis<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| A spatial dimension axis running along a line between the septum and wall of a chamber.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110866</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Right To Left<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the right to the left side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110867</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Left To Right<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the left to the right side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110868</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Head To Foot<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the head to the foot of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110869</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Foot To Head<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the foot to the head of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110870</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior To Posterior<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the anterior to the posterior side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110871</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Posterior To Anterior<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the posterior to the anterior side of the patient.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110872</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Apex To Base<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the apex to the base.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110873</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Base To Apex<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the base to the apex.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110874</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Anterior To Inferior<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the anterior to the inferior.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110875</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Inferior To Anterior<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the inferior to the anterior.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110876</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Septum To Wall<br />
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the septum of a chamber to the opposite wall.<br />
<br />
|-<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0153in double #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <center>110877</center><br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0153in double #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Wall To Septum<br />
| style="border-top:0.0069in solid #000000;border-bottom:0.0153in double #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| Orientation of a spatial dimension where increasing values run from the opposite wall to the septum of a chamber.<br />
<br />
|}</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=628Documentation/DicomApplicationHosting2011-02-09T21:06:33Z<p>Benoit.bleuze: /* Reference */</p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all CMake variables starting with CTK_PLUGIN_org.commontk.dah .<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]<br />
<br />
==Reference==<br />
[[file:DicomAppHostingSpecs.pdf]]<br />
<br />
[[Documentation/DicomApplicationHostingReference]]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=627Documentation/DicomApplicationHosting2011-02-09T21:06:21Z<p>Benoit.bleuze: /* Reference */</p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all CMake variables starting with CTK_PLUGIN_org.commontk.dah .<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]<br />
<br />
==Reference==<br />
[[file:DicomAppHostingSpecs.pdf]]<br />
[[Documentation/DicomApplicationHostingReference]]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=File:DicomAppHostingSpecs.pdf&diff=620File:DicomAppHostingSpecs.pdf2011-02-09T14:12:25Z<p>Benoit.bleuze: uploaded a new version of "File:DicomAppHostingSpecs.pdf":&#32;final version from the Dicom ftp.</p>
<hr />
<div></div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=611Documentation/DicomApplicationHosting2011-02-07T19:11:07Z<p>Benoit.bleuze: /* DICOM Application Hosting */</p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all CMake variables starting with CTK_PLUGIN_org.commontk.dah .<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]<br />
<br />
==Reference==<br />
[[file:DicomAppHostingSpecs.pdf]]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=File:DicomAppHostingSpecs.pdf&diff=610File:DicomAppHostingSpecs.pdf2011-02-07T19:10:44Z<p>Benoit.bleuze: </p>
<hr />
<div></div>Benoit.bleuzehttps://www.commontk.org/index.php?title=CTK-Hackfest-Feb-2011&diff=495CTK-Hackfest-Feb-20112011-01-11T08:53:12Z<p>Benoit.bleuze: /* Attendees */</p>
<hr />
<div>[[File:DSC00681.JPG|thumb|right|300px|<big>CTK team hacking in Georgetown...</big>]]<br />
[[File:20100311-CTKHackfest.jpg|thumb|right|300px|<big>CTK team hacking in Heidelberg...</big>]]<br />
<br />
== Introduction ==<br />
<br />
'''Date:''' February 7-11, 2011<br />
<br />
'''Location:''' Chapel Hill, North Carolina, USA: [http://www.franklinhotelnc.com/ The Franklin Hotel]<br />
<br />
'''Goal:''' A follow on to the [[Commontk:Current_events#Past_events|wildly successful previous hackfests!]]<br />
<br />
'''Requirements:''' Attendees must be willing to spend their time with the details of dicom, git, cmake, c++, Qt, vtk, itk, openinventor, and related technologies. People who do not feel qualified for this are politely not invited :)<br />
<br />
'''Group size:''' Maximum 20 participants so we can have a manageable working meeting. The organizing committee will invite and select participants based on input from [[TheTeam]].<br />
<br />
'''Organizers:''' Ivo Wolf, Steve Pieper, Stephen Aylward<br />
<br />
'''Site Hosts:''' Kitware's office in North Carolina: Julien Finet, Jean-Christophe Fillion-Robin, Stephen Aylward<br />
<br />
'''Future Events:''' Future hackfests will be announced in advance, and we hope lots of people will be interested in participating. The venue and activities at future hackfests will be determined based on the number of active participants in the project. We welcome participation via the CTK email lists, the source code repository, and this website.<br />
<br />
== Attendees ==<br />
<br />
Please add your name below or [mailto:stephen.aylward@kitware.com;pieper@bwh.harvard.edu;i.wolf@hs-mannheim.de email the hackfest organizers] if you wish to attend the Hackfest. Please also indicate if you plan on staying at the hotel (anticipated room rate is $139/night):<br />
{| border="5" cellpadding="10"<br />
! Name<br />
! Organization<br />
! Staying at Hotel<br />
|-<br />
| Jean-Chistophe Fillion-Robin<br />
| Kitware<br />
| No<br />
|-<br />
| Julien Finet<br />
| Kitware<br />
| No<br />
|-<br />
| Steve Pieper<br />
| Isomics<br />
| Yes<br />
|-<br />
| Ivo Wolf<br />
| Hochschule Mannheim<br />
| Yes<br />
|-<br />
| Stephen Aylward<br />
| Kitware<br />
| No<br />
|-<br />
| Marco Nolden<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Sascha Zelzer<br />
| DKFZ, Heidelberg<br />
| Yes<br />
|-<br />
| Daniele Giunchi<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Paolo Quadrani<br />
| SCS, Bologna<br />
| Yes<br />
|-<br />
| Benoît Bleuzé<br />
| INRIA, Sophia-Antipolis<br />
| Yes<br />
|}<br />
<br />
== Preparation ==<br />
<br />
Developers should bring a laptop with the [http://github.com/pieper/CTK current CTK source code] downloaded and [[Build_Instructions|built]].<br />
<br />
Use the [http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers CTK developers mailing list] to discuss build issues and topics for ongoing work.<br />
<br />
== Topics and Projects ==<br />
<br />
Pick up threads of discussion and activity from [[Commontk:Current_events#Past_events|previous events]]<br />
<br />
General set of topics (attendees, please flesh this out with your own ideas!)<br />
<br />
=== DICOM ===<br />
<br />
<br />
=== Integration ===<br />
<br />
<br />
=== Widgets ===<br />
<br />
<br />
=== Events and Communications ===<br />
<br />
<br />
=== Plugins, Modules ===<br />
<br />
<br />
=== Interoperability ===<br />
<br />
=== Organization and Workflow ===<br />
<br />
<br />
== Travel & Hotel ==<br />
<br />
'''Airport''' <br />
* '''Raleigh-Durham Airport (RDU):''' RDU hosts international flights from Frankfurt, London, and Toronto; as well as frequent flights from New York, Washington DC, Atlanta, and many others.<br />
* Taxi ride from the airport to the hotel is about $40 and takes about 30 minutes.<br />
<br />
'''Lodging''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' '''We are reserving a block of rooms at a reduced rate. We will post more information as it becomes available.'''<br />
** The Franklin Hotel is central to the business district of Chapel Hill and 0.5 miles from the University of North Carolina campus [http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Franklin+Hotel,+Chapel+Hill,+NC&sll=35.912063,-79.059634&sspn=0.035279,0.054502&ie=UTF8&hq=Franklin+Hotel&hnear=Franklin+Hotel,+311+W+Franklin+St,+Chapel+Hill,+North+Carolina+27516-2519&ll=35.911351,-79.060085&spn=0.009037,0.013626&t=h&z=17&iwloc=A MAP].<br />
<br />
'''Meeting Location''' <br />
* '''[http://www.franklinhotelnc.com/ The Franklin Hotel]:''' The meeting room will be at the Franklin Hotel. They will be providing snacks and drinks throughout the day.<br />
<br />
'''Weather'''<br />
* Average min/max temperature in February in Chapel Hill: 32F/55F<br />
<br />
'''Connectivity'''<br />
* TBD</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=326Documentation/DicomApplicationHosting2010-09-21T07:34:30Z<p>Benoit.bleuze: </p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all CMake variables starting with CTK_PLUGIN_org.commontk.dah .<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=DicomApplicationHosting:DataExchangeDevelopment&diff=325DicomApplicationHosting:DataExchangeDevelopment2010-09-21T07:33:53Z<p>Benoit.bleuze: moved DicomApplicationHosting:DataExchangeDevelopment to Documentation/DicomApplicationHosting:DataExchangeDevelopment:&#32;stay consistent with parent page name</p>
<hr />
<div>#REDIRECT [[Documentation/DicomApplicationHosting:DataExchangeDevelopment]]</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting:DataExchangeDevelopment&diff=324Documentation/DicomApplicationHosting:DataExchangeDevelopment2010-09-21T07:33:53Z<p>Benoit.bleuze: moved DicomApplicationHosting:DataExchangeDevelopment to Documentation/DicomApplicationHosting:DataExchangeDevelopment:&#32;stay consistent with parent page name</p>
<hr />
<div>==DICOM Specifications uncertainties==<br />
<br />
First the implementation showed some dark areas on how to stick to the official definition. These comments have been (or will be very soon) forwarded to Lawrence Tarbox for advice and correction.<br />
* Some inconsistencies in the naming of parameters and functions (capitalization mostly). But these are benign, they just need polishing on an updated version.<br />
* It is not always clear in the definition that some data are a ''ArrayOf[Type]''. For instance, section 9.2, definition of the AvailableData type lists these parameters:<br />
** ''ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures [...]'' <br />
** ''Patients : Patient[] – An array of Patient data structures''.<br />
Replacing the term ''ArrayOfPatients'' by Patient[] leads to confusion as what is an array, and does one need to wrap arrays with this ''ArrayOf[Type]'' wording.<br />
* ''ArrayOf[Type]'' has been very obscure to us. Especially since we had poor notions of WSDL notations we can't really challenge this notation, and the w3c definition creates a gray area http://www.w3.org/TR/wsdl#_wsdl :<br />
<cite><br />
Array types should extend the Array type defined in the SOAP v1.1 encoding schema (http://schemas.xmlsoap.org/soap/encoding/) (regardless of whether the resulting form actually uses the encoding specified in Section 5 of the SOAP v1.1 document). Use the name ArrayOfXXX for array types (where XXX is the type of the items in the array). The type of the items in the array and the array dimensions are specified by using a default value for the soapenc:arrayType attribute. At the time of this writing, the XSD specification does not have a mechanism for specifying the default value of an attribute which contains a QName value. To overcome this limitation, WSDL introduces the arrayType attribute (from namespace http://schemas.xmlsoap.org/wsdl/) which has the semantic of providing the default value. If XSD is revised to support this functionality, the revised mechanism SHOULD be used in favor of the arrayType attribute defined by WSDL.<br />
</cite><br />
<br />
* Why do the example schemas in appendices of the specifications use the microsoft schemas and not the official W3C WSDL schemas?<br />
<br />
Have a look at the QtSoap limitations to see an illustration of the doubts there still are on this Array issue.<br />
<br />
==Outstanding features==<br />
* No model exchange yet. That is not planned until we get the simple data exchange right.<br />
* Only the back end (both client and server)has been worked on, the actual example server and client don't feature data exchange yet.<br />
* the only outstanding function is '''releaseData'''.<br />
<br />
<br />
==Dirty hacks and unpolished methods==<br />
Due to speed of coding and the impatience to see something come out of the specifications some corners have been cut.<br />
* Worst of all: there is a non uniform use of statically and dynamically allocated memory in the data binding helper classes. As a result it's not always clear who is responsible for handling the memory. This should be the first place to look at if someone is thinking of doing an example implementation of the data exchange specs. If there are segmentation faults, they come from there, most likely.<br />
<br />
* Most of the inconsistencies in naming have been corrected by Sasha on the 20th of September, but some may still lurk somewhere, don't be afraid to check them.<br />
<br />
<br />
<br />
===QtSoap limitations===<br />
* There is no constructor nor accessor for ''long'' simple types in QtSoap, only ''int''s are covered. For the sake of quick implementation and early testing ObjectLocator.length and ObjectLocator.offset have been casted to ''int'' at Soap->C++ translation time. If someone knows how to transfer Soap long object with QtSoap, please give us a hand.<br />
* Ok, not sure about this one: QtSoapArrays are constructed using the ''arrayType'' attribute from supposedly http://schemas.xmlsoap.org/wsdl/. But it restricts the possible types to a few set, plus ''QtSoapType::Other''. This may not be compatible with the ''ArrayOf[Type]'' way of writing arrays. Extended testing with other implementations should be pursued to get this right.</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting:DataExchangeDevelopment&diff=319Documentation/DicomApplicationHosting:DataExchangeDevelopment2010-09-20T15:10:10Z<p>Benoit.bleuze: /* DICOM Specifications uncertainties */</p>
<hr />
<div>==DICOM Specifications uncertainties==<br />
<br />
First the implementation showed some dark areas on how to stick to the official definition. These comments have been (or will be very soon) forwarded to Lawrence Tarbox for advice and correction.<br />
* Some inconsistencies in the naming of parameters and functions (capitalization mostly). But these are benign, they just need polishing on an updated version.<br />
* It is not always clear in the definition that some data are a ''ArrayOf[Type]''. For instance, section 9.2, definition of the AvailableData type lists these parameters:<br />
** ''ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures [...]'' <br />
** ''Patients : Patient[] – An array of Patient data structures''.<br />
Replacing the term ''ArrayOfPatients'' by Patient[] leads to confusion as what is an array, and does one need to wrap arrays with this ''ArrayOf[Type]'' wording.<br />
* ''ArrayOf[Type]'' has been very obscure to us. Especially since we had poor notions of WSDL notations we can't really challenge this notation, and the w3c definition creates a gray area http://www.w3.org/TR/wsdl#_wsdl :<br />
<cite><br />
Array types should extend the Array type defined in the SOAP v1.1 encoding schema (http://schemas.xmlsoap.org/soap/encoding/) (regardless of whether the resulting form actually uses the encoding specified in Section 5 of the SOAP v1.1 document). Use the name ArrayOfXXX for array types (where XXX is the type of the items in the array). The type of the items in the array and the array dimensions are specified by using a default value for the soapenc:arrayType attribute. At the time of this writing, the XSD specification does not have a mechanism for specifying the default value of an attribute which contains a QName value. To overcome this limitation, WSDL introduces the arrayType attribute (from namespace http://schemas.xmlsoap.org/wsdl/) which has the semantic of providing the default value. If XSD is revised to support this functionality, the revised mechanism SHOULD be used in favor of the arrayType attribute defined by WSDL.<br />
</cite><br />
<br />
* Why do the example schemas in appendices of the specifications use the microsoft schemas and not the official W3C WSDL schemas?<br />
<br />
Have a look at the QtSoap limitations to see an illustration of the doubts there still are on this Array issue.<br />
<br />
==Outstanding features==<br />
* No model exchange yet. That is not planned until we get the simple data exchange right.<br />
* Only the back end (both client and server)has been worked on, the actual example server and client don't feature data exchange yet.<br />
* the only outstanding function is '''releaseData'''.<br />
<br />
<br />
==Dirty hacks and unpolished methods==<br />
Due to speed of coding and the impatience to see something come out of the specifications some corners have been cut.<br />
* Worst of all: there is a non uniform use of statically and dynamically allocated memory in the data binding helper classes. As a result it's not always clear who is responsible for handling the memory. This should be the first place to look at if someone is thinking of doing an example implementation of the data exchange specs. If there are segmentation faults, they come from there, most likely.<br />
<br />
* Most of the inconsistencies in naming have been corrected by Sasha on the 20th of September, but some may still lurk somewhere, don't be afraid to check them.<br />
<br />
<br />
<br />
===QtSoap limitations===<br />
* There is no constructor nor accessor for ''long'' simple types in QtSoap, only ''int''s are covered. For the sake of quick implementation and early testing ObjectLocator.length and ObjectLocator.offset have been casted to ''int'' at Soap->C++ translation time. If someone knows how to transfer Soap long object with QtSoap, please give us a hand.<br />
* Ok, not sure about this one: QtSoapArrays are constructed using the ''arrayType'' attribute from supposedly http://schemas.xmlsoap.org/wsdl/. But it restricts the possible types to a few set, plus ''QtSoapType::Other''. This may not be compatible with the ''ArrayOf[Type]'' way of writing arrays. Extended testing with other implementations should be pursued to get this right.</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting:DataExchangeDevelopment&diff=318Documentation/DicomApplicationHosting:DataExchangeDevelopment2010-09-20T15:07:21Z<p>Benoit.bleuze: </p>
<hr />
<div>==DICOM Specifications uncertainties==<br />
<br />
First the implementation showed some dark areas on how to stick to the official definition. These comments have been (or will be very soon) forwarded to Lawrence Tarbox for advice and correction.<br />
* Some inconsistencies in the naming of parameters and functions (capitalization mostly). But these are benign, they just need polishing on an updated version.<br />
* It is not always clear in the definition that some data are a ''ArrayOf[Type]''. For instance, section 9.2, definition of the AvailableData type lists these parameters:<br />
** ''ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures [...]'' <br />
** ''Patients : Patient[] – An array of Patient data structures''.<br />
Replacing the term ''ArrayOfPatients'' by Patient[] leads to confusion as what is an array, and does one need to wrap arrays with this ''ArrayOf[Type]'' wording.<br />
* ''ArrayOf[Type]'' has been very obscure to us. Especially since we had poor notions of WSDL notations we can't really challenge this notation, and the w3c definition creates a gray area http://www.w3.org/TR/wsdl#_wsdl :<br />
<cite><br />
Array types should extend the Array type defined in the SOAP v1.1 encoding schema (http://schemas.xmlsoap.org/soap/encoding/) (regardless of whether the resulting form actually uses the encoding specified in Section 5 of the SOAP v1.1 document). Use the name ArrayOfXXX for array types (where XXX is the type of the items in the array). The type of the items in the array and the array dimensions are specified by using a default value for the soapenc:arrayType attribute. At the time of this writing, the XSD specification does not have a mechanism for specifying the default value of an attribute which contains a QName value. To overcome this limitation, WSDL introduces the arrayType attribute (from namespace http://schemas.xmlsoap.org/wsdl/) which has the semantic of providing the default value. If XSD is revised to support this functionality, the revised mechanism SHOULD be used in favor of the arrayType attribute defined by WSDL.<br />
</cite><br />
<br />
Have a look at the QtSoap limitations to see an illustration of the doubts there still are on this Array issue.<br />
<br />
<br />
==Outstanding features==<br />
* No model exchange yet. That is not planned until we get the simple data exchange right.<br />
* Only the back end (both client and server)has been worked on, the actual example server and client don't feature data exchange yet.<br />
* the only outstanding function is '''releaseData'''.<br />
<br />
<br />
==Dirty hacks and unpolished methods==<br />
Due to speed of coding and the impatience to see something come out of the specifications some corners have been cut.<br />
* Worst of all: there is a non uniform use of statically and dynamically allocated memory in the data binding helper classes. As a result it's not always clear who is responsible for handling the memory. This should be the first place to look at if someone is thinking of doing an example implementation of the data exchange specs. If there are segmentation faults, they come from there, most likely.<br />
<br />
* Most of the inconsistencies in naming have been corrected by Sasha on the 20th of September, but some may still lurk somewhere, don't be afraid to check them.<br />
<br />
<br />
<br />
===QtSoap limitations===<br />
* There is no constructor nor accessor for ''long'' simple types in QtSoap, only ''int''s are covered. For the sake of quick implementation and early testing ObjectLocator.length and ObjectLocator.offset have been casted to ''int'' at Soap->C++ translation time. If someone knows how to transfer Soap long object with QtSoap, please give us a hand.<br />
* Ok, not sure about this one: QtSoapArrays are constructed using the ''arrayType'' attribute from supposedly http://schemas.xmlsoap.org/wsdl/. But it restricts the possible types to a few set, plus ''QtSoapType::Other''. This may not be compatible with the ''ArrayOf[Type]'' way of writing arrays. Extended testing with other implementations should be pursued to get this right.</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting:DataExchangeDevelopment&diff=316Documentation/DicomApplicationHosting:DataExchangeDevelopment2010-09-20T14:24:11Z<p>Benoit.bleuze: Created page with '==DICOM Specifications uncertainties== First the implementation showed some dark areas on how to stick to the official definition. These comments have been (or will be very soon…'</p>
<hr />
<div>==DICOM Specifications uncertainties==<br />
<br />
First the implementation showed some dark areas on how to stick to the official definition. These comments have been (or will be very soon) forwarded to Lawrence Tarbox for advice and correction.<br />
* Some inconsistencies in the naming of parameters and functions (capitalization mostly). But these are benign, they just need polishing on an updated version.<br />
* It is not always clear in the definition that some data are a ''ArrayOf[Type]''. For instance, section 9.2, definition of the AvailableData type lists these parameters:<br />
** ''ObjectDescriptors : ObjectDescriptor[] – An array of ObjectDescriptor data structures [...]'' <br />
** ''Patients : Patient[] – An array of Patient data structures''.<br />
Replacing the term ''ArrayOfPatients'' by Patient[] leads to confusion as what is an array, and does one need to wrap arrays with this ''ArrayOf[Type]'' wording.<br />
* ''ArrayOf[Type]'' has been very obscure to us. Especially since we had poor notions of WSDL notations we can't really challenge this notation, and the w3c definition creates a gray area http://www.w3.org/TR/wsdl#_wsdl :<br />
<cite><br />
Array types should extend the Array type defined in the SOAP v1.1 encoding schema (http://schemas.xmlsoap.org/soap/encoding/) (regardless of whether the resulting form actually uses the encoding specified in Section 5 of the SOAP v1.1 document). Use the name ArrayOfXXX for array types (where XXX is the type of the items in the array). The type of the items in the array and the array dimensions are specified by using a default value for the soapenc:arrayType attribute. At the time of this writing, the XSD specification does not have a mechanism for specifying the default value of an attribute which contains a QName value. To overcome this limitation, WSDL introduces the arrayType attribute (from namespace http://schemas.xmlsoap.org/wsdl/) which has the semantic of providing the default value. If XSD is revised to support this functionality, the revised mechanism SHOULD be used in favor of the arrayType attribute defined by WSDL.<br />
</cite><br />
==Outstanding features==<br />
<br />
==Dirty hacks and unpolished methods==<br />
<br />
===QtSoap limitations===<br />
There is no constructor nor accessor for ''long'' simple types in QtSoap, only ''int''s are covered. For the sake of quick implementation and early testing ObjectLocator.length and ObjectLocator.offset have been casted to ''int'' at Soap->C++ translation time. If someone knows how to transfer Soap long object with QtSoap, please give us a hand.</div>Benoit.bleuzehttps://www.commontk.org/index.php?title=Documentation/DicomApplicationHosting&diff=314Documentation/DicomApplicationHosting2010-09-20T13:45:28Z<p>Benoit.bleuze: /* Status */</p>
<hr />
<div>= DICOM Application Hosting =<br />
<br />
== Introduction ==<br />
<br />
The goal is to create a C++ implementation of an application host and and a hosted application conforming to DICOM Supplement 118 / Working Group 23 .<br />
<br />
== Status ==<br />
<br />
Current development happens in the dah branch of the commontk/CTK repository on github: http://github.com/commontk/CTK/tree/dah<br />
<br />
Basic message passing between the CTK Host and the application works (state changes, screen area exchange). Basic interoperability with the XIP implementations also works (in both directions: XIP host -> ctk app, as well as ctk host -> XIP simple app), but there is no exchange of image data yet. (Note: the current version of the XIP host (v0.3.0) works only on Windows without problems).<br />
<br />
Data exchange is being worked on at the moment. First we will exchange data files, not models. To bring you up to date with the current progress and shortcomings of the data exchange part of the implementation, see [[DicomApplicationHosting:DataExchangeDevelopment]]<br />
<br />
== Build / Usage ==<br />
<br />
Two applications can be turned on in the CMake configuration: ctkExampleHost and ctkExampleHostedApp . Make sure you also turn on all dicom related CTK_PLUGIN variables.<br />
<br />
The ctkExampleHost is a Qt application . Press the Load button to choose the application to host. Press Start to invoke the application and Run to start processing. <br />
<br />
== Links == <br />
<br />
[https://cabig.nci.nih.gov/tools/XIP XIP@caBIG] <br />
<br />
[http://support.dcmtk.org/wiki/dicom/application-hosting General information about DICOM application hosting]</div>Benoit.bleuze