Commit f879b8b886f8f5ed5bd62b27e70c64b5901795cf
1 parent
107e6ffc
Exists in
master
and in
67 other branches
ENH: Added conversion between DICOM and Python encoding
Showing
3 changed files
with
118 additions
and
101 deletions
Show diff stats
invesalius/constants.py
@@ -441,7 +441,8 @@ VTK_WARNING = 0 | @@ -441,7 +441,8 @@ VTK_WARNING = 0 | ||
441 | 441 | ||
442 | [ID_DICOM_IMPORT, ID_PROJECT_OPEN, ID_PROJECT_SAVE_AS, ID_PROJECT_SAVE, | 442 | [ID_DICOM_IMPORT, ID_PROJECT_OPEN, ID_PROJECT_SAVE_AS, ID_PROJECT_SAVE, |
443 | ID_PROJECT_CLOSE, ID_PROJECT_INFO, ID_SAVE_SCREENSHOT, ID_DICOM_LOAD_NET, | 443 | ID_PROJECT_CLOSE, ID_PROJECT_INFO, ID_SAVE_SCREENSHOT, ID_DICOM_LOAD_NET, |
444 | -ID_PRINT_SCREENSHOT, ID_EXIT, ID_IMPORT_OTHERS_FILES, ID_ANALYZE_IMPORT, ID_PREFERENCES] = [wx.NewId() for number in range(13)] | 444 | +ID_PRINT_SCREENSHOT, ID_EXIT, ID_IMPORT_OTHERS_FILES, ID_ANALYZE_IMPORT, ID_PREFERENCES, |
445 | +ID_DICOM_NETWORK] = [wx.NewId() for number in range(14)] | ||
445 | 446 | ||
446 | 447 | ||
447 | [ID_EDIT_UNDO, ID_EDIT_REDO, ID_EDIT_LIST] =\ | 448 | [ID_EDIT_UNDO, ID_EDIT_REDO, ID_EDIT_LIST] =\ |
@@ -509,3 +510,22 @@ STYLE_LEVEL = {SLICE_STATE_EDITOR: 1, | @@ -509,3 +510,22 @@ STYLE_LEVEL = {SLICE_STATE_EDITOR: 1, | ||
509 | RENDERING = 0 | 510 | RENDERING = 0 |
510 | SURFACE_INTERPOLATION = 1 | 511 | SURFACE_INTERPOLATION = 1 |
511 | LANGUAGE = 2 | 512 | LANGUAGE = 2 |
513 | + | ||
514 | + | ||
515 | +#Correlaction extracted from pyDicom | ||
516 | +DICOM_ENCODING_TO_PYTHON = { | ||
517 | + 'None':'iso8859', | ||
518 | + None:'iso8859', | ||
519 | + '': 'iso8859', | ||
520 | + 'ISO_IR 6': 'iso8859', | ||
521 | + 'ISO_IR 100': 'latin_1', | ||
522 | + 'ISO 2022 IR 87': 'iso2022_jp', | ||
523 | + 'ISO 2022 IR 13': 'iso2022_jp', | ||
524 | + 'ISO 2022 IR 149': 'euc_kr', | ||
525 | + 'ISO_IR 192': 'UTF8', | ||
526 | + 'GB18030': 'GB18030', | ||
527 | + 'ISO_IR 126': 'iso_ir_126', | ||
528 | + 'ISO_IR 127': 'iso_ir_127', | ||
529 | + 'ISO_IR 138': 'iso_ir_138', | ||
530 | + 'ISO_IR 144': 'iso_ir_144', | ||
531 | + } |
invesalius/reader/dicom.py
@@ -22,7 +22,7 @@ import time | @@ -22,7 +22,7 @@ import time | ||
22 | #import vtkgdcm | 22 | #import vtkgdcm |
23 | import sys | 23 | import sys |
24 | import utils | 24 | import utils |
25 | - | 25 | +import constants as const |
26 | # In DICOM file format, if multiple values are present for the | 26 | # In DICOM file format, if multiple values are present for the |
27 | # "Window Center" (Level) and "Window Width", both attributes | 27 | # "Window Center" (Level) and "Window Width", both attributes |
28 | # shall have the same number of values and shall be considered as | 28 | # shall have the same number of values and shall be considered as |
@@ -204,7 +204,7 @@ class Parser(): | @@ -204,7 +204,7 @@ class Parser(): | ||
204 | to the number of columns on the image. | 204 | to the number of columns on the image. |
205 | Return "" if not defined. | 205 | Return "" if not defined. |
206 | """ | 206 | """ |
207 | - data = self.data_image[0x028][0x011] | 207 | + data = self.data_image[str(0x028)][str(0x011)] |
208 | if (data): | 208 | if (data): |
209 | return int(str(data)) | 209 | return int(str(data)) |
210 | return "" | 210 | return "" |
@@ -216,7 +216,7 @@ class Parser(): | @@ -216,7 +216,7 @@ class Parser(): | ||
216 | to the number of rows on the image. | 216 | to the number of rows on the image. |
217 | Return "" if not defined. | 217 | Return "" if not defined. |
218 | """ | 218 | """ |
219 | - data = self.data_image[0x028][0x010] | 219 | + data = self.data_image[str(0x028)][str(0x010)] |
220 | if (data): | 220 | if (data): |
221 | return int(str(data)) | 221 | return int(str(data)) |
222 | return "" | 222 | return "" |
@@ -303,7 +303,7 @@ class Parser(): | @@ -303,7 +303,7 @@ class Parser(): | ||
303 | """ | 303 | """ |
304 | # TODO: internationalize data | 304 | # TODO: internationalize data |
305 | try: | 305 | try: |
306 | - date = self.data_image[0x0008][0x0022] | 306 | + date = self.data_image[str(0x0008)][str(0x0022)] |
307 | except(KeyError): | 307 | except(KeyError): |
308 | return "" | 308 | return "" |
309 | 309 | ||
@@ -318,7 +318,7 @@ class Parser(): | @@ -318,7 +318,7 @@ class Parser(): | ||
318 | 318 | ||
319 | DICOM standard tag (0x0020, 0x0012) was used. | 319 | DICOM standard tag (0x0020, 0x0012) was used. |
320 | """ | 320 | """ |
321 | - data = self.data_image[0x0020][0x0012] | 321 | + data = self.data_image[str(0x0020)][str(0x0012)] |
322 | if (data): | 322 | if (data): |
323 | return int(str(data)) | 323 | return int(str(data)) |
324 | return "" | 324 | return "" |
@@ -329,7 +329,8 @@ class Parser(): | @@ -329,7 +329,8 @@ class Parser(): | ||
329 | 329 | ||
330 | DICOM standard tag (0x0008, 0x0050) was used. | 330 | DICOM standard tag (0x0008, 0x0050) was used. |
331 | """ | 331 | """ |
332 | - data = self.data_image[0x008][0x050] | 332 | + #data = self.data_image[0x008][0x050] |
333 | + return "" | ||
333 | if (data): | 334 | if (data): |
334 | try: | 335 | try: |
335 | value = int(str(data)) | 336 | value = int(str(data)) |
@@ -346,7 +347,7 @@ class Parser(): | @@ -346,7 +347,7 @@ class Parser(): | ||
346 | 347 | ||
347 | DICOM standard tag (0x0008,0x0032) was used. | 348 | DICOM standard tag (0x0008,0x0032) was used. |
348 | """ | 349 | """ |
349 | - data = self.data_image[0x008][0x032] | 350 | + data = self.data_image[str(0x008)][str(0x032)] |
350 | if (data) and (data != ''): | 351 | if (data) and (data != ''): |
351 | return self.__format_time(str(data)) | 352 | return self.__format_time(str(data)) |
352 | return "" | 353 | return "" |
@@ -381,7 +382,7 @@ class Parser(): | @@ -381,7 +382,7 @@ class Parser(): | ||
381 | DICOM standard tag (0x0028,0x1050) was used. | 382 | DICOM standard tag (0x0028,0x1050) was used. |
382 | """ | 383 | """ |
383 | try: | 384 | try: |
384 | - data = self.data_image[0x028][0x1050] | 385 | + data = self.data_image[str(0x028)][str(0x1050)] |
385 | except(KeyError): | 386 | except(KeyError): |
386 | return "300" | 387 | return "300" |
387 | if (data): | 388 | if (data): |
@@ -413,7 +414,7 @@ class Parser(): | @@ -413,7 +414,7 @@ class Parser(): | ||
413 | DICOM standard tag (0x0028,0x1051) was used. | 414 | DICOM standard tag (0x0028,0x1051) was used. |
414 | """ | 415 | """ |
415 | try: | 416 | try: |
416 | - data = self.data_image[0x028][0x1051] | 417 | + data = self.data_image[str(0x028)][str(0x1051)] |
417 | except(KeyError): | 418 | except(KeyError): |
418 | return "2000" | 419 | return "2000" |
419 | 420 | ||
@@ -442,7 +443,7 @@ class Parser(): | @@ -442,7 +443,7 @@ class Parser(): | ||
442 | DICOM standard tag (0x0020, 0x0032) was used. | 443 | DICOM standard tag (0x0020, 0x0032) was used. |
443 | """ | 444 | """ |
444 | try: | 445 | try: |
445 | - data = self.data_image[0x020][0x032] | 446 | + data = self.data_image[str(0x020)][str(0x032)] |
446 | except(KeyError): | 447 | except(KeyError): |
447 | return "" | 448 | return "" |
448 | if (data): | 449 | if (data): |
@@ -457,7 +458,7 @@ class Parser(): | @@ -457,7 +458,7 @@ class Parser(): | ||
457 | 458 | ||
458 | DICOM standard tag (0x0020, 0x0032) was used. | 459 | DICOM standard tag (0x0020, 0x0032) was used. |
459 | """ | 460 | """ |
460 | - data = self.data_image[0x020][0x1041] | 461 | + data = self.data_image[str(0x020)][str(0x1041)] |
461 | if (data): | 462 | if (data): |
462 | return eval(data) | 463 | return eval(data) |
463 | return "" | 464 | return "" |
@@ -470,7 +471,7 @@ class Parser(): | @@ -470,7 +471,7 @@ class Parser(): | ||
470 | DICOM standard tag (0x7fe0, 0x0010) was used. | 471 | DICOM standard tag (0x7fe0, 0x0010) was used. |
471 | """ | 472 | """ |
472 | try: | 473 | try: |
473 | - data = self.data_image[0x7fe0][0x0010] | 474 | + data = self.data_image[str(0x7fe0)][str(0x0010)] |
474 | except(KeyError): | 475 | except(KeyError): |
475 | return "" | 476 | return "" |
476 | 477 | ||
@@ -488,7 +489,7 @@ class Parser(): | @@ -488,7 +489,7 @@ class Parser(): | ||
488 | DICOM standard tag (0x0020, 0x0011) was used. | 489 | DICOM standard tag (0x0020, 0x0011) was used. |
489 | """ | 490 | """ |
490 | try: | 491 | try: |
491 | - data = self.data_image[0x020][0x011] | 492 | + data = self.data_image[str(0x020)][str(0x011)] |
492 | except(KeyError): | 493 | except(KeyError): |
493 | return "" | 494 | return "" |
494 | 495 | ||
@@ -508,7 +509,7 @@ class Parser(): | @@ -508,7 +509,7 @@ class Parser(): | ||
508 | DICOM standard tag (0x0028, 0x0030) was used. | 509 | DICOM standard tag (0x0028, 0x0030) was used. |
509 | """ | 510 | """ |
510 | try: | 511 | try: |
511 | - data = self.data_image[0x0028][0x0030] | 512 | + data = self.data_image[str(0x0028)][str(0x0030)] |
512 | except(KeyError): | 513 | except(KeyError): |
513 | return "" | 514 | return "" |
514 | if (data): | 515 | if (data): |
@@ -523,7 +524,7 @@ class Parser(): | @@ -523,7 +524,7 @@ class Parser(): | ||
523 | DICOM standard tag (0x0010, 0x1030) was used. | 524 | DICOM standard tag (0x0010, 0x1030) was used. |
524 | """ | 525 | """ |
525 | try: | 526 | try: |
526 | - data = self.data_image[0x0010][0x1030] | 527 | + data = self.data_image[str(0x0010)][str(0x1030)] |
527 | except(KeyError): | 528 | except(KeyError): |
528 | return "" | 529 | return "" |
529 | 530 | ||
@@ -539,7 +540,7 @@ class Parser(): | @@ -539,7 +540,7 @@ class Parser(): | ||
539 | DICOM standard tag (0x0010, 0x1030) was used. | 540 | DICOM standard tag (0x0010, 0x1030) was used. |
540 | """ | 541 | """ |
541 | try: | 542 | try: |
542 | - data = self.data_image[0x010][0x1020] | 543 | + data = self.data_image[str(0x010)][str(0x1020)] |
543 | except(KeyError): | 544 | except(KeyError): |
544 | return "" | 545 | return "" |
545 | 546 | ||
@@ -554,7 +555,7 @@ class Parser(): | @@ -554,7 +555,7 @@ class Parser(): | ||
554 | DICOM standard tag (0x0010, 0x1040) was used. | 555 | DICOM standard tag (0x0010, 0x1040) was used. |
555 | """ | 556 | """ |
556 | try: | 557 | try: |
557 | - data = self.data_image[0x010][0x1040] | 558 | + data = self.data_image[str(0x010)][str(0x1040)] |
558 | except(KeyError): | 559 | except(KeyError): |
559 | return "" | 560 | return "" |
560 | if (data): | 561 | if (data): |
@@ -569,7 +570,7 @@ class Parser(): | @@ -569,7 +570,7 @@ class Parser(): | ||
569 | DICOM standard tag (0x0010, 0x1080) was used. | 570 | DICOM standard tag (0x0010, 0x1080) was used. |
570 | """ | 571 | """ |
571 | try: | 572 | try: |
572 | - data = self.data_image[0x010][0x1080] | 573 | + data = self.data_image[str(0x010)][str(0x1080)] |
573 | except(KeyError): | 574 | except(KeyError): |
574 | return "" | 575 | return "" |
575 | if (data): | 576 | if (data): |
@@ -586,7 +587,7 @@ class Parser(): | @@ -586,7 +587,7 @@ class Parser(): | ||
586 | DICOM standard tag (0x0010, 0x1081) was used. | 587 | DICOM standard tag (0x0010, 0x1081) was used. |
587 | """ | 588 | """ |
588 | try: | 589 | try: |
589 | - data = self.data_image[0x010][0x1081] | 590 | + data = self.data_image[str(0x010)][str(0x1081)] |
590 | except(KeyError): | 591 | except(KeyError): |
591 | return "" | 592 | return "" |
592 | if (data): | 593 | if (data): |
@@ -602,7 +603,7 @@ class Parser(): | @@ -602,7 +603,7 @@ class Parser(): | ||
602 | DICOM standard tag (0x0010, 0x2150) was used. | 603 | DICOM standard tag (0x0010, 0x2150) was used. |
603 | """ | 604 | """ |
604 | try: | 605 | try: |
605 | - data = self.data_image[0x0010][0x2150] | 606 | + data = self.data_image[str(0x0010)][str(0x2150)] |
606 | except(KeyError): | 607 | except(KeyError): |
607 | return "" | 608 | return "" |
608 | 609 | ||
@@ -619,7 +620,7 @@ class Parser(): | @@ -619,7 +620,7 @@ class Parser(): | ||
619 | DICOM standard tag (0x0010, 0x2152) was used. | 620 | DICOM standard tag (0x0010, 0x2152) was used. |
620 | """ | 621 | """ |
621 | try: | 622 | try: |
622 | - data = self.data_image[0x0010][0x2152] | 623 | + data = self.data_image[str(0x0010)][str(0x2152)] |
623 | except(KeyError): | 624 | except(KeyError): |
624 | return "" | 625 | return "" |
625 | 626 | ||
@@ -635,7 +636,7 @@ class Parser(): | @@ -635,7 +636,7 @@ class Parser(): | ||
635 | DICOM standard tag (0x0010, 0x2154) was used. | 636 | DICOM standard tag (0x0010, 0x2154) was used. |
636 | """ | 637 | """ |
637 | try: | 638 | try: |
638 | - data = self.data_image[0x0010][0x2154] | 639 | + data = self.data_image[str(0x0010)][str(0x2154)] |
639 | except(KeyError): | 640 | except(KeyError): |
640 | return "" | 641 | return "" |
641 | 642 | ||
@@ -652,7 +653,7 @@ class Parser(): | @@ -652,7 +653,7 @@ class Parser(): | ||
652 | DICOM standard tag (0x0010, 0x2297) was used. | 653 | DICOM standard tag (0x0010, 0x2297) was used. |
653 | """ | 654 | """ |
654 | try: | 655 | try: |
655 | - data = self.data_image[0x0010][0x2297] | 656 | + data = self.data_image[str(0x0010)][str(0x2297)] |
656 | except(KeyError): | 657 | except(KeyError): |
657 | return "" | 658 | return "" |
658 | 659 | ||
@@ -669,7 +670,7 @@ class Parser(): | @@ -669,7 +670,7 @@ class Parser(): | ||
669 | DICOM standard tag (0x0010, 0x2298) was used. | 670 | DICOM standard tag (0x0010, 0x2298) was used. |
670 | """ | 671 | """ |
671 | try: | 672 | try: |
672 | - data = self.data_image[0x0010][0x2298] | 673 | + data = self.data_image[str(0x0010)][str(0x2298)] |
673 | except(KeyError): | 674 | except(KeyError): |
674 | return "" | 675 | return "" |
675 | 676 | ||
@@ -686,7 +687,7 @@ class Parser(): | @@ -686,7 +687,7 @@ class Parser(): | ||
686 | DICOM standard tag (0x0010, 0x2299) was used. | 687 | DICOM standard tag (0x0010, 0x2299) was used. |
687 | """ | 688 | """ |
688 | try: | 689 | try: |
689 | - data = self.data_image[0x0010][0x2299] | 690 | + data = self.data_image[str(0x0010)][str(0x2299)] |
690 | except(KeyError): | 691 | except(KeyError): |
691 | return "" | 692 | return "" |
692 | 693 | ||
@@ -703,7 +704,7 @@ class Parser(): | @@ -703,7 +704,7 @@ class Parser(): | ||
703 | DICOM standard tag (0x0010, 0x2000) was used. | 704 | DICOM standard tag (0x0010, 0x2000) was used. |
704 | """ | 705 | """ |
705 | try: | 706 | try: |
706 | - data = self.data_image[0x0010][0x2000] | 707 | + data = self.data_image[str(0x0010)][str(0x2000)] |
707 | except(KeyError): | 708 | except(KeyError): |
708 | return "" | 709 | return "" |
709 | 710 | ||
@@ -720,7 +721,7 @@ class Parser(): | @@ -720,7 +721,7 @@ class Parser(): | ||
720 | DICOM standard tag (0x0008, 0x2110) was used. | 721 | DICOM standard tag (0x0008, 0x2110) was used. |
721 | """ | 722 | """ |
722 | try: | 723 | try: |
723 | - data = self.data_image[0x0008][0x2110] | 724 | + data = self.data_image[str(0x0008)][str(0x2110)] |
724 | except(KeyError): | 725 | except(KeyError): |
725 | return "" | 726 | return "" |
726 | 727 | ||
@@ -738,7 +739,7 @@ class Parser(): | @@ -738,7 +739,7 @@ class Parser(): | ||
738 | DICOM standard tag (0x0008, 0x0090) was used. | 739 | DICOM standard tag (0x0008, 0x0090) was used. |
739 | """ | 740 | """ |
740 | try: | 741 | try: |
741 | - data = self.data_image[0x0008][0x0090] | 742 | + data = self.data_image[str(0x0008)][str(0x0090)] |
742 | except(KeyError): | 743 | except(KeyError): |
743 | return "" | 744 | return "" |
744 | 745 | ||
@@ -757,7 +758,7 @@ class Parser(): | @@ -757,7 +758,7 @@ class Parser(): | ||
757 | DICOM standard tag (0x0008, 0x0092) was used. | 758 | DICOM standard tag (0x0008, 0x0092) was used. |
758 | """ | 759 | """ |
759 | try: | 760 | try: |
760 | - data = self.data_image[0x0008][0x0092] | 761 | + data = self.data_image[str(0x0008)][str(0x0092)] |
761 | except(KeyError): | 762 | except(KeyError): |
762 | return "" | 763 | return "" |
763 | 764 | ||
@@ -773,7 +774,7 @@ class Parser(): | @@ -773,7 +774,7 @@ class Parser(): | ||
773 | DICOM standard tag (0x0008, 0x0094) was used. | 774 | DICOM standard tag (0x0008, 0x0094) was used. |
774 | """ | 775 | """ |
775 | try: | 776 | try: |
776 | - data = self.data_image[0x0008][0x0094] | 777 | + data = self.data_image[str(0x0008)][str(0x0094)] |
777 | except(KeyError): | 778 | except(KeyError): |
778 | return "" | 779 | return "" |
779 | 780 | ||
@@ -789,7 +790,7 @@ class Parser(): | @@ -789,7 +790,7 @@ class Parser(): | ||
789 | DICOM standard tag (0x0018, 0x1030) was used. | 790 | DICOM standard tag (0x0018, 0x1030) was used. |
790 | """ | 791 | """ |
791 | try: | 792 | try: |
792 | - data = self.data_image[0x0018][0x1030] | 793 | + data = self.data_image[str(0x0018)][str(0x1030)] |
793 | except(KeyError): | 794 | except(KeyError): |
794 | return None | 795 | return None |
795 | 796 | ||
@@ -807,7 +808,7 @@ class Parser(): | @@ -807,7 +808,7 @@ class Parser(): | ||
807 | Critical DICOM tag (0x0008, 0x0008). Cannot be editted. | 808 | Critical DICOM tag (0x0008, 0x0008). Cannot be editted. |
808 | """ | 809 | """ |
809 | try: | 810 | try: |
810 | - data = self.data_image[0x008][0x008] | 811 | + data = self.data_image[str(0x008)][str(0x008)] |
811 | except(IndexError): | 812 | except(IndexError): |
812 | return [] | 813 | return [] |
813 | 814 | ||
@@ -827,7 +828,7 @@ class Parser(): | @@ -827,7 +828,7 @@ class Parser(): | ||
827 | Critical DICOM tag (0x0008, 0x0016). Cannot be edited. | 828 | Critical DICOM tag (0x0008, 0x0016). Cannot be edited. |
828 | """ | 829 | """ |
829 | try: | 830 | try: |
830 | - data = self.data_image[0x0008][0x0016] | 831 | + data = self.data_image[str(0x0008)][str(0x0016)] |
831 | except(KeyError): | 832 | except(KeyError): |
832 | return "" | 833 | return "" |
833 | 834 | ||
@@ -844,7 +845,7 @@ class Parser(): | @@ -844,7 +845,7 @@ class Parser(): | ||
844 | Critical DICOM tag (0x0008, 0x0018). Cannot be edited. | 845 | Critical DICOM tag (0x0008, 0x0018). Cannot be edited. |
845 | """ | 846 | """ |
846 | try: | 847 | try: |
847 | - data = self.data_image[0x0008][0x0018] | 848 | + data = self.data_image[str(0x0008)][str(0x0018)] |
848 | except(KeyError): | 849 | except(KeyError): |
849 | return "" | 850 | return "" |
850 | 851 | ||
@@ -861,7 +862,7 @@ class Parser(): | @@ -861,7 +862,7 @@ class Parser(): | ||
861 | Critical DICOM Tag (0x0020,0x000D). Cannot be edited. | 862 | Critical DICOM Tag (0x0020,0x000D). Cannot be edited. |
862 | """ | 863 | """ |
863 | try: | 864 | try: |
864 | - data = self.data_image[0x0020][0x000D] | 865 | + data = self.data_image[str(0x0020)][str(0x000D)] |
865 | except(KeyError): | 866 | except(KeyError): |
866 | return "" | 867 | return "" |
867 | 868 | ||
@@ -881,7 +882,7 @@ class Parser(): | @@ -881,7 +882,7 @@ class Parser(): | ||
881 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. | 882 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. |
882 | """ | 883 | """ |
883 | try: | 884 | try: |
884 | - data = self.data_image[0x0020][0x0037] | 885 | + data = self.data_image[str(0x0020)][str(0x0037)] |
885 | except(KeyError): | 886 | except(KeyError): |
886 | return [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] | 887 | return [1.0, 0.0, 0.0, 0.0, 1.0, 0.0] |
887 | 888 | ||
@@ -899,7 +900,7 @@ class Parser(): | @@ -899,7 +900,7 @@ class Parser(): | ||
899 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. | 900 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. |
900 | """ | 901 | """ |
901 | try: | 902 | try: |
902 | - data = self.data_image[0x0020][0x0037] | 903 | + data = self.data_image[str(0x0020)][str(0x0037)] |
903 | except(KeyError): | 904 | except(KeyError): |
904 | return [0.0, 1.0, 0.0] | 905 | return [0.0, 1.0, 0.0] |
905 | 906 | ||
@@ -917,7 +918,7 @@ class Parser(): | @@ -917,7 +918,7 @@ class Parser(): | ||
917 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. | 918 | Critical DICOM tag (0x0020,0x0037). Cannot be edited. |
918 | """ | 919 | """ |
919 | try: | 920 | try: |
920 | - data = self.data_image[0x0020][0x0037] | 921 | + data = self.data_image[str(0x0020)][str(0x0037)] |
921 | except(KeyError): | 922 | except(KeyError): |
922 | return [1.0, 0.0, 0.0] | 923 | return [1.0, 0.0, 0.0] |
923 | 924 | ||
@@ -933,7 +934,7 @@ class Parser(): | @@ -933,7 +934,7 @@ class Parser(): | ||
933 | Critical DICOM tag (0x0020,0x0052). Cannot be edited. | 934 | Critical DICOM tag (0x0020,0x0052). Cannot be edited. |
934 | """ | 935 | """ |
935 | try: | 936 | try: |
936 | - data = self.data_image[0x0020][0x0052] | 937 | + data = self.data_image[str(0x0020)][str(0x0052)] |
937 | except(KeyError): | 938 | except(KeyError): |
938 | return "" | 939 | return "" |
939 | 940 | ||
@@ -1013,7 +1014,7 @@ class Parser(): | @@ -1013,7 +1014,7 @@ class Parser(): | ||
1013 | DICOM standard tag (0x0018, 0x1030) was used. | 1014 | DICOM standard tag (0x0018, 0x1030) was used. |
1014 | """ | 1015 | """ |
1015 | try: | 1016 | try: |
1016 | - data = self.data_image[0x0018][0x1030] | 1017 | + data = self.data_image[str(0x0018)][str(0x1030)] |
1017 | if (data): | 1018 | if (data): |
1018 | return data | 1019 | return data |
1019 | except(KeyError): | 1020 | except(KeyError): |
@@ -1037,7 +1038,7 @@ class Parser(): | @@ -1037,7 +1038,7 @@ class Parser(): | ||
1037 | Critical DICOM tag (0x0018, 0x0020). Cannot be edited. | 1038 | Critical DICOM tag (0x0018, 0x0020). Cannot be edited. |
1038 | """ | 1039 | """ |
1039 | try: | 1040 | try: |
1040 | - data = self.data_image[0x0018][0x0020] | 1041 | + data = self.data_image[str(0x0018)][str(0x0020)] |
1041 | except(KeyError): | 1042 | except(KeyError): |
1042 | return "" | 1043 | return "" |
1043 | 1044 | ||
@@ -1053,7 +1054,7 @@ class Parser(): | @@ -1053,7 +1054,7 @@ class Parser(): | ||
1053 | DICOM standard tag (0x0008, 0x0080) was used. | 1054 | DICOM standard tag (0x0008, 0x0080) was used. |
1054 | """ | 1055 | """ |
1055 | try: | 1056 | try: |
1056 | - data = self.data_image[0x0008][0x0080] | 1057 | + data = self.data_image[str(0x0008)][str(0x0080)] |
1057 | except(KeyError): | 1058 | except(KeyError): |
1058 | return "" | 1059 | return "" |
1059 | 1060 | ||
@@ -1071,7 +1072,7 @@ class Parser(): | @@ -1071,7 +1072,7 @@ class Parser(): | ||
1071 | DICOM standard tag (0x0008, 0x0081) was used. | 1072 | DICOM standard tag (0x0008, 0x0081) was used. |
1072 | """ | 1073 | """ |
1073 | try: | 1074 | try: |
1074 | - data = self.data_image[0x0008][0x0081] | 1075 | + data = self.data_image[str(0x0008)][str(0x0081)] |
1075 | except(KeyError): | 1076 | except(KeyError): |
1076 | return "" | 1077 | return "" |
1077 | 1078 | ||
@@ -1088,7 +1089,7 @@ class Parser(): | @@ -1088,7 +1089,7 @@ class Parser(): | ||
1088 | Critical DICOM tag (0x0020, 0x000D). Cannot be edited. | 1089 | Critical DICOM tag (0x0020, 0x000D). Cannot be edited. |
1089 | """ | 1090 | """ |
1090 | try: | 1091 | try: |
1091 | - data = self.data_image[0x0020][0x000D] | 1092 | + data = self.data_image[str(0x0020)][str(0x000D)] |
1092 | except(KeyError): | 1093 | except(KeyError): |
1093 | return "" | 1094 | return "" |
1094 | 1095 | ||
@@ -1104,7 +1105,7 @@ class Parser(): | @@ -1104,7 +1105,7 @@ class Parser(): | ||
1104 | DICOM standard tag (0x0010,0x2180) was used. | 1105 | DICOM standard tag (0x0010,0x2180) was used. |
1105 | """ | 1106 | """ |
1106 | try: | 1107 | try: |
1107 | - data = self.data_image[0x0010][0x2180] | 1108 | + data = self.data_image[str(0x0010)][str(0x2180)] |
1108 | except(KeyError): | 1109 | except(KeyError): |
1109 | return "" | 1110 | return "" |
1110 | 1111 | ||
@@ -1142,7 +1143,7 @@ class Parser(): | @@ -1142,7 +1143,7 @@ class Parser(): | ||
1142 | #sf.SetFile(self.gdcm_reader.GetFile()) | 1143 | #sf.SetFile(self.gdcm_reader.GetFile()) |
1143 | #res = sf.ToStringPair(tag) | 1144 | #res = sf.ToStringPair(tag) |
1144 | try: | 1145 | try: |
1145 | - data = self.data_image[0x0028][0x0100] | 1146 | + data = self.data_image[str(0x0028)][str(0x0100)] |
1146 | except(KeyError): | 1147 | except(KeyError): |
1147 | return "" | 1148 | return "" |
1148 | 1149 | ||
@@ -1161,7 +1162,7 @@ class Parser(): | @@ -1161,7 +1162,7 @@ class Parser(): | ||
1161 | """ | 1162 | """ |
1162 | # TODO: internationalize data | 1163 | # TODO: internationalize data |
1163 | try: | 1164 | try: |
1164 | - data = self.data_image[0x0010][0x0030] | 1165 | + data = self.data_image[str(0x0010)][str(0x0030)] |
1165 | except(KeyError): | 1166 | except(KeyError): |
1166 | return "" | 1167 | return "" |
1167 | 1168 | ||
@@ -1178,7 +1179,7 @@ class Parser(): | @@ -1178,7 +1179,7 @@ class Parser(): | ||
1178 | DICOM standard tag (0x0020,0x0010) was used. | 1179 | DICOM standard tag (0x0020,0x0010) was used. |
1179 | """ | 1180 | """ |
1180 | try: | 1181 | try: |
1181 | - data = self.data_image[0x0020][0x0010] | 1182 | + data = self.data_image[str(0x0020)][str(0x0010)] |
1182 | except(KeyError): | 1183 | except(KeyError): |
1183 | return "" | 1184 | return "" |
1184 | 1185 | ||
@@ -1195,7 +1196,7 @@ class Parser(): | @@ -1195,7 +1196,7 @@ class Parser(): | ||
1195 | DICOM standard tag (0x0018,0x1120) was used. | 1196 | DICOM standard tag (0x0018,0x1120) was used. |
1196 | """ | 1197 | """ |
1197 | try: | 1198 | try: |
1198 | - data = self.data_image[0x0018][0x1120] | 1199 | + data = self.data_image[str(0x0018)][str(0x1120)] |
1199 | except(KeyError): | 1200 | except(KeyError): |
1200 | return 0.0 | 1201 | return 0.0 |
1201 | 1202 | ||
@@ -1214,7 +1215,7 @@ class Parser(): | @@ -1214,7 +1215,7 @@ class Parser(): | ||
1214 | DICOM standard tag (0x0010,0x0040) was used. | 1215 | DICOM standard tag (0x0010,0x0040) was used. |
1215 | """ | 1216 | """ |
1216 | try: | 1217 | try: |
1217 | - data = self.data_image[0x0010][0x0040] | 1218 | + data = self.data_image[str(0x0010)][str(0x0040)] |
1218 | except(KeyError): | 1219 | except(KeyError): |
1219 | return "" | 1220 | return "" |
1220 | 1221 | ||
@@ -1231,7 +1232,7 @@ class Parser(): | @@ -1231,7 +1232,7 @@ class Parser(): | ||
1231 | DICOM standard tag (0x0010, 0x1010) was used. | 1232 | DICOM standard tag (0x0010, 0x1010) was used. |
1232 | """ | 1233 | """ |
1233 | try: | 1234 | try: |
1234 | - data = self.data_image[0x0010][0x1010] | 1235 | + data = self.data_image[str(0x0010)][str(0x1010)] |
1235 | except(KeyError): | 1236 | except(KeyError): |
1236 | return "" | 1237 | return "" |
1237 | 1238 | ||
@@ -1251,7 +1252,7 @@ class Parser(): | @@ -1251,7 +1252,7 @@ class Parser(): | ||
1251 | DICOM standard tag (0x0010,0x0010) was used. | 1252 | DICOM standard tag (0x0010,0x0010) was used. |
1252 | """ | 1253 | """ |
1253 | try: | 1254 | try: |
1254 | - data = self.data_image[0x0010][0x0010] | 1255 | + data = self.data_image[str(0x0010)][str(0x0010)] |
1255 | except(KeyError): | 1256 | except(KeyError): |
1256 | return "" | 1257 | return "" |
1257 | 1258 | ||
@@ -1271,7 +1272,7 @@ class Parser(): | @@ -1271,7 +1272,7 @@ class Parser(): | ||
1271 | DICOM standard tag (0x0010,0x0020) was used. | 1272 | DICOM standard tag (0x0010,0x0020) was used. |
1272 | """ | 1273 | """ |
1273 | try: | 1274 | try: |
1274 | - data = self.data_image[0x0010][0x0020] | 1275 | + data = self.data_image[str(0x0010)][str(0x0020)] |
1275 | except(KeyError): | 1276 | except(KeyError): |
1276 | return "" | 1277 | return "" |
1277 | 1278 | ||
@@ -1291,7 +1292,7 @@ class Parser(): | @@ -1291,7 +1292,7 @@ class Parser(): | ||
1291 | DICOM standard tag (0x0018,0x1151) was used. | 1292 | DICOM standard tag (0x0018,0x1151) was used. |
1292 | """ | 1293 | """ |
1293 | try: | 1294 | try: |
1294 | - data = self.data_image[0x0018][0x1151] | 1295 | + data = self.data_image[str(0x0018)][str(0x1151)] |
1295 | except(KeyError): | 1296 | except(KeyError): |
1296 | return "" | 1297 | return "" |
1297 | 1298 | ||
@@ -1308,7 +1309,7 @@ class Parser(): | @@ -1308,7 +1309,7 @@ class Parser(): | ||
1308 | DICOM standard tag (0x0018, 0x1152) was used. | 1309 | DICOM standard tag (0x0018, 0x1152) was used. |
1309 | """ | 1310 | """ |
1310 | try: | 1311 | try: |
1311 | - data = self.data_image[0x0018][0x1152] | 1312 | + data = self.data_image[str(0x0018)][str(0x1152)] |
1312 | except(KeyError): | 1313 | except(KeyError): |
1313 | return "" | 1314 | return "" |
1314 | 1315 | ||
@@ -1325,7 +1326,7 @@ class Parser(): | @@ -1325,7 +1326,7 @@ class Parser(): | ||
1325 | DICOM standard tag (0x0018,0x0060) was used. | 1326 | DICOM standard tag (0x0018,0x0060) was used. |
1326 | """ | 1327 | """ |
1327 | try: | 1328 | try: |
1328 | - data = self.data_image[0x0018][0x0060] | 1329 | + data = self.data_image[str(0x0018)][str(0x0060)] |
1329 | except(KeyError): | 1330 | except(KeyError): |
1330 | return "" | 1331 | return "" |
1331 | 1332 | ||
@@ -1342,7 +1343,7 @@ class Parser(): | @@ -1342,7 +1343,7 @@ class Parser(): | ||
1342 | DICOM standard tag (0x0018,0x0050) was used. | 1343 | DICOM standard tag (0x0018,0x0050) was used. |
1343 | """ | 1344 | """ |
1344 | try: | 1345 | try: |
1345 | - data = self.data_image[0x0018][0x0050] | 1346 | + data = self.data_image[str(0x0018)][str(0x0050)] |
1346 | except(KeyError): | 1347 | except(KeyError): |
1347 | return 0 | 1348 | return 0 |
1348 | if (data): | 1349 | if (data): |
@@ -1360,7 +1361,7 @@ class Parser(): | @@ -1360,7 +1361,7 @@ class Parser(): | ||
1360 | DICOM standard tag (0x0018,0x1210) was used. | 1361 | DICOM standard tag (0x0018,0x1210) was used. |
1361 | """ | 1362 | """ |
1362 | try: | 1363 | try: |
1363 | - data = self.data_image[0x0018][0x1210] | 1364 | + data = self.data_image[str(0x0018)][str(0x1210)] |
1364 | except(KeyError): | 1365 | except(KeyError): |
1365 | return "" | 1366 | return "" |
1366 | 1367 | ||
@@ -1377,7 +1378,7 @@ class Parser(): | @@ -1377,7 +1378,7 @@ class Parser(): | ||
1377 | DICOM standard tag (0x0008,0x0080) was used. | 1378 | DICOM standard tag (0x0008,0x0080) was used. |
1378 | """ | 1379 | """ |
1379 | try: | 1380 | try: |
1380 | - data = self.data_image[0x0008][0x0080] | 1381 | + data = self.data_image[str(0x0008)][str(0x0080)] |
1381 | except(KeyError): | 1382 | except(KeyError): |
1382 | return "" | 1383 | return "" |
1383 | 1384 | ||
@@ -1394,7 +1395,7 @@ class Parser(): | @@ -1394,7 +1395,7 @@ class Parser(): | ||
1394 | DICOM standard tag (0x0008, 0x1010) was used. | 1395 | DICOM standard tag (0x0008, 0x1010) was used. |
1395 | """ | 1396 | """ |
1396 | try: | 1397 | try: |
1397 | - data = self.data_image[0x0008][0x1010] | 1398 | + data = self.data_image[str(0x0008)][str(0x1010)] |
1398 | except(KeyError): | 1399 | except(KeyError): |
1399 | return "" | 1400 | return "" |
1400 | 1401 | ||
@@ -1411,7 +1412,7 @@ class Parser(): | @@ -1411,7 +1412,7 @@ class Parser(): | ||
1411 | DICOM standard tag (0x0008,0x1090) was used. | 1412 | DICOM standard tag (0x0008,0x1090) was used. |
1412 | """ | 1413 | """ |
1413 | try: | 1414 | try: |
1414 | - data = self.data_image[0x0008][0x1090] | 1415 | + data = self.data_image[str(0x0008)][str(0x1090)] |
1415 | except(KeyError): | 1416 | except(KeyError): |
1416 | return "" | 1417 | return "" |
1417 | 1418 | ||
@@ -1427,7 +1428,7 @@ class Parser(): | @@ -1427,7 +1428,7 @@ class Parser(): | ||
1427 | DICOM standard tag (0x0008, 0x1010) was used. | 1428 | DICOM standard tag (0x0008, 0x1010) was used. |
1428 | """ | 1429 | """ |
1429 | try: | 1430 | try: |
1430 | - data = self.data_image[0x0008][0x1010] | 1431 | + data = self.data_image[str(0x0008)][str(0x1010)] |
1431 | except(KeyError): | 1432 | except(KeyError): |
1432 | return "" | 1433 | return "" |
1433 | 1434 | ||
@@ -1445,7 +1446,7 @@ class Parser(): | @@ -1445,7 +1446,7 @@ class Parser(): | ||
1445 | DICOM standard tag (0x0008,0x0060) was used. | 1446 | DICOM standard tag (0x0008,0x0060) was used. |
1446 | """ | 1447 | """ |
1447 | try: | 1448 | try: |
1448 | - data = self.data_image[0x0008][0x0060] | 1449 | + data = self.data_image[str(0x0008)][str(0x0060)] |
1449 | except(KeyError): | 1450 | except(KeyError): |
1450 | return "" | 1451 | return "" |
1451 | 1452 | ||
@@ -1462,7 +1463,7 @@ class Parser(): | @@ -1462,7 +1463,7 @@ class Parser(): | ||
1462 | DICOM standard tag (0x0020,0x0013) was used. | 1463 | DICOM standard tag (0x0020,0x0013) was used. |
1463 | """ | 1464 | """ |
1464 | try: | 1465 | try: |
1465 | - data = self.data_image[0x0020][0x0013] | 1466 | + data = self.data_image[str(0x0020)][str(0x0013)] |
1466 | except(KeyError): | 1467 | except(KeyError): |
1467 | return "" | 1468 | return "" |
1468 | 1469 | ||
@@ -1478,7 +1479,7 @@ class Parser(): | @@ -1478,7 +1479,7 @@ class Parser(): | ||
1478 | DICOM standard tag (0x0008,0x1030) was used. | 1479 | DICOM standard tag (0x0008,0x1030) was used. |
1479 | """ | 1480 | """ |
1480 | try: | 1481 | try: |
1481 | - data = self.data_image[0x0008][0x1030] | 1482 | + data = self.data_image[str(0x0008)][str(0x1030)] |
1482 | if (data): | 1483 | if (data): |
1483 | encoding = self.GetEncoding() | 1484 | encoding = self.GetEncoding() |
1484 | return data.decode(encoding) | 1485 | return data.decode(encoding) |
@@ -1509,7 +1510,7 @@ class Parser(): | @@ -1509,7 +1510,7 @@ class Parser(): | ||
1509 | DICOM standard tag (0x0008, 0x103E) was used. | 1510 | DICOM standard tag (0x0008, 0x103E) was used. |
1510 | """ | 1511 | """ |
1511 | try: | 1512 | try: |
1512 | - data = self.data_image[0x0008][0x103E] | 1513 | + data = self.data_image[str(0x0008)][str(0x103E)] |
1513 | if data == "None": | 1514 | if data == "None": |
1514 | return _("unnamed") | 1515 | return _("unnamed") |
1515 | if (data): | 1516 | if (data): |
@@ -1525,7 +1526,7 @@ class Parser(): | @@ -1525,7 +1526,7 @@ class Parser(): | ||
1525 | DICOM standard tag (0x0008,0x0033) was used. | 1526 | DICOM standard tag (0x0008,0x0033) was used. |
1526 | """ | 1527 | """ |
1527 | try: | 1528 | try: |
1528 | - data = self.data_image[0x0008][0x0033] | 1529 | + data = self.data_image[str(0x0008)][str(0x0033)] |
1529 | except(KeyError): | 1530 | except(KeyError): |
1530 | return "" | 1531 | return "" |
1531 | 1532 | ||
@@ -1539,7 +1540,7 @@ class Parser(): | @@ -1539,7 +1540,7 @@ class Parser(): | ||
1539 | DICOM standard tag (0x0008,0x032) was used. | 1540 | DICOM standard tag (0x0008,0x032) was used. |
1540 | """ | 1541 | """ |
1541 | try: | 1542 | try: |
1542 | - data = self.data_image[0x0008][0x0032] | 1543 | + data = self.data_image[str(0x0008)][str(0x0032)] |
1543 | except(KeyError): | 1544 | except(KeyError): |
1544 | return "" | 1545 | return "" |
1545 | 1546 | ||
@@ -1553,7 +1554,7 @@ class Parser(): | @@ -1553,7 +1554,7 @@ class Parser(): | ||
1553 | DICOM standard tag (0x0020, 0x0011) was used. | 1554 | DICOM standard tag (0x0020, 0x0011) was used. |
1554 | """ | 1555 | """ |
1555 | try: | 1556 | try: |
1556 | - data = self.data_image[0x0020][0x0011] | 1557 | + data = self.data_image[str(0x0020)][str(0x0011)] |
1557 | except(KeyError): | 1558 | except(KeyError): |
1558 | return "" | 1559 | return "" |
1559 | 1560 | ||
@@ -1567,20 +1568,11 @@ class Parser(): | @@ -1567,20 +1568,11 @@ class Parser(): | ||
1567 | DICOM standard tag (0x0008, 0x0005) was used. | 1568 | DICOM standard tag (0x0008, 0x0005) was used. |
1568 | """ | 1569 | """ |
1569 | try: | 1570 | try: |
1570 | - encoding = self.data_image[0x0008][0x0005] | 1571 | + encoding_value = self.data_image[str(0x0008)][str(0x0005)] |
1572 | + return const.DICOM_ENCODING_TO_PYTHON[encoding_value] | ||
1571 | except(KeyError): | 1573 | except(KeyError): |
1572 | return 'ISO_IR_100' | 1574 | return 'ISO_IR_100' |
1573 | 1575 | ||
1574 | - if encoding is None or encoding == "None" or not encoding.strip(): | ||
1575 | - return 'ISO_IR 100' | ||
1576 | - else: | ||
1577 | - #Problem with 0051 anonymized | ||
1578 | - if (encoding.split(":"))[0] == "Loaded": | ||
1579 | - return 'ISO_IR 100' | ||
1580 | - else: | ||
1581 | - return encoding | ||
1582 | - return 'ISO_IR 100' | ||
1583 | - | ||
1584 | 1576 | ||
1585 | class DicomWriter: | 1577 | class DicomWriter: |
1586 | 1578 |
invesalius/reader/dicom_reader.py
@@ -100,7 +100,6 @@ class LoadDicom: | @@ -100,7 +100,6 @@ class LoadDicom: | ||
100 | def run(self): | 100 | def run(self): |
101 | 101 | ||
102 | grouper = self.grouper | 102 | grouper = self.grouper |
103 | - | ||
104 | reader = gdcm.ImageReader() | 103 | reader = gdcm.ImageReader() |
105 | reader.SetFileName(self.filepath) | 104 | reader.SetFileName(self.filepath) |
106 | if (reader.Read()): | 105 | if (reader.Read()): |
@@ -120,11 +119,13 @@ class LoadDicom: | @@ -120,11 +119,13 @@ class LoadDicom: | ||
120 | tag = gdcm.Tag(0x0008, 0x0005) | 119 | tag = gdcm.Tag(0x0008, 0x0005) |
121 | ds = reader.GetFile().GetDataSet() | 120 | ds = reader.GetFile().GetDataSet() |
122 | if ds.FindDataElement(tag): | 121 | if ds.FindDataElement(tag): |
123 | - encoding = str(ds.GetDataElement(tag).GetValue()) | ||
124 | - if encoding is None or encoding == "None" or encoding.startswith("Loaded"): | 122 | + encoding_value = str(ds.GetDataElement(tag).GetValue()) |
123 | + | ||
124 | + if encoding_value.startswith("Loaded"): | ||
125 | encoding = "ISO_IR 100" | 125 | encoding = "ISO_IR 100" |
126 | - else: | ||
127 | - encoding = "ISO_IR_100" | 126 | + else: |
127 | + encoding = const.DICOM_ENCODING_TO_PYTHON[encoding_value] | ||
128 | + | ||
128 | # Iterate through the Header | 129 | # Iterate through the Header |
129 | iterator = header.GetDES().begin() | 130 | iterator = header.GetDES().begin() |
130 | while (not iterator.equal(header.GetDES().end())): | 131 | while (not iterator.equal(header.GetDES().end())): |
@@ -134,8 +135,8 @@ class LoadDicom: | @@ -134,8 +135,8 @@ class LoadDicom: | ||
134 | data = stf.ToStringPair(tag) | 135 | data = stf.ToStringPair(tag) |
135 | stag = tag.PrintAsPipeSeparatedString() | 136 | stag = tag.PrintAsPipeSeparatedString() |
136 | 137 | ||
137 | - group = tag.GetGroup() | ||
138 | - field = tag.GetElement() | 138 | + group = str(tag.GetGroup()) |
139 | + field = str(tag.GetElement()) | ||
139 | 140 | ||
140 | tag_labels[stag] = data[0] | 141 | tag_labels[stag] = data[0] |
141 | 142 | ||
@@ -158,8 +159,8 @@ class LoadDicom: | @@ -158,8 +159,8 @@ class LoadDicom: | ||
158 | data = stf.ToStringPair(tag) | 159 | data = stf.ToStringPair(tag) |
159 | stag = tag.PrintAsPipeSeparatedString() | 160 | stag = tag.PrintAsPipeSeparatedString() |
160 | 161 | ||
161 | - group = tag.GetGroup() | ||
162 | - field = tag.GetElement() | 162 | + group = str(tag.GetGroup()) |
163 | + field = str(tag.GetElement()) | ||
163 | 164 | ||
164 | tag_labels[stag] = data[0] | 165 | tag_labels[stag] = data[0] |
165 | 166 | ||
@@ -179,9 +180,9 @@ class LoadDicom: | @@ -179,9 +180,9 @@ class LoadDicom: | ||
179 | rvtk.Update() | 180 | rvtk.Update() |
180 | 181 | ||
181 | try: | 182 | try: |
182 | - data = data_dict[0x028][0x1050] | 183 | + data = data_dict[str(0x028)][str(0x1050)] |
183 | level = [float(value) for value in data.split('\\')][0] | 184 | level = [float(value) for value in data.split('\\')][0] |
184 | - data = data_dict[0x028][0x1051] | 185 | + data = data_dict[str(0x028)][str(0x1051)] |
185 | window = [float(value) for value in data.split('\\')][0] | 186 | window = [float(value) for value in data.split('\\')][0] |
186 | except(KeyError): | 187 | except(KeyError): |
187 | level = 300.0 | 188 | level = 300.0 |
@@ -229,7 +230,7 @@ class LoadDicom: | @@ -229,7 +230,7 @@ class LoadDicom: | ||
229 | #---------- Verify is DICOMDir ------------------------------- | 230 | #---------- Verify is DICOMDir ------------------------------- |
230 | is_dicom_dir = 1 | 231 | is_dicom_dir = 1 |
231 | try: | 232 | try: |
232 | - if (data_dict[0x002][0x002] != "1.2.840.10008.1.3.10"): #DICOMDIR | 233 | + if (data_dict[str(0x002)][str(0x002)] != "1.2.840.10008.1.3.10"): #DICOMDIR |
233 | is_dicom_dir = 0 | 234 | is_dicom_dir = 0 |
234 | except(KeyError): | 235 | except(KeyError): |
235 | is_dicom_dir = 0 | 236 | is_dicom_dir = 0 |
@@ -244,13 +245,16 @@ class LoadDicom: | @@ -244,13 +245,16 @@ class LoadDicom: | ||
244 | grouper.AddFile(dcm) | 245 | grouper.AddFile(dcm) |
245 | 246 | ||
246 | #self.l.release() | 247 | #self.l.release() |
247 | - | ||
248 | - #========== used in test ======================================= | ||
249 | - #main_dict = dict( | ||
250 | - # data = dict_file, | ||
251 | - # labels = tag_labels) | ||
252 | - | ||
253 | - #plistlib.writePlist(main_dict, ".//teste.plist")""" | 248 | + |
249 | + | ||
250 | + #========== used in test ======================================= | ||
251 | + #print dict_file | ||
252 | + #main_dict = dict( | ||
253 | + # data = dict_file, | ||
254 | + # labels = tag_labels) | ||
255 | + #print main_dict | ||
256 | + #print "\n" | ||
257 | + #plistlib.writePlist(main_dict, ".//teste.plist") | ||
254 | 258 | ||
255 | 259 | ||
256 | def yGetDicomGroups(directory, recursive=True, gui=True): | 260 | def yGetDicomGroups(directory, recursive=True, gui=True): |
@@ -338,7 +342,7 @@ class ProgressDicomReader: | @@ -338,7 +342,7 @@ class ProgressDicomReader: | ||
338 | fow.SetFileName(log_path) | 342 | fow.SetFileName(log_path) |
339 | ow = vtk.vtkOutputWindow() | 343 | ow = vtk.vtkOutputWindow() |
340 | ow.SetInstance(fow) | 344 | ow.SetInstance(fow) |
341 | - | 345 | + |
342 | y = yGetDicomGroups(path, recursive) | 346 | y = yGetDicomGroups(path, recursive) |
343 | for value_progress in y: | 347 | for value_progress in y: |
344 | if not self.running: | 348 | if not self.running: |
@@ -354,3 +358,4 @@ class ProgressDicomReader: | @@ -354,3 +358,4 @@ class ProgressDicomReader: | ||
354 | self.UpdateLoadFileProgress(None) | 358 | self.UpdateLoadFileProgress(None) |
355 | self.stoped = False | 359 | self.stoped = False |
356 | 360 | ||
361 | + |