Commit 298c9f956bf977f3a7e166be229553001a8c172b
1 parent
a27efd65
Exists in
master
Improvements in surface overwritting
Showing
3 changed files
with
17 additions
and
9 deletions
Show diff stats
invesalius/control.py
@@ -917,6 +917,9 @@ class Controller(): | @@ -917,6 +917,9 @@ class Controller(): | ||
917 | sop_class_uid = dicom.acquisition.sop_class_uid | 917 | sop_class_uid = dicom.acquisition.sop_class_uid |
918 | xyspacing = dicom.image.spacing | 918 | xyspacing = dicom.image.spacing |
919 | orientation = dicom.image.orientation_label | 919 | orientation = dicom.image.orientation_label |
920 | + samples_per_pixel = dicom.image.samples_per_pixel | ||
921 | + | ||
922 | + print(f"\n\n\n\n{samples_per_pixel =}\n\n\n") | ||
920 | 923 | ||
921 | wl = float(dicom.image.level) | 924 | wl = float(dicom.image.level) |
922 | ww = float(dicom.image.window) | 925 | ww = float(dicom.image.window) |
invesalius/data/surface.py
@@ -424,8 +424,11 @@ class SurfaceManager(): | @@ -424,8 +424,11 @@ class SurfaceManager(): | ||
424 | actor.GetProperty().SetOpacity(1-surface.transparency) | 424 | actor.GetProperty().SetOpacity(1-surface.transparency) |
425 | 425 | ||
426 | if overwrite and self.actors_dict.keys(): | 426 | if overwrite and self.actors_dict.keys(): |
427 | - old_actor = self.actors_dict[index] | ||
428 | - Publisher.sendMessage('Remove surface actor from viewer', actor=old_actor) | 427 | + try: |
428 | + old_actor = self.actors_dict[index] | ||
429 | + Publisher.sendMessage('Remove surface actor from viewer', actor=old_actor) | ||
430 | + except KeyError: | ||
431 | + pass | ||
429 | 432 | ||
430 | self.actors_dict[surface.index] = actor | 433 | self.actors_dict[surface.index] = actor |
431 | 434 |
invesalius/reader/dicom.py
@@ -955,13 +955,14 @@ class Parser(): | @@ -955,13 +955,14 @@ class Parser(): | ||
955 | 955 | ||
956 | Critical DICOM tag (0x0028,0x0002). Cannot be edited. | 956 | Critical DICOM tag (0x0028,0x0002). Cannot be edited. |
957 | """ | 957 | """ |
958 | - tag = gdcm.Tag(0x0028, 0x0002) | ||
959 | - sf = gdcm.StringFilter() | ||
960 | - sf.SetFile(self.gdcm_reader.GetFile()) | ||
961 | - res = sf.ToStringPair(tag) | ||
962 | - if (res[1]): | ||
963 | - return int(res[1]) | ||
964 | - return "" | 958 | + try: |
959 | + data = self.data_image[str(0x0028)][str(0x0002)] | ||
960 | + except KeyError: | ||
961 | + data = 1 | ||
962 | + | ||
963 | + if not data: | ||
964 | + return 1 | ||
965 | + return data | ||
965 | 966 | ||
966 | def GetPhotometricInterpretation(self): | 967 | def GetPhotometricInterpretation(self): |
967 | """ | 968 | """ |
@@ -1967,6 +1968,7 @@ class Image(object): | @@ -1967,6 +1968,7 @@ class Image(object): | ||
1967 | self.thumbnail_path = parser.thumbnail_path | 1968 | self.thumbnail_path = parser.thumbnail_path |
1968 | 1969 | ||
1969 | self.number_of_frames = parser.GetNumberOfFrames() | 1970 | self.number_of_frames = parser.GetNumberOfFrames() |
1971 | + self.samples_per_pixel = parser.GetImageSamplesPerPixel() | ||
1970 | 1972 | ||
1971 | if (parser.GetImageThickness()): | 1973 | if (parser.GetImageThickness()): |
1972 | self.spacing.append(parser.GetImageThickness()) | 1974 | self.spacing.append(parser.GetImageThickness()) |