comparison Core/Enumerations.h @ 2006:6301bbcbcaed

more generic support of value representations
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 09 Jun 2016 14:48:40 +0200
parents e2a3ff770b48
children 655489d9165d
comparison
equal deleted inserted replaced
2005:9e021b2b348b 2006:6301bbcbcaed
29 * along with this program. If not, see <http://www.gnu.org/licenses/>. 29 * along with this program. If not, see <http://www.gnu.org/licenses/>.
30 **/ 30 **/
31 31
32 32
33 #pragma once 33 #pragma once
34
35 #include <string>
34 36
35 namespace Orthanc 37 namespace Orthanc
36 { 38 {
37 enum Endianness 39 enum Endianness
38 { 40 {
383 RequestOrigin_Lua 385 RequestOrigin_Lua
384 }; 386 };
385 387
386 388
387 /** 389 /**
390 * The value representations Orthanc knows about. They correspond to
391 * the DICOM 2016b version of the standard.
392 * http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_6.2.html
393 **/
394 enum ValueRepresentation
395 {
396 ValueRepresentation_ApplicationEntity = 1, // AE
397 ValueRepresentation_AgeString = 2, // AS
398 ValueRepresentation_AttributeTag = 3, // AT (2 x uint16_t)
399 ValueRepresentation_CodeString = 4, // CS
400 ValueRepresentation_Date = 5, // DA
401 ValueRepresentation_DecimalString = 6, // DS
402 ValueRepresentation_DateTime = 7, // DT
403 ValueRepresentation_FloatingPointSingle = 8, // FL (float)
404 ValueRepresentation_FloatingPointDouble = 9, // FD (double)
405 ValueRepresentation_IntegerString = 10, // IS
406 ValueRepresentation_LongString = 11, // LO
407 ValueRepresentation_LongText = 12, // LT
408 ValueRepresentation_OtherByte = 13, // OB
409 ValueRepresentation_OtherDouble = 14, // OD
410 ValueRepresentation_OtherFloat = 15, // OF
411 ValueRepresentation_OtherLong = 16, // OL
412 ValueRepresentation_OtherWord = 17, // OW
413 ValueRepresentation_PatientName = 18, // PN
414 ValueRepresentation_ShortString = 19, // SH
415 ValueRepresentation_SignedLong = 20, // SL (int32_t)
416 ValueRepresentation_Sequence = 21, // SQ
417 ValueRepresentation_SignedShort = 22, // SS (int16_t)
418 ValueRepresentation_ShortText = 23, // ST
419 ValueRepresentation_Time = 24, // TM
420 ValueRepresentation_UnlimitedCharacters = 25, // UC
421 ValueRepresentation_UniqueIdentifier = 26, // UI (UID)
422 ValueRepresentation_UnsignedLong = 27, // UL (uint32_t)
423 ValueRepresentation_Unknown = 28, // UN
424 ValueRepresentation_UniversalResource = 29, // UR (URI or URL)
425 ValueRepresentation_UnsignedShort = 30, // US (uint16_t)
426 ValueRepresentation_UnlimitedText = 31, // UT
427 ValueRepresentation_NotSupported // Not supported by Orthanc, or tag not in dictionary
428 };
429
430
431 /**
388 * WARNING: Do not change the explicit values in the enumerations 432 * WARNING: Do not change the explicit values in the enumerations
389 * below this point. This would result in incompatible databases 433 * below this point. This would result in incompatible databases
390 * between versions of Orthanc! 434 * between versions of Orthanc!
391 **/ 435 **/
392 436
457 501
458 ResourceType StringToResourceType(const char* type); 502 ResourceType StringToResourceType(const char* type);
459 503
460 ImageFormat StringToImageFormat(const char* format); 504 ImageFormat StringToImageFormat(const char* format);
461 505
462 LogLevel StringToLogLevel(const char* format); 506 LogLevel StringToLogLevel(const char* level);
507
508 ValueRepresentation StringToValueRepresentation(const std::string& vr,
509 bool throwIfUnsupported);
463 510
464 unsigned int GetBytesPerPixel(PixelFormat format); 511 unsigned int GetBytesPerPixel(PixelFormat format);
465 512
466 bool GetDicomEncoding(Encoding& encoding, 513 bool GetDicomEncoding(Encoding& encoding,
467 const char* specificCharacterSet); 514 const char* specificCharacterSet);