diff --git a/PyQt/3dView.py b/PyQt/3dView.py new file mode 100644 index 0000000..ea638a4 --- /dev/null +++ b/PyQt/3dView.py @@ -0,0 +1,51 @@ +import sys +import pyqtgraph.opengl as gl +from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton +import SimpleITK as sitk +import numpy as np + +# Create a PyQt application and main window +app = QApplication(sys.argv) +main_window = QMainWindow() +main_window.setWindowTitle("3D NIfTI Viewer") +central_widget = QWidget() +main_window.setCentralWidget(central_widget) +layout = QVBoxLayout() +central_widget.setLayout(layout) + +# Create a PyQtGraph OpenGLWidget to display the 3D image +view = gl.GLViewWidget() +layout.addWidget(view) + +# Define a function to load and display the NIfTI image +def load_nifti_and_display(): + # Replace 'your_image.nii.gz' with the path to your NIfTI file + nifti_file = "Demo 3d Data/BraTS2021_00000_0000.nii.gz" + + # Load the NIfTI image using SimpleITK + sitk_image = sitk.ReadImage(nifti_file) + + # Convert the SimpleITK image to a NumPy array + data = sitk.GetArrayFromImage(sitk_image) + + # Swap axes to match the expected shape by GLVolumeItem + # data = np.swapaxes(data, 0, 2) # Swap the first and third axes + + # Normalize the data to [0, 1] + min_val = np.min(data) + max_val = np.max(data) + normalized_data = (data - min_val) / (max_val - min_val) + + # Create a volume item and add it to the view + volume = gl.GLVolumeItem(normalized_data, sliceDensity=2, smooth=True) + # volume.setLevels(min_val, max_val) # Set levels for volume rendering + view.addItem(volume) + +# Create a button to trigger the loading and display of the NIfTI image +load_button = QPushButton("Load NIfTI Image") +load_button.clicked.connect(load_nifti_and_display) +layout.addWidget(load_button) + +# Show the main window +main_window.show() +sys.exit(app.exec_()) diff --git a/PyQt/Add Mas to Image with cv2 .ipynb b/PyQt/Add Mas to Image with cv2 .ipynb new file mode 100644 index 0000000..87ecf48 --- /dev/null +++ b/PyQt/Add Mas to Image with cv2 .ipynb @@ -0,0 +1,160 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "fd423184", + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Load your main image\n", + "main_image = cv2.imread('/home/mkhanmhmdi/Pictures/Screenshots/1.png')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "0f3a5a65", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(702, 1135, 3)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "main_image.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "461ea243", + "metadata": {}, + "outputs": [], + "source": [ + "mask = np.zeros(shape=main_image.shape)\n", + "mask[100:150,500:600,:] =10\n", + "mask[500:600,700:800,:] =600\n", + "mask = mask.astype(main_image.dtype)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "f0625ae0", + "metadata": {}, + "outputs": [], + "source": [ + "def draw_mask(image, mask_generated):\n", + " masked_image = image.copy()\n", + "\n", + " # Resize the mask to match the dimensions of the image\n", + " mask_resized = cv2.resize(mask_generated, (image.shape[1], image.shape[0]), interpolation=cv2.INTER_NEAREST)\n", + "\n", + " # Find unique labels in the resized mask\n", + " unique_labels = np.unique(mask_resized)\n", + "\n", + " # Iterate through each unique label and assign a unique color\n", + " for label in unique_labels:\n", + " if label == 0: # Skip background label\n", + " continue\n", + "\n", + " # Generate a random color for each label\n", + " color = np.random.randint(0, 255, size=(3,), dtype=np.uint8)\n", + "\n", + " # Create a binary mask for the current label\n", + " label_mask = (mask_resized == label).astype(np.uint8)\n", + "\n", + " # Set the color for the pixels belonging to the current label\n", + " masked_image[label_mask > 0] = color\n", + "\n", + " masked_image = masked_image.astype(np.uint8)\n", + "\n", + " # You can adjust the alpha and beta values to control the blending\n", + " return cv2.addWeighted(image, 0.7, masked_image, 0.3, 0)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "0ae6ecfa", + "metadata": {}, + "outputs": [], + "source": [ + "im = draw_mask(main_image,cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY))" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "78ceebfe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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e+Zi9hfruGC1SXrVWVx7wVze+ak/om8onI2dSGg0zUnJ2ksu5JXtL3HNlnYWnH8l565t4NKb38G577yW3XsPI4v9nH/lGZipFBdeuhEyLWg0eUvx2JMvMdC5F41mf1eWwT0v0b5iBU1xh2WnbeSM9W30ZeYzP3aE82+7NeJPNdV1U7z9/IUYy8+iqfQGl7znFm5421pys9ZwZN9rCOHw7htPpWHNmVx3wXzaNl/Mj3/+NAdfejJ4wjSanqzFE48+S76vk+6+AS48pZEl517MJZeewo5DFtmeThKGwx1/8DZe7zE4a02aTrOdwX0v0rZiBXZp4rE03PqAEJorzl9G84ZzOX9VjFVvu57TFic558abOP/q83hp50FaYjmWnHoKN1y5knz7eubHjnD2zTehNCxtT7Jsy9l0NAjOvnwL19z+NnYfzuNkj/KBOy9Gti3jths3sv6sc2jbvIU9L23nvDMWsDef4qJ1MWZv3ELPwAAbF0hOufoazj17CXuzCS4/v43DhSbefuF82peu5L2fuAUjmeG9H74KGuaM2tYSgSENdw0eMfKChBLFu285g8Ox+axuybHmzNNZcu757Ny2nXwhy0BvD7fecjYt8xdz6mUXsueVV7njfReSmL2QroEiPa++yE3vvx4Vy3D2qiaWXn49L27dzikdgnXX3Uz37ld514du5IJNi5h/4bXseeVltLK47LQONlzzTk5dmOLsd7573O12UhMUWfvUPjPqo5Ha/RZopHaJhK/y8NVCQmkkRI75JMVLr8vVKdG4I0KpQMrhq1+i1/DPRyscx8a2LZTjBCQoSBucp8rPV67aSmgnJFmoyPkKqTVSl58nfcmMDuuBdw+k1u698eQ+2ZxF16HDSO3wxsE+jN5DvPN916NTs6hLu/FBfCHTnr1HObT9JajPUDiyn0THInJdR7z7LaapXat9RHD9gazNwV37WNBej6NjPLuji2cefYJHv/9D3nH96bQsXY8hNNJwjaCFBikEjqM50tmLkx1ASojhsO78M/nm136EM3QksOTYf6iHrU9sZV57GumuuoIxpXV38+6Y28K2Fw+y/bltzG1L0trexrZte9j36usYusS8+e04Nvz+qb3073kZK28Fz7bhDZZWSXH44FHOXJrktKuvw7E16fo0thbs2X0IZ6iPdEwgmtp44amt5HqOEBMO6847i2997Ueo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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(im)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df77d17d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/PyQt/AddMask2Image.py b/PyQt/AddMask2Image.py new file mode 100644 index 0000000..9817253 --- /dev/null +++ b/PyQt/AddMask2Image.py @@ -0,0 +1,25 @@ +import cv2 +import numpy as np + +# Load your main image +main_image = cv2.imread('main_image.jpg') + +# Generate the mask using your segmentation model (replace this with your actual code) +# Assuming you have the mask as a NumPy array with the same shape as the main image +# mask = your_segmentation_model(main_image) + +# Make sure the mask has the same number of channels as the main image (3 for RGB) +if len(mask.shape) == 2: + mask = cv2.merge([mask] * 3) + +# Overlay the mask on the main image +alpha = 0.5 # You can adjust the alpha value for transparency +result = cv2.addWeighted(main_image, 1 - alpha, mask, alpha, 0) + +# Display the result +cv2.imshow('Segmentation Result', result) +cv2.waitKey(0) +cv2.destroyAllWindows() + +# Save the result if needed +cv2.imwrite('result_image.jpg', result) diff --git a/PyQt/BasePyQT.py b/PyQt/BasePyQT.py new file mode 100644 index 0000000..b2782e8 --- /dev/null +++ b/PyQt/BasePyQT.py @@ -0,0 +1,148 @@ +import numpy as np +from PIL import Image +import nibabel as nib +import SimpleITK as sitk +from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QSlider, QPushButton, QFileDialog +from PyQt5.QtGui import QImage, QPixmap, QPainter +from PyQt5.QtCore import Qt +from MainWindow import MainWindowSegment + + +class SlicerWidget(QWidget): + def __init__(self, data_path, sitk_image): + super().__init__() + self.data_path = data_path + self.nibabel_data = nib.load(self.data_path).get_fdata() + self.sitk_image = sitk.GetArrayViewFromImage(sitk_image) + self.current_view = 'sagittal' + self.slice_index = max(self.nibabel_data.shape)// 2 + self.image_path = None + self.slice_data_nibabel = None + self.slice_data = None + self.max_shape_size = max(self.nibabel_data.shape) + self.sitk_image = self.pad_to_specific_shape(self.sitk_image, ( + max(self.nibabel_data.shape), max(self.nibabel_data.shape), max(self.nibabel_data.shape))) + self.nibabel_data = self.pad_to_specific_shape(self.nibabel_data, ( + max(self.nibabel_data.shape), max(self.nibabel_data.shape), max(self.nibabel_data.shape))) + print(self.sitk_image.shape) + print(self.nibabel_data.shape) + + def pad_to_specific_shape(self, input_array, target_shape, pad_value=0): + """ + Pad a NumPy array to a specific shape. + + Parameters: + input_array (numpy.ndarray): The input array to be padded. + target_shape (tuple): The desired shape (tuple of integers) of the padded array. + pad_value (float or int, optional): The value used for padding. Default is 0. + + Returns: + numpy.ndarray: The padded array with the specified shape. + """ + # Ensure the input array and target shape have the same number of dimensions + if len(input_array.shape) != len(target_shape): + raise ValueError("Input array and target shape must have the same number of dimensions.") + + # Calculate the padding required for each dimension + pad_width = [(0, max(0, target_shape[i] - input_array.shape[i])) for i in range(len(target_shape))] + + # Pad the input array + padded_array = np.pad(input_array, pad_width, mode='constant', constant_values=pad_value) + + return padded_array + + def paintEvent(self, event): + print(self.slice_index) + print(self.current_view) + print('---------------------------------------') + painter = QPainter(self) + + if self.current_view == 'sagittal': + self.slice_data = self.sitk_image[:, :, self.slice_index] + self.slice_data_nibabel = self.nibabel_data[:, :, self.slice_index] + if self.current_view == 'coronal': + self.slice_data = self.sitk_image[:, self.slice_index, :] + self.slice_data_nibabel = self.nibabel_data[:, self.slice_index, :] + if self.current_view == 'axial': + self.slice_data = self.sitk_image[self.slice_index, :, :] + self.slice_data_nibabel = self.nibabel_data[self.slice_index, :, :] + + slice_data = ((self.slice_data - self.slice_data.min()) / ( + self.slice_data.max() - self.slice_data.min()) * 255).astype('uint8') + height, width = slice_data.shape + bytes_per_line = width + image = QImage(slice_data.data, width, height, bytes_per_line, QImage.Format_Grayscale8) + pixmap = QPixmap.fromImage(image) + painter.drawPixmap(0, 0, self.width(), self.height(), pixmap) + + def set_current_view(self, view): + self.current_view = view + self.slice_index = self.max_shape_size // 2 + self.update() + + def set_slice_index(self, index): + self.slice_index = index + self.update() + + def save_current_view_as_jpg(self): + print(self.slice_index) + print(self.current_view) + print('********************************') + options = QFileDialog.Options() + options |= QFileDialog.ReadOnly + file_path, _ = QFileDialog.getSaveFileName(self, f"Save {self.current_view.capitalize()} View as JPG", "", + "JPEG Image Files (*.jpg);;All Files (*)", options=options) + rescaled = (255.0 / self.slice_data.max() * ( + self.slice_data - self.slice_data.min())).astype(np.uint8) + im = Image.fromarray(rescaled) + im.save(file_path) + self.image_path = file_path + + +class MainWindow(QMainWindow): + def __init__(self, data_path): + super().__init__() + self.data_path = data_path + self.setWindowTitle("3D Slicer") + self.setGeometry(100, 100, 800, 600) + sitk_image = sitk.ReadImage(self.data_path) + self.slicer_widget = SlicerWidget(self.data_path, sitk_image) + + self.scrollbar = QSlider(Qt.Horizontal) + self.scrollbar.setMaximum(sitk_image.GetSize()[0] - 1) + self.scrollbar.valueChanged.connect(self.slicer_widget.set_slice_index) + + self.save_button = QPushButton("Save as JPG") + self.save_button.clicked.connect(self.slicer_widget.save_current_view_as_jpg) + + self.view_buttons = { + 'Sagittal': 'sagittal', + 'Coronal': 'coronal', + 'Axial': 'axial', + } + + self.start_button = QPushButton("Start Segment") + self.start_button.clicked.connect(self.close_window) + + for button_text, view in self.view_buttons.items(): + button = QPushButton(button_text) + button.clicked.connect(lambda _, view=view: self.slicer_widget.set_current_view(view)) + self.view_buttons[button_text] = button + + layout = QVBoxLayout() + layout.addWidget(self.slicer_widget) + layout.addWidget(self.scrollbar) + layout.addWidget(self.save_button) + for button_text, button in self.view_buttons.items(): + layout.addWidget(button) + layout.addWidget(self.start_button) + + central_widget = QWidget() + central_widget.setLayout(layout) + self.setCentralWidget(central_widget) + + def close_window(self): + self.close() + + def get_image_path(self): + return self.slicer_widget.image_path diff --git a/PyQt/Demo 3d Data/BraTS2021_00000_0000.nii.gz b/PyQt/Demo 3d Data/BraTS2021_00000_0000.nii.gz new file mode 100755 index 0000000..dd1fefa Binary files /dev/null and b/PyQt/Demo 3d Data/BraTS2021_00000_0000.nii.gz differ diff --git a/PyQt/Demo 3d Data/BraTS2021_00000_0001.nii.gz b/PyQt/Demo 3d Data/BraTS2021_00000_0001.nii.gz new file mode 100755 index 0000000..4699ebe Binary files /dev/null and b/PyQt/Demo 3d Data/BraTS2021_00000_0001.nii.gz differ diff --git a/PyQt/Inference.py b/PyQt/Inference.py new file mode 100644 index 0000000..8dc6fdb --- /dev/null +++ b/PyQt/Inference.py @@ -0,0 +1,61 @@ +import numpy as np +import torch +import matplotlib.pyplot as plt +import cv2 +import sys +from segment_anything import sam_model_registry +from segment_anything.predictor_sammed import SammedPredictor +from argparse import Namespace + +class Inference: + def __init__(self,image_path): + self.args = Namespace() + self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + self.args.image_size = 256 + self.args.encoder_adapter = True + self.args.sam_checkpoint = ("../Pretrain-Models/sam-med2d_b.pth") + self.model = None + self.predictor = None + self.load_model() + self.image = cv2.imread(image_path) + self.set_image() + + def load_model(self): + self.model = sam_model_registry["vit_b"](self.args).to(self.device) + self.predictor = SammedPredictor(self.model) + + def set_image(self): + self.predictor.set_image(self.image) + + def show_mask(self, mask, ax, random_color=False): + if random_color: + color = np.concatenate([np.random.random(3), np.array([0.6])], axis=0) + else: + color = np.array([30 / 255, 144 / 255, 255 / 255, 0.6]) + h, w = mask.shape[-2:] + mask_image = mask.reshape(h, w, 1) * color.reshape(1, 1, -1) + ax.imshow(mask_image) + + def show_points(self, coords, labels, ax, marker_size=100): + pos_points = coords[labels == 1] + neg_points = coords[labels == 0] + ax.scatter(pos_points[:, 0], pos_points[:, 1], color='green', marker='.', s=marker_size, edgecolor='white', + linewidth=0.5) + ax.scatter(neg_points[:, 0], neg_points[:, 1], color='red', marker='.', s=marker_size, edgecolor='white', + linewidth=0.5) + + def show_box(self, box, ax): + x0, y0 = box[0], box[1] + w, h = box[2] - box[0], box[3] - box[1] + ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor='green', facecolor=(0, 0, 0, 0), lw=2)) + + def creat_mask(self, points, labels): + masks, scores, logits = self.predictor.predict( + point_coords=points, + point_labels=labels, + multimask_output=True, + ) + return masks, scores, logits + +if __name__=="__main__": + c = Inference() \ No newline at end of file diff --git a/PyQt/MainWindow.py b/PyQt/MainWindow.py new file mode 100644 index 0000000..6c7c414 --- /dev/null +++ b/PyQt/MainWindow.py @@ -0,0 +1,251 @@ +import os +import sys +from datetime import datetime + +import cv2 +import numpy as np +import matplotlib.pyplot as plt +from PIL import ImageQt +from PIL import Image + +from Inference import Inference +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton, QLabel +from PyQt5.QtGui import QPixmap, QPainter, QPen, QColor + + +# Define the main application window class +class MainWindowSegment(QMainWindow): + def __init__(self, image_path): + """ + Initialize the main application window. + The images at each section save at the 'Output' folder of the code base path with the name of 'iteration_n.png'. + Parameters: + - image_path (str): Path to the image to be displayed. + """ + super().__init__() + self.image_path = image_path + self.main_image = cv2.imread(self.image_path) + + # Set up the main window + self.setWindowTitle("SAM click base") + self.setGeometry(100, 100, 800, 600) + + self.central_widget = QWidget(self) + self.setCentralWidget(self.central_widget) + + self.image = QPixmap(image_path) + self.image_size = (self.image.width(), self.image.height()) + self.image_screen_size = (500, 500) + self.image = self.image.scaled(self.image_screen_size[0], self.image_screen_size[1]) + self.label = QLabel(self) + self.label.setPixmap(self.image) + self.label.setAlignment(Qt.AlignTop) + self.resize(550, 300) + self.label.mousePressEvent = self.handleMouseClick + + self.central_layout = QVBoxLayout() + self.central_layout.addWidget(self.label) + + self.mask_btn = QPushButton("Mask") + self.gt_btn = QPushButton("Ground Truth") + self.predict_btn = QPushButton("Predict") + self.undo_btn = QPushButton("Undo") + + self.mask_btn.clicked.connect(self.mask_btn_action) + self.gt_btn.clicked.connect(self.gt_btn_action) + self.predict_btn.clicked.connect(self.predict_btn_action) + self.undo_btn.clicked.connect(self.undoCircleDraw) + + self.central_layout.addWidget(self.mask_btn) + self.central_layout.addWidget(self.gt_btn) + self.central_layout.addWidget(self.predict_btn) + self.central_layout.addWidget(self.undo_btn) + + self.central_widget.setLayout(self.central_layout) + + self.model = Inference(self.image_path) + self.point_flag = '' + self.gt_points = [] + self.mask_points = [] + self.points_sequence = [] + self.iteration = 0 + self.all_images = [self.image] + self.undo_counter = -2 + self.base_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'Output') + + def mask_btn_action(self): + """Set the point_flag to 'mask' when Mask button is clicked.""" + self.point_flag = 'mask' + + def gt_btn_action(self): + """Set the point_flag to 'gt' when Ground Truth button is clicked.""" + self.point_flag = 'gt' + + def scale_points(self, points): + """ + Scale the points to match the image dimensions. + + Parameters: + - points (numpy.array): Array of points to be scaled. + + Returns: + - List: Scaled points. + """ + points[:, 0] = (points[:, 0] / self.image_screen_size[0]) * self.image_size[0] + points[:, 1] = (points[:, 1] / self.image_screen_size[1]) * self.image_size[1] + return points + + def draw_mask(self, image, mask_generated): + """ + Draw a mask on the image. + + Parameters: + - image (numpy.array): The original image. + - mask_generated (numpy.array): The generated mask. + + Returns: + - numpy.array: The image with the mask drawn. + """ + masked_image = image.copy() + + mask_resized = cv2.resize(mask_generated, (image.shape[1], image.shape[0]), interpolation=cv2.INTER_NEAREST) + + unique_labels = np.unique(mask_resized) + + for label in unique_labels: + if label == 0: # Skip background label + continue + + color = np.random.randint(0, 100, size=(3,), dtype=np.uint8) + + label_mask = (mask_resized == label).astype(np.uint8) + + print(masked_image.shape) + print(image.shape) + masked_image[label_mask > 0] = color + masked_image = masked_image.astype(np.uint8) + return cv2.addWeighted(image, 0.1, masked_image, 0.9, 0) + + def save_image(self, base_directory, segmented_image, masks): + current_datetime = datetime.now() + timestamp = current_datetime.strftime("%Y-%m-%d_%H-%M-%S") + new_directory_path = os.path.join(base_directory, timestamp) + if not os.path.exists(new_directory_path): + os.makedirs(new_directory_path) + + fig, ax = plt.subplots() + ax.set_axis_off() + + ax.imshow(segmented_image) + color = np.array([30 / 255, 144 / 255, 255 / 255, 0.6]) + h, w = masks.shape[-2:] + mask_image = masks.reshape(h, w, 1) * color.reshape(1, 1, -1) + ax.imshow(mask_image) + fig.savefig(os.path.join(new_directory_path, 'iteration_{}.png').format(self.iteration), bbox_inches='tight', + pad_inches=0) + + def predict_btn_action(self): + """Handle the Predict button click event.""" + if len(self.gt_points) + len(self.mask_points) == 0: + return None + + if len(self.gt_points) > 0: + gt_np = np.array(self.gt_points) + else: + gt_np = np.empty((0, 2)) # Create an empty 2D array for gt_points + + if len(self.mask_points) > 0: + mask_np = np.array(self.mask_points) + else: + mask_np = np.empty((0, 2)) # Create an empty 2D array for mask_points + + all_points = self.scale_points(np.concatenate((gt_np, mask_np))) + all_labels = np.concatenate((np.zeros(len(self.gt_points)), np.ones(len(self.mask_points)))) + + print(all_points) + print(all_labels) + if len(all_labels) != 0 and len(all_points) != 0: + masks, scores, logits = self.model.creat_mask(all_points, all_labels) + + segmented_image = self.draw_mask(self.main_image, masks.squeeze()) + self.save_image(self.base_path, segmented_image, masks) + + print(segmented_image.shape) + img = Image.fromarray(segmented_image, mode='RGB') + qt_img = ImageQt.ImageQt(img) + self.image = QPixmap.fromImage(qt_img) + self.image = self.image.scaled(500, 500) + + self.label.setPixmap(self.image) + self.label.setAlignment(Qt.AlignTop) + + self.iteration += 1 # Add the iteration number + self.reset_undo_params() + print('Predict process is complete!') + print("----------------------------") + + def reset_undo_params(self): + """ + # Clear the image list and reset the undo_coutner because the user can not undo points that have been used before + # prediction process + :return: + """ + self.all_images = [self.image] + self.undo_counter = -2 + + def handleMouseClick(self, event): + """Handle mouse click events on the image label.""" + if self.point_flag == 'gt': + pos = event.pos() + + x = pos.x() + y = pos.y() + print(f"{self.point_flag} at ({x}, {y})") + self.drawCircle(x, y) + self.gt_points.append(np.array([x, y])) + + if self.point_flag == 'mask': + pos = event.pos() + + x = pos.x() + y = pos.y() + print(f"{self.point_flag} at ({x}, {y})") + self.drawCircle(x, y) + self.mask_points.append(np.array([x, y])) + + def drawCircle(self, x, y): + """Draw a circle on the image at the specified position (x, y).""" + self.image = QPixmap(self.image) + painter = QPainter(self.image) + if self.point_flag == 'gt': + painter.setPen(QPen(Qt.red, 5)) + elif self.point_flag == 'mask': + painter.setPen(QPen(Qt.green, 5)) + painter.drawEllipse(x, y, 1, 1) + painter.end() + self.label.setPixmap(self.image) + self.label.setAlignment(Qt.AlignTop) + self.last_x_y = (x, y, self.point_flag) + self.all_images.append(self.image) + + def undoCircleDraw(self): + """Undo the last circle draw action.""" + if abs(self.undo_counter + 2) > len(self.all_images): + return None + self.image = self.all_images[self.undo_counter] + self.label.setPixmap(self.image) + self.label.setAlignment(Qt.AlignTop) + + if self.last_x_y[0] == 'gt': + self.gt_points.pop() + elif self.last_x_y[0] == 'mask': + self.mask_points.pop() + self.undo_counter -= 1 # The counter of the undo for when the use give the button of the undo for many times. + + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = MainWindowSegment(image_path='/home/mkhanmhmdi/Downloads/SAM(click base)/SAM-Med2D/PyQt/a.png') + window.show() + sys.exit(app.exec_()) diff --git a/PyQt/run.py b/PyQt/run.py new file mode 100644 index 0000000..05009ad --- /dev/null +++ b/PyQt/run.py @@ -0,0 +1,30 @@ +import sys +import argparse +import SimpleITK as sitk +from PyQt5.QtWidgets import QApplication +from BasePyQT import MainWindow +from MainWindow import MainWindowSegment + + +def parse_arguments(): + parser = argparse.ArgumentParser(description="Segmentation Tool") + parser.add_argument("data_path", type=str, help="Path to the data file (e.g., .nii.gz)") + return parser.parse_args() + + +def run(data_path): + app1 = QApplication(sys.argv) + window = MainWindow(data_path) + window.show() + exit_app1 = (app1.exec_()) + image_path = window.get_image_path() + + app = QApplication(sys.argv) + window = MainWindowSegment(image_path=image_path) + window.show() + sys.exit(app.exec_()) + + +if __name__ == '__main__': + args = parse_arguments() + run(args.data_path)