diff --git a/Library/Airways/PTKComputeRadiusForBranch.m b/Library/Airways/PTKComputeRadiusForBranch.m index c2bd445ac..5454c42df 100644 --- a/Library/Airways/PTKComputeRadiusForBranch.m +++ b/Library/Airways/PTKComputeRadiusForBranch.m @@ -181,8 +181,14 @@ % tissue min_hu = -1024; max_hu = 0; - min_intensity = lung_image_as_double.HounsfieldToGreyscale(min_hu); - max_intensity = lung_image_as_double.HounsfieldToGreyscale(max_hu); + try + min_intensity = lung_image_as_double.HounsfieldToGreyscale(min_hu); + max_intensity = lung_image_as_double.HounsfieldToGreyscale(max_hu); + catch + imgV = lung_image_as_double.RawImage(:); + min_intensity = max(min_hu,min(imgV)); + max_intensity = min(max_hu,max(imgV)); + end interp_image = max(double(min_intensity), interp_image); interp_image = min(double(max_intensity), interp_image); midpoint = ceil(size(interp_image, 1)/2); diff --git a/Library/Airways/PTKReallocateAirwaysByLobe.m b/Library/Airways/PTKReallocateAirwaysByLobe.m index dad23ea8d..37f840f29 100644 --- a/Library/Airways/PTKReallocateAirwaysByLobe.m +++ b/Library/Airways/PTKReallocateAirwaysByLobe.m @@ -12,6 +12,9 @@ uncertain_bronchi = start_branches.LeftUncertain; for bonchus = uncertain_bronchi + if ~isfield(bonchus(1).GetCentrelineTree,'GlobalIndex') + continue; + end indices = GetVoxelsForTheseBranches(bonchus, lobes); lobe_values = lobes.RawImage(indices); lobe_values = setdiff(lobe_values, 0); diff --git a/Library/Lungs/PTKSeparateAndLabelLungs.m b/Library/Lungs/PTKSeparateAndLabelLungs.m index 037b2e045..67810e336 100644 --- a/Library/Lungs/PTKSeparateAndLabelLungs.m +++ b/Library/Lungs/PTKSeparateAndLabelLungs.m @@ -89,8 +89,10 @@ num_pixels = cellfun(@numel, CC.PixelIdxList); total_num_pixels = sum(num_pixels); [largest_area_numpixels, largest_areas_indices] = sort(num_pixels, 'descend'); - - if ~isempty(trachea_top_local) + + if ~isempty(trachea_top_local) && ... + length(trachea_top_local) > 1 && ... + length(size(both_lungs.RawImage)) > 2 left_region = both_lungs.RawImage(:, 1:trachea_top_local(2), :); right_region = both_lungs.RawImage(:, trachea_top_local(2) + 1:end, :); left_sum = sum(left_region(:));