Project

General

Profile

UML Diagrams » History » Revision 21

Revision 20 (Joseph Eugene PELC, 11/07/2024 01:14 PM) → Revision 21/22 (Joseph Eugene PELC, 11/07/2024 01:15 PM)

--- 

 *[[/|Home]]*     |     *[[Team Members]]*     |     *[[Project Description]]*     |     *[[Code]]*     |     *[[UML Diagrams]]*     |     *[[Results]]*     | 

 --- 

 h1=. <pre> 
 UML Diagrams </pre> 


 table{width: 100%}. 
 |={width: 100%; background-color:    #FF5733    ;}. *Project UML Diagram* | 

 !pbl4444.png! 

 table{width: 100%}. 
 |={width: 100%; background-color:    #DD1232    ;}. *UML Diagram Classes Description* | 

 h2. *Classes* 

 1. ConfigReader 

    ○ Attributes: 
      ■ config_path (str): The path to the configuration file. 
      ■ config_parser (ConfigParser): An instance of a configuration parser. 

    ○ Methods: 
      ■ __init__(self, config_path=None, configName=None): Constructor to initialize with an optional config path. 
      ■ getImageName(): Returns the image name. 
      ■ getProjectedOverlayAlphaWidth(): Returns the width of the projected overlay alpha. 
      ■ getProjectedImageWidth(): Returns the projected image width. 
      ■ getTransparencyFactor(): Returns the transparency factor as a float. 
      ■ saveConfig(path): Saves the configuration to the specified path. 
      ■ getImageSide(): Gets the side of the image. 
      ■ setParameters(parameters): Sets parameters for the configuration. 
      ■ getGamma(): Returns the gamma value. 

 2. ProcessImage 

    
    ○ Methods: 
      ■ processImage(image_path, params, main_display): Processes the image located at image_path with specified params, using MainDisplay instance for display  
        purposes. 

 3. MainDisplay 

    
    ○ Methods: 
      ■ readImage(image_path): Reads an image from the specified path and returns it as an ndarray. 
      ■ setImage(image): Sets the image to display as an ndarray. 

 4. MaskCreator 

    
    ○ Attributes: 
      ■ _image (ndarray): Stores the original image. 
      ■ _alpha_gradient (ndarray): Stores the alpha gradient. 
      ■ _gamma_corrected (ndarray): Holds the gamma-corrected version of the image. 
      ■ _mask (int): Represents the mask value. 
      ■ transparency_factor (float): Factor controlling the transparency. 
      ■ result_image (ndarray): Holds the result after processing. 

    
    ○ Methods: 
      ■ __init__(_image, transparency_factor): Initializes with an image and transparency factor. 
      ■ createMask(image_side, mask_width, image_width): Creates a mask for the specified image side and dimensions. 
      ■ smoothStep(edge0, edge1, x): Returns a smooth transition between two edges. 
      ■ gammaCorrection(gamma): Applies gamma correction. 
      ■ alphaBlending(image_side): Performs alpha blending for the specified side. 

 5. ImageProcessingApp 

    
    ○ Attributes: 
      ■ left_image_path and right_image_path (str): Paths to the left and right images. 
      ■ left_params and right_params (dict): Parameters for left and right images. 
      ■ processed_images (dict): Dictionary to store processed images. 
      ■ notebook (Notebook), tab_left, tab_right, tab_settings, tab_preview (Frame): UI components. 
      ■ process_button (Button), progress_bar (Progressbar): UI elements for processing and progress indication. 
      ■ left_image_label, right_image_label, original_image_label, processed_image_label (Label): Labels for displaying images. 

    
    ○ Methods: 
      ■ __init__(root): Constructor to initialize the application with a root UI element. 
      ■ setupLeftTab(), setupRightTab(), setupSettingsTab(), setupPreviewTab(): Methods for setting up respective tabs in the UI. 
      ■ selectLeftImage(): Allows selection of the left image. 
      ■ saveConfiguration(), loadConfiguration(): Methods to save and load configuration. 
      ■ processAndSave(): Processes and saves the image. 
      ■ displayPreview(): Displays a preview of the processed images. 
      ■ displayImage(processedImages): Displays an image from processed images. 

 h2. *Relationships* 

 ● ImageProcessingApp is the main application class and interacts with ConfigReader, ProcessImage, and MainDisplay classes. 
 ● ConfigReader provides configuration details to ImageProcessingApp. 
 ● ProcessImage uses MainDisplay to load and display images, possibly utilizing MaskCreator for mask and blending operations. 
 ● MaskCreator handles the creation of masks and alpha blending, which may be used by ProcessImage to prepare images for display in MainDisplay.