Anchor-based image segmentation for medical imaging

By selecting anchor points in medical images and adjusting anchor point indicators, the problem of inaccurate image segmentation in the prior art is solved, more efficient boundary adjustment and model training are achieved, and diagnostic accuracy is improved.

CN120239874APending Publication Date: 2025-07-01GENENTECH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380080683.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-11-23
Filing Date
2023-11-24
Publication Date
2025-07-01

Smart Images

  • Figure CN120239874A_ABST
    Figure CN120239874A_ABST
Patent Text Reader

Abstract

A method implemented by one or more computer devices includes receiving an image associated with a portion of an anatomy of a subject. Boundary points are extracted for an initial boundary associated with a corresponding pixel region in the image. The boundary points are evaluated according to a sequential order to select anchor points. The evaluating includes determining that a current boundary point is a next anchor point when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and the current boundary point being evaluated relative to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold. An anchor image is generated for display in a graphical user interface on a display device. The anchor point image includes an anchor point indicator representing the anchor point.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Inventors: Seyed Mohammadmohsen HEJRATI and Miao ZHANG

[0002] Cross - Reference to Related Applications

[0003] This application claims the benefit of the filing date of U.S. Provisional Application No. 63 / 427,639, filed on November 23, 2022, entitled "Anchor Points - Based Image Segmentation for Medical Imaging", the entire content of which is incorporated herein by reference. Technical Field

[0004] This application generally relates to analyzing images, and more particularly, to methods and systems including image analysis to generate anchor point indicators on a graphical user interface, the anchor point indicators being capable of effectively automatically and / or semi - automatically adjusting the boundaries of anatomic regions of interest identified using image segmentation. Background Art

[0005] Medical imaging generally involves visualizing and analyzing digitized images to determine whether changes occurring in tissue are caused by disease, toxicity, and / or natural processes. Specifically, medical imaging can rely on one or more image analysis tasks to convert raw image data into a qualitative understanding of the tissue. For example, one or more image analysis tasks typically include image enhancement, image segmentation, image feature extraction, and finally image classification. Some examples of image analysis can include identifying certain regions of tissue that appear normal, diseased, or correspond to one or more other similar regions of interest. For example, by identifying regions of tissue that appear normal or diseased and quantifying the area, shape, or texture of these regions of tissue, computational - based methods can be performed in a few minutes, which would otherwise require hours of arduous tasks by pathologists, many graders, or other scientific or medical experts.

[0006] Image segmentation generally includes dividing a digital image into different pixel regions. In some cases, class labels can be assigned to each of the different pixel regions (e.g., normal region, diseased region, region of concern, or region of interest). In some cases, a machine learning model trained to identify characteristics (e.g., features) of pixel regions in a digital image can be utilized to predict class labels. For example, in one example, as part of the drug discovery and development process, machine learning model-based image segmentation can be relied upon to accurately classify pixel regions corresponding to scans of tissue such as a tumor bed, stroma, or healthy tissue for appropriate treatment identification. In another instance, machine learning model-based image segmentation can be relied upon to accurately classify pixel regions corresponding to scans of a patient's retina corresponding to, for example, the various retinal layers of the patient's retina and / or one or more fluid pockets. After identifying appropriate treatments (such as by discovering new drugs), these new drugs can then be subject to regulatory approval requirements of a government or regulatory agency. For example, the approval process can include pathologists, human graders, a central reading center (CRC), or other medical or scientific professionals reviewing not only the efficacy of the new drug itself, but also the efficacy and accuracy of the methods and means of determining efficacy and / or developing the new drug. However, for example, since the image segmentation task may not present clear, distinct boundaries between different pixel regions in a medical scan, the class labels corresponding to different pixel regions may be inaccurate or imprecise. Summary of the Invention

[0007] In one or more embodiments, a method includes: receiving an image associated with a portion of a subject's anatomy. The method includes: extracting a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order associated with a selected two-dimensional plane of the image. The method includes: evaluating the plurality of boundary points according to the order to select a plurality of anchor points from the plurality of boundary points. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point. The evaluation includes: when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and a current boundary point being evaluated among the plurality of boundary points relative to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold, determining that the current boundary point is the next anchor point among the plurality of anchor points. The method includes: generating an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points.

[0008] In one or more embodiments, a method includes: receiving a plurality of images associated with a portion of a subject's anatomy. The method includes: using the plurality of images and a segmentation model to perform segmentation to generate a plurality of segmented images. The method includes: for each of the plurality of segmented images, extracting a plurality of boundary points for each of a set of initial boundaries associated with each segmented image. The plurality of boundary points are associated with an order of a selected two-dimensional plane corresponding to the plurality of images. The method includes: for each of the plurality of segmented images, evaluating the plurality of boundary points for each of the set of initial boundaries associated with each segmented image according to the order to select a plurality of anchor points from the plurality of boundary points for each of the set of initial boundaries identified in each image. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point; determining that a last boundary point among the plurality of boundary points is a last anchor point; and determining that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance of a set of vertical distances calculated for a corresponding set of intermediate boundary points with respect to a line extending between a previous anchor point and the current boundary point being evaluated among the plurality of boundary points is greater than a selected threshold. The method includes: generating an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points and a plurality of line segments connecting the plurality of anchor point indicators.

[0009] In one or more embodiments, a system including one or more computing devices includes: one or more non-transitory computer-readable storage media including instructions; and one or more processors coupled to the one or more storage media. The one or more processors are configured to execute the instructions to: receive an image associated with a portion of a subject's anatomy. The one or more processors are configured to execute the instructions to: extract a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order of a selected two-dimensional plane corresponding to the image. The one or more processors are configured to execute the instructions to: evaluate the plurality of boundary points according to the order to select a plurality of anchor points from the plurality of boundary points. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point. The evaluation includes: determining that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and the current boundary point being evaluated among the plurality of boundary points with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold. The one or more processors are configured to execute the instructions to: generate an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings are incorporated in and constitute a part of this specification, showing certain aspects of the subject matter disclosed herein, and together with the specification, help to explain some of the principles associated with the disclosed embodiments.

[0011] Figure 1A is a block diagram of an image analysis system according to one or more exemplary embodiments.

[0012] Figure 1B is a block diagram of an image processor from Figure 1A described in further detail according to one or more exemplary embodiments.

[0013] Figures 2A to 2B together are a flowchart of a process for generating adjustment data according to one or more exemplary embodiments.

[0014] Figures 3A to 3B together are a flowchart of a process for evaluating boundary points according to one or more exemplary embodiments.

[0015] Figure 4 is a flowchart of a process for evaluating a plurality of boundary points for possible inclusion in a plurality of anchor points according to one or more embodiments.

[0016] Figure 5 is a diagram illustrating how to calculate a vertical distance according to one or more exemplary embodiments.

[0017] Figure 6 is an illustration of an image displayed in a graphical user interface according to one or more exemplary embodiments.

[0018] Figure 7 is an illustration of a segmented image displayed in a graphical user interface according to one or more exemplary embodiments.

[0019] Figure 8 is an illustration of an image with identified boundaries displayed in a graphical user interface according to one or more exemplary embodiments.

[0020] Figure 9 is an illustration of an image displayed in a graphical user interface with boundary indicators according to one or more exemplary embodiments.

[0021] Figure 10 is an illustration of an image with anchor point indicators displayed in a graphical user interface according to one or more exemplary embodiments.

[0022] Figure 11 is an illustration of an image displayed in a graphical user interface with boundary indicators according to one or more exemplary embodiments.

[0023] Figure 12 is an illustration of an image having an anchor indicator displayed in a graphical user interface according to one or more exemplary embodiments.

[0024] Figure 13 is an illustration of an image displayed with a boundary indicator in a graphical user interface according to one or more exemplary embodiments.

[0025] Figure 14 is an illustration of an image having an anchor displayed in a graphical user interface according to one or more exemplary embodiments.

[0026] Figure 15 is an illustration of an image displayed with a boundary indicator in a graphical user interface according to one or more exemplary embodiments.

[0027] Figure 16 is an illustration of an image having an anchor displayed in a graphical user interface according to one or more exemplary embodiments.

[0028] Figure 17 is an illustration of a graphical user interface that converts the display of a boundary to an anchor indicator according to one or more exemplary embodiments.

[0029] Figure 18 is an illustration of a graphical user interface that converts the display of a boundary to an anchor indicator according to one or more exemplary embodiments.

[0030] Figure 19 is an illustration of a graphical user interface that converts the display of a boundary to an anchor indicator according to one or more exemplary embodiments.

[0031] Figure 20 is according to one or more exemplary embodiments Figure 19 of a graphical user interface that shows a change in anchor density.

[0032] Figure 21 is a block diagram illustrating an example of a computing system according to one or more exemplary embodiments.

[0033] It should be understood that the drawings are not necessarily to scale, and the objects in the drawings are not necessarily to scale relative to each other. The drawings are depictions intended to clarify and understand the various embodiments of the devices, systems, and methods disclosed herein. Where possible, the same reference numerals will be used throughout the drawings to refer to the same or similar parts. Additionally, it should be understood that the drawings are not intended to limit the scope of the teachings in any way. DETAILED DESCRIPTION

[0034] I. Overview

[0035] The embodiments described herein contemplate that, in some cases, currently available image analysis techniques may not provide the desired level of accuracy for screening, diagnosing, and / or managing the treatment of diseases. Additionally, the embodiments described herein contemplate that certain rules, regulations, and / or requirements associated with clinical trials, government agencies, and / or regulatory bodies may mandate a certain degree of human intervention in order to correct inaccurate data generated using automated techniques. For example, relying solely on a machine learning model to diagnose or analyze the treatment of a disease based on medical images may not be fully accepted by some members or groups within the medical or regulatory communities and, in some cases, may not be permitted by the regulatory community. Accordingly, it is desirable to improve the accuracy of information generated using machine learning models.

[0036] For example, a machine learning model can be used to segment various images (e.g., medical images, including, for example, OCT images of the retina or MRI images of the brain). For example, AI-based semantic segmentation can be used to classify each pixel as belonging to one of various selected classes. The selected classes can be, for example, retinal fluid layers, brain tissue, lung tissue, or some other anatomical structure or feature. This process can be used to generate a segmentation image that identifies pixel regions belonging to different classes. The boundaries of these regions can also be identified.

[0037] However, in some cases, the identification of these regions and their boundaries may not have the desired level of accuracy. In some cases, a human user may desire to view the segmented regions and / or their boundaries to adjust the boundaries in order to more accurately reflect the actual anatomical regions. Accordingly, it may be desirable to have methods and systems capable of quickly, efficiently, and accurately adjusting these boundaries based on user input. The new image generated using the newly adjusted boundaries can be used as training data to retrain the machine learning model to more accurately segment the regions and boundaries.

[0038] Accordingly, the embodiments described herein provide automated and semi-automated methods and computer-readable media for using a machine learning model to improve the accuracy of data. For example, the embodiments described herein provide an image analysis system that can be used to generate adjustment data that can be used to adjust an image or an adjusted image, wherein the boundaries of certain anatomical regions of interest identified on these images more accurately reflect the actual anatomical regions of interest.

[0039] In one or more embodiments, a segmentation image can identify multiple regions of pixels, each pixel region being classified as belonging to a selected class. The segmentation image can be associated with a portion of a subject's anatomy (e.g., an eye, retina, brain, lung, chest, leg, etc.). The pixel regions can correspond to fluid layers, pathological elements, tissue types, lobes, or some other type of anatomical structure or feature.

[0040] A set of initial boundaries associated with a pixel region can be identified using a segmented image. In some cases, these boundaries are identified in the segmented image. In other cases, these boundaries can be calculated from the segmented image. The initial boundaries associated with a pixel region can be, for example but not limited to, outer boundaries, inner boundaries, lower boundaries, upper boundaries, side boundaries, combinations thereof, or some other type of boundary. Multiple boundary points can be extracted for the initial boundaries. The multiple boundary points are associated with an order corresponding to a reference two-dimensional (2D) plane of the image. The multiple boundary points can be evaluated according to the order to select multiple anchor points from the multiple boundary points. The evaluation can include, for example, automatically determining that a first boundary point among the multiple boundary points is a first anchor point. The evaluation can include, for example, automatically determining that a last boundary point among the multiple boundary points is a last anchor point. The evaluation can include, for example: when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and a current boundary point being evaluated among the multiple boundary points with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold, automatically determining that the current boundary point is the next anchor point among the multiple anchor points.

[0041] The selected threshold can be chosen to provide an anchor point with a desired density of curvature, grooves, texture, and / or profile with a desired level of complexity in the boundary represented by the anchor points. A higher threshold can be chosen to reduce the density (number) of anchor points and reduce the complexity of the curvature, grooves, texture, and / or profile in the captured boundary. Conversely, a lower threshold can be chosen to increase the density (number) of anchor points and increase the complexity of the curvature, grooves, texture, and / or profile in the captured boundary.

[0042] Generate a graphical user interface in which an anchor point image is displayed. The anchor point image can include, for example, the original image being segmented and multiple anchor point indicators representing the multiple anchor points. The multiple anchor point indicators can be controllable graphical indicators. For example, a human user (e.g., a medical professional or expert, a human pathologist, a human grader, a reading center, or other type of human user) can move the anchor point indicators to change the position of the corresponding anchor points and thus change the corresponding boundaries.

[0043] By viewing the anchor point indicators on the original image, a human user can determine where the boundaries generated via machine learning techniques can be adjusted to more accurately reflect the actual corresponding boundaries associated with the subject's anatomy. In this way, the direction and / or curvature of the boundaries can be controlled based on user input.

[0044] Anchors are selected to reduce the overall computational resources that would otherwise be spent by providing the user with the option to adjust each pixel forming the boundary of the region of interest. By using anchor indicators representing the anchors, the user can focus on those key points along the boundary that affect curvature, contour, texture, etc., and the system can more easily and effectively update the boundary based on fewer inputs without sacrificing accuracy. In some embodiments, the segmented image can be adjusted to reclassify (or reassign) various pixels based on the new / modified boundary.

[0045] The image analysis system can process user input and automatically adjust the positions of the corresponding anchors, thereby automatically adjusting the previously identified boundary. For example, the image analysis system can generate an adjusted image with a new boundary, which can be used as new labeled data for supervised and / or semi-supervised training and / or retraining of a machine learning model. In this way, the machine learning model for segmenting images can be better trained to segment more accurately.

[0046] The adjustment / correction of the segmented image is achieved in a way that reduces the overall time and resources required to make these adjustments / corrections in the manner described herein without sacrificing accuracy. Since the anchor indicators only represent a subgroup of the boundary points extracted for a given boundary, the overall boundary can be adjusted more efficiently without the user having to adjust each boundary point (pixel) of the boundary. In addition, since there are fewer anchor indicators, fewer overall adjustment calculations need to be performed without sacrificing overall accuracy. Thus, generating anchors and displaying a graphical user interface with controllable / movable anchor indicators representing the anchors can improve the overall functionality of the image analysis system described herein and can reduce the overall consumption of computational resources.

[0047] II. Exemplary Architecture of the Image Analysis System

[0048] Figure 1A is a block diagram of an image analysis system 100 according to one or more exemplary embodiments. The image analysis system 100 can be used to analyze multiple images, such as, for example but not limited to, image 101. Each of the multiple images 101 can be an image of a part of a subject's anatomy. For example, image 101 can be a medical image. Thus, the image analysis system can also be referred to as a medical imaging analysis system. In addition, the image analysis system 100 can be used to analyze images using image segmentation and can thus also be referred to as an image segmentation and analysis system or a medical image segmentation and analysis system.

[0049] The image analysis system 100 can be used to train and use machine learning models to more accurately and effectively segment images (e.g., OCT images) to provide an assessment, detection, diagnosis, and / or treatment of patients with diseases or a combination thereof. The image analysis system 100 can include a computing platform 102, a data store 104, an input system 105, and a display system 106. In one or more embodiments, the data store 104, the input system 105, the display system 106, or any combination thereof can be part of a remote system 107 that is remotely located relative to the computing platform 102.

[0050] The computing platform 102 can take various forms. In one or more embodiments, the computing platform 102 includes a single computer (e.g., a server or a computer system), multiple computers (e.g., servers) that communicate with each other (e.g., via one or more wired, one or more wireless, and / or one or more optical communication links), a smart TV, and / or any combination thereof. In other examples, the computing platform 102 takes the form of a cloud computing platform, a mobile computing platform (e.g., a smartphone, a tablet, a laptop), or a combination thereof.

[0051] In some embodiments, the computing platform 102 can include, but is not limited to, a cloud-based computing architecture suitable for hosting, serving, and / or interfacing with one or more hardware, software, and / or firmware modules or tools executed on the remote system 107. In one or more embodiments, the computing platform 102 can include a platform as a service (PaaS) architecture, a software as a service (SaaS) architecture, an infrastructure as a service (IaaS) architecture, a computing as a service (CaaS) architecture, a data as a service (DaaS) architecture, a database as a service (DBaaS) architecture, or other similar cloud-based computing architectures (e.g., "X" as a service (XaaS)).

[0052] The hardware in the computing platform 102 can include, for example but not limited to, a general-purpose processor, a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a system on a chip (SoC), a microcontroller, a field-programmable gate array (FPGA), a central processing unit (CPU), an application processor (AP), a vision processing unit (VPU), a neural processing unit (NPU), a neural decision processor (NDP), a deep learning processor (DLP), a tensor processing unit (TPU), a neuromorphic processing unit (NPU), or other processing devices that can be suitable for processing various medical profile data and making one or more decisions based thereon. The computing platform 102 can include software (e.g., instructions running / executing on one or more processors), firmware (e.g., microcode), or a combination thereof.

[0053] The data storage 104, input system 105, and / or display system 106 may each communicate with the computing platform 102 (e.g., using one or more wired, wireless, optical, and / or other types of communication links). In some examples, the data storage 104, input system 105, display system 106, or any combination thereof may be considered part of or otherwise integrated with the computing platform 102. Thus, in some examples, the computing platform 102, data storage 104, and display system 106 may be separate components that communicate with each other, but in other examples, a combination of these components may be integrated together. The data storage 104 may include, for example, one or more data repositories, such as one or more databases.

[0054] The input system 105 may include one or more input devices for receiving user input. The input system 105 may include, for example but not limited to, a mouse, touchpad, keyboard, touchscreen, keypad, joystick, virtual reality input device, multiple arrow keys, or a combination thereof that allows a user to type user input. The display system 106 may include one or more display devices, such as but not limited to, a monitor, television, screen, or some other type of display device. A device such as a touchscreen may serve as both an input device of the input system 105 and a display device of the display system 106.

[0055] The image analysis system 100 includes an image processor 108, which may be implemented using hardware, software, firmware, or a combination thereof. In one or more embodiments, the image processor 108 is implemented in the computing platform 102. In some embodiments, a first portion of the image processor 108 (e.g., hardware, firmware, and / or software) is implemented in the computing platform 102, and a second portion of the image processor 108 (e.g., hardware, firmware, and / or software) is implemented in the remote system 107.

[0056] The image processor 108 may include, for example, a segmentation tool 110 and an adjustment tool 112, each of which may be implemented using hardware, software, firmware, or a combination thereof. In one or more embodiments, the image processor 108 receives an image 101 for processing. In some embodiments, the image 101 may be received from the data storage 104 that communicates with the computing platform 102 and / or some other type of data repository (e.g., cloud storage). The image 101 may capture a portion of the anatomy of a subject (e.g., a patient). For example, the image 101 may capture the retina of a subject, one or more bones, the brain, one or more lungs, one or more kidneys, the liver, the bladder, the heart, other tissues, or a combination thereof.

[0057] In addition, the image 101 can be a medical image (e.g., a medical scan, a medical diagnostic image), which includes an optical coherence tomography (OCT) image (e.g., an OCT volume, an OCT B-scan), a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or some other type of 2D / 3D image that captures a portion of an anatomical structure. The image 114 can be an example of the image 101. The image 114 can take the form of an OCT image, such as an OCT B-scan, which can be used to capture and render the depth of the retinal layers. An OCT B-scan refers to a cross-sectional image that represents the reflection amplitude in grayscale or false color. In some cases, an OCT B-scan may be referred to as a luminance scan. In other embodiments, the image 114 is an MRI image, a CT image, or some other type of medical imaging scan.

[0058] In one or more embodiments, the image 101 is generated after processing an initial image generated by a medical imaging system (e.g., a CT device, an MRI device, an OCT scanner, etc.). For example, the initial image generated by the medical imaging system can be filtered, scaled, resized, cropped, and / or preprocessed in some other way to generate the image 101.

[0059] After the image processor 108 receives the image 108, the segmentation tool 110 can process the received image 101 to generate a plurality of segmented images 116, which can be 2D or 3D images. In one or more embodiments, the segmentation tool 110 can include a segmentation model 118, which can receive each image in the image 101 as input and generate a corresponding segmented image to form the segmented images 116. The segmentation model 118 includes a machine learning model, such as but not limited to a deep learning model, which itself can include any number or combination of models (e.g., one or more neural networks). For example, the deep learning model can include any number of neural networks, including, for example, one or more convolutional neural networks (CNNs). In one or more embodiments, the segmentation model 118 includes a deep learning model that performs artificial intelligence (AI)-based semantic segmentation. Thus, in some cases, the segmentation model 118 can be referred to as a semantic segmentation model, an AI segmentation model, or a deep learning (DL) segmentation model. Semantic segmentation is the segmentation of pixels on a pixel-by-pixel basis, where each pixel is classified (or labeled) as belonging to one class.

[0060] To perform AI-based semantic segmentation on an image such as image 114 to generate a corresponding segmented image 120, the segmentation model 118 groups the pixels of image 114 into multiple categories. For example, the segmentation model 118 can label or otherwise classify each pixel in image 114 as belonging to one of these categories (e.g., two, three, four, five, six, seven, eight, nine, ten, or some other number of categories).

[0061] In one or more embodiments, the segmentation tool 110 or another part of the image processor 108 can display the segmented image 120 in a graphical user interface (GUI) 122 on the display system 106. The graphical user interface 122 can be generated by the image processor 108 for display on the display system 106 and can allow a user to interact with the graphical user interface 122. The segmented image 120 can be displayed in the graphical user interface 122 such that each group of pixels belonging to a different category can be represented by a different graphical indicator or feature to distinguish each group of pixels. For example, different colors, shadings, highlights, patterns, labels, text, and / or other types of graphical indicators or graphical features can be used to distinguish different groups of pixels of different categories. As a specific example, each different category can be represented by the corresponding pixels of each different category having different colors in the graphical user interface 122.

[0062] In one or more embodiments, each group of pixels belonging to a different category can be referred to as a "segment" in the segmented image 120. A segment can be a continuous or discontinuous grouping of pixels. For example, a segment can be formed by one or more separate regions of pixels, each region being labeled as belonging to the same category. Alternatively, a segment can be a separate region of pixels such that a particular grouping of pixels can be represented by one or more segments in the segmented image 120. In this way, the segmentation model 118 can perform one or more image segmentation processes (e.g., semantic image segmentation) to segment the pixel regions included in image 114.

[0063] The adjustment tool 112 can receive the segmented image 116 from the segmentation tool 110 for processing. The adjustment tool 112 can process the segmented image 116 to generate adjustment data 124. The adjustment data 124 can be data that provides adjustment or correction data, which can be used to adjust (or correct) the segmented image 116 such that the adjusted segmented image 116 can be used as an input to a model. For example, the adjustment data 124 can include a plurality of adjusted images 126 that can be used to retrain the segmentation model 118. The adjusted images 126 can be 2D or 3D images and can be used to train / retrain different machine learning models. The adjusted images 126 can be used as an input to another model or algorithm to generate additional information about the image 101 and to generate an output based on the image 101 (e.g., screening, diagnostic, or treatment management output). The adjustment can be the definition or position / shape / size of the region of interest. The types of adjustments that can be made are further described with respect to Figure 1B be further described.

[0064] Figure 1B is a block diagram of the image processor 108 further described in accordance with one or more exemplary embodiments from Figure 1A In Figure 1B the segmentation tool 110 and the adjustment tool 112 of the image processor 108 are further described in detail.

[0065] As previously described, the segmentation model 118 groups the pixels of each image of the image 101 into a plurality of selected classes 128. The selected classes 128 can include 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, or some other number of classes. The selected classes 128 can be selected based on one or more regions of interest. The segmentation model 118 can be used to identify individual anatomical structures or features of interest, and the segmentation model 118 can classify each pixel in the image as representing an anatomical structure / feature of interest or not of interest (e.g., background). The segmentation model 118 can also be used to identify multiple features of interest, such as fluid layers. The segmentation model 118 can also be used to identify multiple features of interest, such as fluid layers. The selected classes 128 can include, for example, background, normal region, diseased region, region of concern, fluid layer, pathological element, a particular type of tissue (e.g., brain tissue, lung tissue, bone tissue, etc.), a particular type of organ, some other type of anatomical structure or feature, or a combination thereof.

[0066] For example, the segmentation model 118 can label or otherwise classify each pixel in the image 114 as belonging to one of the selected categories 128. In one or more embodiments, each group of pixels belonging to different categories can be referred to as a "segment" in the segmented image 120. A segment can be a continuous or discontinuous grouping of pixels. For example, a segment can be formed by one or more separate regions of pixels, each region being labeled as belonging to the same category. Alternatively, a segment can be a separate region of pixels such that a particular grouping of pixels (e.g., all pixels of a selected category) can be represented by one or more segments in the segmented image 120. In this way, the segmentation model 118 can perform one or more image segmentation processes (e.g., semantic image segmentation) to segment the regions of pixels included in the image 114.

[0067] For example, the segmentation tool 110 can process the image 114 to generate a segmented image 120 that includes multiple regions of pixels 130, where all pixels in a selected region of the multiple regions of pixels 130 (e.g., pixel region 132) belong to the same selected category of the selected categories 128. One region of pixels can form an entire segment in the segmented image 120, or multiple regions of pixels can form a segment in the segmented image 120.

[0068] The adjustment tool 112 can receive the segmented image 116 (including the segmented image 120) from the segmentation tool 110 for processing. For each segmented image 116, the adjustment tool 112 identifies one or more boundaries of one or more regions of interest. A region of interest can be, for example, one of the multiple regions of pixels 130. In one or more embodiments, the segmented image 120 received at the adjustment tool 112 includes an identification or indication of a set of initial boundaries 134. For example, the segmented image 120 can be annotated to identify a set of initial boundaries 134. In other embodiments, the adjustment tool 112 determines a set of initial boundaries 134 based on the segmentation in the segmented image 120.

[0069] For example, for the segmented image 120, the adjustment tool 112 processes the segmented image 120 to identify a set of initial boundaries 134. The set of initial boundaries 134 includes one or more initial boundaries, such as, for example, the initial boundary 136. The initial boundary 136 is associated with a corresponding pixel region, which can be the pixel region 132. For example, the initial boundary 124 can include the outer boundary of the pixel region 132, the inner boundary of the pixel region 132, the upper boundary of the pixel region 132, the lower boundary of the pixel region 132, a selected boundary between the pixel region 132 and another adjacent pixel region, or some other type of boundary that is related to or provides information about the anatomical structure or feature represented by the pixel region 132.

[0070] For each boundary of an initial set of boundaries 134, the adjustment tool 112 extracts a plurality of boundary points. For example, the adjustment tool 112 extracts a plurality of boundary points 138 of the initial boundary 136. In one or more embodiments, the boundary points 138 can be pixels that form the initial boundary 136. For example, the boundary points 138 can be the X, Y positions or X, Y, Z positions (e.g., in pixel units or some other unit for identifying pixel positions) of each pixel that forms the initial boundary 136. In other embodiments, the boundary points 138 include every nth pixel that forms the initial boundary 136, where n can be (e.g., 1, 2, 3, 4, 5, etc.).

[0071] The boundary points 138 can be associated with an order sequence. In one or more embodiments, the order sequence is associated with a selected two-dimensional (2D) plane or a selected direction in an X, Y, Z coordinate system. For example, when the image 114 and / or the segmented image 120 is a 2D image, the 2D plane can be the 2D plane corresponding to one or both of these images. In this example, the order sequence spans the 2D plane from left to right, such that the order sequence starts from the boundary points (pixels) in the leftmost column to the rightmost column of the pixels.

[0072] When the image 114 and / or the segmented image 120 is a 3D image, in addition to for each 2D plane parallel to a selected direction in the X, Y, Z coordinate system or a reference 2D plane, the order sequence can be as described above. Thus, for a 3D image, the boundary points 138 can include different sets of boundary points for each selected plane / slice parallel to the reference 2D plane. The order sequence can be from left to right across each of these individually selected plane / slices.

[0073] Then, the adjustment tool 112 evaluates the boundary points 138 according to the order sequence to select a plurality of anchor points 140 from the plurality of boundary points. In other words, the anchor points 140 include a subgroup of the boundary points 138. The anchor points 140 are selected such that the line segments connecting the anchor points approximate the curvature of the initial boundary 136 within a selected tolerance. The selected tolerance is chosen such that the line segments connecting any pair of anchor points do not over-linearize the curvature of the corresponding portion of the initial boundary 136. For example, the linearization of the curved portion of the initial boundary 136 by a line extending between a pair of anchor points can be measured by the maximum vertical distance between the line segment extending between the pair of anchor points and the initial boundary 136. The following section III (Exemplary methods of image analysis) further describes how to evaluate the boundary points 138 to select the subgroup of boundary points that form the anchor points 140.

[0074] Once the anchor points 140 have been determined, the adjustment tool 112 can generate an anchor point image 142 for display on the graphical user interface 122. The anchor point image 142 can include, for example, the original image 114 from which the segmentation image 120 was generated, where a plurality of anchor point indicators 144 are overlaid on the original image 114 at positions corresponding to the original positions 146 of the anchor points 140.

[0075] In one or more embodiments, each of the anchor point indicators 144 can be a graphical indicator that is movable or controllable via a user input 148. In other words, the anchor point indicators 144 can be manipulated by the user. For example, the adjustment tool 112 can receive the user input 148 via the graphical user interface 122 (e.g., input by the user via the Figure 1A input system 105 described), which causes the positions of one or more of the anchor points in the anchor point indicators 144 to change on the anchor point image 142. The user input 148 can include the user moving an anchor point indicator (e.g., dragging the anchor point indicator from its current position to a new position). The user input 148 can include the user selecting (e.g., clicking, etc.) a new position for a particular anchor point indicator. The user who types the user input 148 can be, for example, a medical professional or medical expert, such as, for example but not limited to, a human pathologist, a human grader, a reading center, or other suitable user.

[0076] In one or more embodiments, when the anchor point image 142 is a 3D image displayed in 3D form, the graphical user interface 122 can allow the user to control the manner in which a cross-sectional view or slice of the 3D image is displayed at a given point in time for displaying the anchor point image 142. These cross-sectional views or slices can be parallel to the reference 2D plane associated with the boundary point 138 and determining the order sequence associated with the boundary point 138 as described above.

[0077] The adjustment tool 112 processes the user input 148 to update the positions of one or more of the anchor points 140 such that the anchor points 140 have a final position 150. The final position 150 includes at least one position that is different (e.g., has been adjusted) from the corresponding original position of the original position 146 of the anchor points 140.

[0078] The adjustment tool 112 can use the final position 150 of the anchor point 140 to generate adjustment data 124. The adjustment data 124 can include, for example, the final position 150 of the anchor point, the new positions of other boundary points among the boundary points 138 calculated based on the final position 150, the adjusted image 152, or a combination thereof. The adjusted image 152 can be an example of the adjusted images among the plurality of adjusted images 126. The adjusted image 152 can be, for example, an image 114 in which the initial boundary 136 has been adjusted to form a new boundary represented on the adjusted image (e.g., via lines, colored lines, patterned lines, text, highlights, etc.).

[0079] In one or more embodiments, the adjusted image 152 can be an adjusted version of the segmented image 120, where the pixels are reclassified based on the final position 150 of the anchor point 140. For example, the final position 150 of the anchor point 140 can be used to identify a new set of boundaries. The new set of boundaries can be used to reclassify (or reassign) one or more pixels of the segmented image 120. For example, the new boundaries can be used to reclassify (or reassign) one or more pixels that currently belong to a first category to a second category belonging to the selected category 128. The adjusted image 152 can be referred to as an adjusted segmented image and can be used to form a training input for the segmentation model 118 to train / retrain the segmentation model 118 (or another type of segmentation model).

[0080] Although the above process has been described with respect to the adjustment tool 112 of the anchor point 140 that generates the initial boundary 136 and the adjustment data 124, the same process can be used to adjust any other initial boundaries present in a set of initial boundaries 134 such that the adjustment data 124 takes into account these one or more other initial boundaries. For example, the adjustment image 152 can identify the new boundaries of each initial boundary in the set of initial boundaries 134.

[0081] In addition, although the above process has been described with respect to the adjustment tool 112 that processes the segmented image 120 to generate the adjusted image 152, the same process can be used to process each segmentation pattern in the segmented image 116 to generate additional adjustment data 124 (e.g., adjustment image 126). For example, the embodiments described herein can be used to generate the adjusted image 126 in the form of an adjusted segmented image.

[0082] In one or more embodiments, the conditioning data 124 can be used to create newly labeled inputs (e.g., labeled image inputs) for supervised or semi-supervised retraining of the segmentation model 118. In other embodiments, the conditioning data 124 can be used to create labeled image inputs for training / retraining of some other type of machine learning algorithm. In other embodiments, the conditioning data 124 can be used as an input to another algorithm or model or for creating an input to another algorithm or model. The other algorithm or model can be used for, e.g., but not limited to, screening, diagnosing, or managing treatment for a selected disease, disorder, or group of diseases / disorders (e.g., predicting treatment response, selecting a treatment with the highest predictive efficacy, etc.).

[0083] Using the anchors and anchor indicators that represent these anchors in the above-described manner to enable a user to correct the boundaries identified in the segmentation image 116 reduces the overall time and resources required to adjust / correct the segmentation image 116 to form the adjusted image 126. Since the anchor indicators represent only a subgroup of the boundary points extracted for a given boundary, the overall boundary can be adjusted more efficiently without the user having to adjust each boundary point (pixel) of the boundary. Additionally, since there are fewer anchor indicators, fewer overall adjustment calculations need to be performed without sacrificing overall accuracy. Thus, generating the anchors and displaying a graphical user interface 122 that represents the anchors as controllable / movable anchor indicators can improve the overall functionality of the image analysis system 100 and reduce the overall consumption of computing resources.

[0084] Still referring to Figure 1A and Figure 1B, various data and images generated by the segmentation tool 110 and the adjustment tool 112 can be stored in the data store 104 for future use. For example, the image processor 108 can store the final positions of the anchor points determined for the segmented image 120 (e.g., the final positions of the anchor points of each initial boundary of the initial boundary 134, including the final position 150 of the anchor point 140 of the initial boundary 136) in the data store 104. In some embodiments, the image processor 108 can store the anchor point image 142 with the anchor indicator 144 at the position corresponding to the final position 150 of the anchor point 140 in the data store 104. In some embodiments, the image processor 108 can store the adjustment data 124 in the data store 104. In some embodiments, the image processor 108 can store the segmented image 116 in the data store 104. In some embodiments, the image processor 108 can store the segmented image 116 with the final positions of the anchor points identified on each segmented image in the segmented image 116 (e.g., the final position 150 of the anchor point 140 identified on the segmented image 120), the image 101 with the final positions of the anchor points identified on each image in the image 101 (e.g., the final position 150 of the anchor point 140 identified on the image 114), or both. In a similar manner, in some embodiments, the image processor 108 can store a set of initial boundaries and / or their corresponding boundary points associated with each of the segmented image 116, the image 101, or both.

[0085] Still referring to Figure 1A and Figure 1B , in one or more embodiments, the image 101 processed by the image processor 108 can take the form of an OCT image of a subject's retina. In these examples, the segmentation tool 110 can be used to perform retinal segmentation on these OCT images. Retinal segmentation includes detecting and differentiating one or more retinal (e.g., retina-related) elements in the retinal image. The retinal elements can consist of at least one of retinal layer elements or retinal pathologic elements. The detection and differentiation of one or more retinal layer elements can be referred to as layer element (or retinal layer element) segmentation. The detection and differentiation of one or more retinal pathologic elements can be referred to as pathologic element (or retinal pathologic element) segmentation.

[0086] The retinal layer element can be, for example, a retinal layer or a boundary associated with a retinal layer. Examples of retinal layers include, but are not limited to, the inner limiting membrane (ILM) layer, retinal nerve fiber layer, ganglion cell layer, inner plexiform layer, inner nuclear layer, outer plexiform layer, outer nuclear layer, external limiting membrane (ELM) layer, photoreceptor layer, retinal pigment epithelium (RPE) layer, RPE detachment layer, Bruch's membrane (BM) layer, choroidal capillary layer, choroidal stroma layer, ellipsoid zone (EZ), and other types of retinal layers. In some cases, a retinal layer can be composed of one or more layers. As an example, a retinal layer can be the outer plexiform layer-Henle fiber layer (OPL-HFL). The boundary associated with a retinal layer can be, for example, the inner boundary of a retinal layer, the outer boundary of a retinal layer, a boundary associated with a pathological feature of a retinal layer (e.g., the inner or outer boundary of a retinal layer detachment), or some other type of boundary. For example, the boundary can be the inner boundary of the RPE (IB-RPE) detachment layer, the outer boundary of the RPE (OB-RPE) detachment layer, or another type of boundary.

[0087] Retinal pathological elements can include, for example, fluid collections (e.g., fluid pockets) that evidence retinal pathology (e.g., a disease or disorder such as AMD or DME), cells, solid materials, or combinations thereof. For example, the presence of certain retinal fluid collections may be a sign of nAMD or DME. Examples of retinal pathological elements include, but are not limited to, intraretinal fluid (IRF), subretinal fluid (SRF), fluid associated with pigment epithelial detachment (PED), hyperreflective material (HRM), subretinal hyperreflective material (SHRM), intraretinal hyperreflective material (IHRM), hyperreflective foci (HRF), retinal fluid pockets, drusen, fibrosis development, and disruptions. In some cases, a retinal pathological element can be a disruption (e.g., discontinuity, stratification, loss, etc.) of a retinal layer or retinal region. For example, the disruption may be of the ellipsoid zone, ELM, RPE, or another layer or region. The disruption may indicate damage or loss of cells (e.g., photoreceptors) in the disrupted area.

[0088] In addition, retinal pathological elements can include the characteristics or subtypes of one of fluid collections (e.g., IRF, SRF, fluid associated with PED), materials (e.g., HRM, SHRM, IHRM), lesions (e.g., HRF, SHRM lesions), or disruptions. Specifically, examples of retinal pathological elements can include the features and / or subtypes of the different types of elements and disruptions that can be detected and identified via retinal segmentation. For example, whether the retinal fluid collection is clear or turbid can be a detectable and identifiable characteristic of the retinal fluid collection. Thus, in some examples, the retinal pathological element can be clear IRF, turbid IRF, clear SRF, turbid SRF, some other type of clear retinal fluid, some other type of turbid retinal fluid, or a combination thereof. In certain cases, for SHRM, shape features (e.g., tall SHRM, dome-shaped SHRM located at the center of the fovea, flat SHRM near the center of the fovea, deformed, etc.), boundary features (e.g., ill-defined SHRM, well-defined SHRM), reflectivity (e.g., increased reflectivity or other levels of reflectivity), stratification features (e.g., highly reflective bands in SHRM lesions), and lesion features (e.g., height, width, and / or area of SHRM lesions) can be examples of retinal pathological elements that can be detected and identified via retinal segmentation.

[0089] In other embodiments, the image 101 processed by the image processor 108 can take the form of a CT image, and the segmentation tool 118 can be used to segment bone (e.g., spine), lung tissue, or some other type of tissue. In some embodiments, the image 101 can be an MRI image of the brain, and the segmentation tool 118 is used to segment one or more ventricles of the brain.

[0090] In this way, the image processor 108 can be used to process different types of images (e.g., medical images / medical imaging) to identify pixel regions corresponding to anatomical structures or features of interest (e.g., tissue, bone, organ, fluid layer, etc.). Additionally, the image processor 108 can generate an adjusted boundary definition that takes into account corrections received via user input. The adjustment data 126 generated by the image processor 108 can be used in various scenarios, including, for example, forming training inputs for the supervised and / or semi-supervised training / retraining of machine learning models.

[0091] Thus, the set of anchor points can be used to reassign class labels to the segmented regions of the tissue. In this way, the present technique can allow image segmentation based on a machine learning model or other image segmentation to be corrected or adjusted to improve accuracy. Additionally, the corrected segmentation (e.g., the adjusted image 126) can be used to retrain the segmentation model 118 and / or other models, and further improve the performance and accuracy of these models. This can further ensure that image segmentation based on a machine learning model or other image segmentation, and new drugs or other treatments developed based thereon, are reliable and suitable for approval by a government or regulatory agency for clinical trials and use.

[0092] III. Exemplary Methods of Image Analysis

[0093] Figures 2A to 2B Form a flowchart of a process for generating adjustment data according to one or more exemplary embodiments.

[0094] Figure 2A is a flowchart of a process 200 for generating adjustment data according to one or more exemplary embodiments. Process 200 can be implemented using, for example but not limited to, the image analysis system 100 described with respect to Figures 1A to 1B For example, process 200 includes various operations (steps) that can be performed using the image processor 108 in Figures 1A to 1B .

[0095] Process 200 includes step 202, which includes receiving an image associated with a portion of a subject's anatomy. The portion of the anatomy can be, for example but not limited to, the retina of an eye, the brain, the lungs, the heart, some other type of organ or anatomy or a portion thereof. The image received in operation 202 can be a 2D image or a 3D image. In one or more embodiments, the image is an MRI image, a CT image, an X-ray image, an ultrasound image, a PET image, a SPECT image, an OCT image (e.g., an OCT volume, an OCT B-scan), or some other type of 2D / 3D image that captures a portion of the anatomy. The image received in step 202 can be, for example, another image among the images 114 or the image 101 described with respect to Figures 1A to 1B .

[0096] In some embodiments, the image is a segmented image that has been generated from an initial image that has been processed using a machine learning model (e.g., a deep learning model). For example, the image received in step 202 can be another segmented image among the segmented images 120 or the segmented image 116 described with respect to Figures 1A to 1B . The segmented image can be generated using, for example, a model (e.g., the segmentation model 118 described with respect to Figures 1A to 1B ) for artificial intelligence-based semantic segmentation.

[0097] In one or more embodiments, each set of pixels in the initial image is classified as belonging to one of a plurality of selected classes (e.g., Figure 1B selected class 128 in Figure 1B ), and can form a "segment" in the segmented image. A segment can be a continuous or discontinuous grouping of pixels. For example, a segment can be formed by one or more separate regions of pixels, each region being labeled as belonging to the same class. Alternatively, a segment can be a separate region of pixels such that a particular grouping of pixels can be represented by one or more segments in the segmented image. In this way, the segmented image includes a plurality of pixel regions (e.g.,

[0098] a plurality of regions of pixel 130 in

[0099] ). Process 200 includes step 204, which includes extracting a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image.

[0100] When the image received in step 202 is a segmented image, extracting a plurality of boundary points can include identifying an initial boundary associated with at least one segment in the segmented image and then identifying the pixels forming the initial boundary as boundary points. In some embodiments, extracting a plurality of boundary points includes identifying the pixels forming the initial boundary as a plurality of boundary points such that the identification of the initial boundary and the plurality of boundary points occurs simultaneously or substantially simultaneously. In other embodiments, the segmented image can include a curve identifying the initial boundary such that step 204 includes identifying the pixels forming the initial boundary as boundary points.

[0100] When the image received in step 202 is an image that has not been segmented, such as an OCT image, an MRI image, a CT image, an X-ray image, an ultrasound image, a PET image, a SPECT image, or some other type of image, process 200 optionally includes operation 204a, which includes segmenting the image to identify an initial boundary based on segments in the segmented image.

[0101] The plurality of boundary points are associated with an order. The order can be defined relative to a reference two-dimensional (2D) plane. When the image received in step 202 is a 2D image, the 2D plane can be the same X, Y plane of the image, which can be formed by the XY pixel coordinate system of the image itself. When the image is a 3D image, the order can be defined relative to a plurality of two-dimensional planes (or slices) parallel to the reference 2D plane. The initial boundary described in step 204 can be, for example, Figure 1B initial boundary 136 in Figure 1B ). The plurality of boundary points described in step 204 can be, for example,

[0102] Process 200 includes step 206, which includes evaluating a plurality of boundary points in sequential order to select a plurality of anchor points from the plurality of boundary points. The evaluation of the plurality of boundary points in step 206 can be performed via sub-operations (sub-steps). Examples of sub-operations that can be part of step 206 are described in further detail below with reference to Figure 2B Further details.

[0103] Process 200 further includes step 208, which includes generating an anchor point image for display in a graphical user interface on a display device, where the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points. The anchor point image can be, for example, anchor point image 142, which includes a plurality of anchor point indicators 144 as described with respect to Figure 1B The plurality of anchor point indicators described.

[0104] In one or more embodiments, the anchor point image includes the image received in step 202, and the anchor point indicators are overlaid on or otherwise displayed on the image. As previously described, the image can be an original image (e.g., an OCT image, an MRI image, a CT image, etc.), from which a segmentation image is then generated. The plurality of anchor point indicators can be controllable, movable, or otherwise manipulable graphical indicators (e.g., graphical shapes or icons indicating that the corresponding location has been determined as an anchor point).

[0105] Process 200 optionally includes step 210, which includes receiving user input that adjusts the position of at least one of the plurality of anchor point indicators. For example, a user can type user input that moves an anchor point indicator to a different position that more accurately locates it on the actual boundary of interest. The movement of the anchor point indicator results in a change from the original position of the corresponding anchor point to a different final position.

[0106] Process 200 optionally includes step 212, which includes generating adjustment data based on the user input. The adjustment data can be, for example, Figures 1A to 1B The adjustment data 124 in. The adjustment data can be used to generate a labeled image, which can be used to train or retrain a machine learning model. For example, the labeled image can be used to train or retrain a segmentation model (e.g., segmentation model 118) for generating the above-described segmentation image. In one or more embodiments, the adjustment data includes an adjusted version of the segmentation image, where one or more pixels in the segmentation image are reclassified from a first class (or label) to a second class (or label) based on the final position of the anchor points. This adjusted version of the segmentation image (e.g., the adjusted segmentation image) can be used to form the training input for the segmentation model or a different model. Training using the adjusted version of the segmentation image can improve the accuracy and efficiency of the segmentation model in classifying pixels.

[0107] Process 200 may optionally include step 214, which includes performing an accuracy improvement operation based on the adjustment data. The accuracy improvement operation itself may include any number of operations. The accuracy improvement operation may include generating an adjusted image, which may be a labeled image for retraining the segmentation model as described above. If the adjustment data includes a labeled image, the accuracy improvement operation may include retraining the segmentation model based on the labeled image to improve the performance of the segmentation model. The accuracy improvement operation may include using the adjustment data as or forming an input image for another algorithm or model to improve the accuracy of the model output as compared to using image 101 or the segmented image 116 as the input.

[0108] Figure 2B is a more detailed flowchart of step 206 of process 200 according to one or more exemplary embodiments. Performing step 206 may include performing various sub-operations, including, for example, operation 216, operation 218, and operation 220.

[0109] Operation 216 includes determining, according to an order sequence, that the first boundary point among a plurality of boundary points is the first anchor point among a plurality of anchor points.

[0110] Operation 218 includes determining, according to an order sequence, that the last boundary point among a plurality of boundary points is the last anchor point among a plurality of anchor points. In some embodiments, operation 216 and operation 218 are performed as part of the same step.

[0111] Operation 220 includes, for each current boundary point among the plurality of boundary points being evaluated, determining that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance calculated for a portion of the initial boundary between the previous anchor point and the current boundary point with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold. Thus, each boundary point in the order sequence being evaluated can be evaluated based on one or more boundary points before the current boundary point and after the previous anchor point in the order sequence to be included in the plurality of anchor points. The current boundary point may also be referred to as a checkpoint.

[0112] For example, in operation 220, one or more boundary points between the previous anchor point and the current boundary point may be referred to as a set of intermediate boundary points. Operation 220 may include calculating the vertical distance from each intermediate boundary point in the set of intermediate boundary points to the line extending between the previous anchor point and the current boundary point to form a set of vertical distances. If at least one of these vertical distances is greater than the selected threshold, the current boundary point (i.e., the checkpoint) is determined to be the next anchor point. The selected threshold may be, for example, a distance between 1 and 15 in the units of the reference 2D plane. These units may be pixel units.

[0113] A selected threshold can be chosen to control the density of the anchor points selected from the boundary points. In other words, a threshold can be chosen to control the complexity of the curvature, indentations, texture, and / or contours in the boundary represented by the anchor points. A higher threshold can be selected to reduce the density (number) of the anchor points and reduce the complexity of the curvature, indentations, texture, and / or contours in the captured boundary. Conversely, a lower threshold can be selected to increase the density (number) of the anchor points and increase the complexity of the curvature, indentations, texture, and / or contours in the captured boundary.

[0114] If there is no intermediate boundary point between the current boundary point being evaluated and the previous anchor point, and the current boundary point is not the last boundary point, then the next boundary point is evaluated.

[0115] Figures 3A to 3B Together are flowcharts of processes for evaluating boundary points according to one or more exemplary embodiments. Process 300 can be implemented using, for example but not limited to, the image analysis system 100 described with respect to Figures 1A to 1B For example, process 300 includes various operations (steps) that can be performed using the image processor 108 in Figures 1A to 1B Process 300 can be an example of implementing step 206 in Figures 2A to 2B Process 300 is specific to the selected 2D plane of the boundary points being evaluated and can be performed for each 2D plane of the boundary points being evaluated.

[0116] Step 302 includes determining that the first boundary point among the multiple boundary points is the first anchor point according to the sequential order associated with the multiple boundary points.

[0117] Step 304 includes selecting the next boundary point among the multiple boundary points as the current boundary point for evaluation according to the sequential order.

[0118] Step 306 includes determining whether the current boundary point is the last boundary point among the multiple boundary points according to the sequential order. If the current boundary point is the last boundary point among the multiple boundary points according to the sequential order, then process 300 proceeds to step 308.

[0119] Step 308 includes determining that the last boundary point is the last anchor point. This is the last boundary point of the initial boundary. Then process 300 terminates.

[0120] Referring again to step 308, if the current boundary point is not the last boundary point among the multiple boundary points according to the sequential order, then process 300 proceeds to step 310.

[0121] Step 310 includes determining whether the immediately preceding boundary point was selected as an anchor point. If the immediately preceding boundary point was selected as an anchor point, process 300 returns to step 304 described above. However, if the immediately preceding boundary point was not selected as an anchor point, process 300 proceeds to step 312.

[0122] Step 312 includes calculating a set of vertical distances of a portion of an initial boundary located between a previous anchor point and a current boundary point relative to a line extending between the previous anchor point and the current boundary point. For example, the plurality of boundary points of the initial boundary can include one or more boundary points between the previous anchor point and the current boundary point. The one or more boundary points can be referred to as “a set of intermediate boundary points”. A vertical distance is calculated for each intermediate boundary point in the set of intermediate boundary points.

[0123] Step 314 includes determining whether at least one vertical distance in the calculated set of vertical distances is greater than a selected threshold. The selected threshold can be, for example, a threshold selected between 1 and 10, where the threshold is in pixels. If none of the vertical distances in the set of vertical distances is greater than the selected threshold, process 300 returns to step 304 described above.

[0124] The threshold can be selected to control the density of anchor points selected from the boundary points. In other words, the threshold can be selected to control the complexity of the curvature, grooves, texture, and / or contour in the boundary represented by the anchor points. A higher threshold can be selected to reduce the density (number) of anchor points and reduce the complexity of the curvature, grooves, texture, and / or contour in the captured boundary. Conversely, a lower threshold can be selected to increase the density (number) of anchor points and increase the complexity of the curvature, grooves, texture, and / or contour in the captured boundary.

[0125] Referring again to step 314, if at least one vertical distance in the set of vertical distances is greater than the selected threshold, process 300 proceeds to step 316.

[0126] Step 316 includes determining that the current boundary point is the next anchor point, and then process 300 returns to operation 304 as described above.

[0127] Figure 4 is a flowchart of a process for evaluating a plurality of boundary points for possible inclusion in a plurality of anchor points according to one or more embodiments. Workflow 400 can be an example of a specific implementation of step 206 in FIG. 2. Workflow 400 can be implemented using Figures 1A to 1B the image processor 108 in. For example, workflow 400 can be implemented using Figures 1A to 1B the adjustment tool 112 of the image processor 108 in. Workflow 400 illustrates a manner in which at least a portion of process 300 with respect to Figures 3A to 3B can be implemented.

[0128] The initial boundary 402 is Figure 1B an example of a specific implementation of the initial boundary 136 in. The initial boundary 402 can be a boundary identified from a segmented image (e.g., the segmented image 120 in FIG. 1). The image processor 108 extracts a plurality of boundary points 404 from the initial boundary 402. The plurality of boundary points 404 can be Figure 1B an example of a specific implementation of the plurality of boundary points 138 in.

[0129] The plurality of boundary points 404 includes, for example Figure 4 the boundary points 406, 408, 410, 412, 414, and 416 in and other points along the initial boundary 402. Each boundary point among the boundary points in the plurality of boundary points 404 corresponds to a pixel of the segmented image and has an X, Y position (e.g., in pixels). The plurality of boundary points 404 are evaluated in sequential order (which is shown in Figure 4 the form of left-to-right order in). In the workflow 400, the anchor points are depicted using a solid black fill, the intermediate boundary points are depicted using a dashed pattern, and the current boundary (i.e., the checkpoint) being evaluated at a given step is depicted as a pattern suitable for vertical stripes.

[0130] Since the boundary point 306 is the first boundary point in the left-to-right sequential order, the boundary point 406 is determined to be the first anchor point, and the next boundary point is selected for evaluation.

[0131] At step 418, the boundary point 408 is the next one to be evaluated. Since the boundary point 406 immediately preceding the boundary point 408 is the previous anchor point (e.g., the first anchor point), the next boundary point is selected for evaluation.

[0132] At step 420, the boundary point 410 is the next one to be evaluated. The boundary point 408 is now the intermediate boundary point between the previous anchor point (boundary point 406) and the current boundary point (boundary point 410). A line 421 extends between the previous anchor point (boundary point 406) and the current boundary point (boundary point 410). It is determined whether the perpendicular distance from the boundary point 408 to the line 421 is greater than a selected threshold (e.g., 1, 1.25, 1.5, 2, 2.5, 3, 3.5, 4, 5, 6, 7, 8, 9, 10, etc. or some other quantity of pixel units between 1 and 15). Since the perpendicular distance calculated here is not greater than the threshold, the next boundary point is selected for evaluation.

[0133] At step 422, boundary point 412 is evaluated. Boundary points 408 and 410 are now intermediate boundary points between the previous anchor point (boundary point 406) and the current boundary point (boundary point 412). Line 423 extends between the previous anchor point (boundary point 406) and the current boundary point (boundary point 412). The perpendicular distance from boundary point 408 to line 423 is calculated. The perpendicular distance from boundary point 410 to line 423 is calculated. It is determined whether any of these perpendicular distances is greater than a selected threshold. Since none of the perpendicular distances calculated here is greater than the selected threshold, the next boundary point is selected for evaluation.

[0134] At step 424, boundary point 414 is evaluated. Boundary points 408, 410, and 412 are now intermediate boundary points between the previous anchor point (boundary point 406) and the current boundary point (boundary point 414). Line 425 extends between the previous anchor point (boundary point 406) and the current boundary point (boundary point 414). The perpendicular distance from boundary point 408 to line 425 is calculated. The perpendicular distance from boundary point 410 to line 425 is calculated. The perpendicular distance from boundary point 412 to line 425 is calculated. It is determined whether at least one of these perpendicular distances is greater than a selected threshold. Since here, the perpendicular distance calculated from boundary point 410 to line 425 is determined to be greater than the threshold, the current boundary point (boundary point 414) is determined to be the next anchor point, and the next boundary point is selected for evaluation.

[0135] At step 426, boundary point 416 is evaluated. At step 426, boundary point 414 is now the previously identified anchor point. At step 426, since boundary point 414 immediately preceding boundary point 416 is the previous anchor point, the next boundary point is selected for evaluation.

[0136] The above evaluation process is completed for each of the remaining boundary points, where the last boundary point among the multiple boundary points is selected as the last (or final) anchor point of the initial boundary 402.

[0137] Figure 5 is a diagram illustrating how to calculate the perpendicular distance according to one or more exemplary embodiments. In Figure 5 the previous anchor point 500 is a previously identified anchor point, such as for example but not limited to Figure 4 the boundary point 406 in

[0138] The line 510 can be a line (e.g., theoretical / abstract / hypothetical / virtual / computed) extending between a previous anchor point 500 and a current boundary point 502. A vertical distance is calculated for each of a set of intermediate boundary points 503. The vertical distance can be measured as the length of a line extending vertically between the position of a point of interest (e.g., an intermediate boundary point) and a reference line (e.g., a line extending between the previous anchor point and the current boundary point).

[0139] Here, a vertical distance 512, a vertical distance 514, and a vertical distance 516 are calculated for the boundary point 504, the boundary point 506, and the boundary point 508, respectively, with respect to the line 510. If any one of these vertical distances is determined to be greater than a selected threshold, the current boundary point 502 is determined to be the next anchor point.

[0140] The threshold can be selected to control the density of the anchor points selected from the boundary points. In other words, the threshold can be selected to control the complexity of the curvature, grooves, texture, and / or contour in the boundary represented by the anchor points. A higher threshold can be selected to reduce the density (number) of the anchor points and reduce the complexity of the curvature, grooves, texture, and / or contour in the captured boundary. Conversely, a lower threshold can be selected to increase the density (number) of the anchor points and increase the complexity of the curvature, grooves, texture, and / or contour in the captured boundary.

[0141] As described above with respect to Figure 2A 、 Figure 2B 、 Figure 3A 、 Figure 3B 、 Figure 4 and Figure 5 The anchor points and the anchor point indicators representing these anchor points are used in the manner described, enabling the user to correct the boundaries identified in the segmented image, thereby reducing the overall time and resources required to adjust / correct the segmented image to form an adjusted image. Since the anchor point indicators represent only a subgroup of the boundary points extracted for a given boundary, the overall boundary can be adjusted more efficiently without the user having to adjust each boundary point (pixel) of the boundary. In addition, since there are fewer anchor point indicators, fewer overall adjustment calculations need to be performed without sacrificing overall accuracy. Therefore, generating the anchor points and displaying a graphical user interface with controllable / movable anchor point indicators representing the anchor points can improve the overall functionality of an image analysis system performing the methods described herein and can reduce the overall consumption of computing resources.

[0142] IV. Examples of Graphical User Interface Displays

[0143] Figures 6 to 16 is an illustration showing the types of images that can be displayed on a graphical user interface according to one or more exemplary embodiments. The graphical user interface can be, for example Figures 1A to 1B the graphical user interface 122 in Figures 6 to 16The different images shown illustrate how to use the image analysis system 100 described with respect to 1A to Figure 1B and the methods described with reference to Figure 2A , Figure 2B , Figure 3A , Figure 3B , Figure 4 and Figure 5 to process images (e.g., OCT B-scans) to identify boundaries of interest, corresponding boundary points, and corresponding anchor points. These anchor points can be displayed on the image using a user-manipulable anchor point indicator so that the user can make adjustments to more accurately identify the boundaries of interest.

[0144] Figure 6 is an illustration of an image displayed in a graphical user interface according to one or more exemplary embodiments. Image 600 is an example of a specific implementation of image 114 described with respect to Figures 1A to 1B . Image 600 can be a retinal image that captures the retina of a subject. For example, image 600 can be an OCT-B scan.

[0145] Figure 7 is an illustration of a segmented image displayed in a graphical user interface according to one or more exemplary embodiments. Segmented image 700 is an example of a specific implementation of segmented image 120 described with respect to Figures 1A to 1B . Segmented image 700 may have been generated using, for example, the segmentation model 118 of the segmentation tool 110 in the image processor 108 in Figures 1A to 1B . Segmented image 700 identifies a plurality of pixel regions 702. In this example, each region of pixels is a "segment" corresponding to a different retinal element. For example, Figure 6 the image 600 in

[0146] Figure 8 is an illustration of an image with identified boundaries displayed in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is shown with a set of initial boundaries 802 overlaid on image 600. The set of initial boundaries 802 includes initial boundary 804, initial boundary 806, initial boundary 808, and initial boundary 810. The set of initial boundaries 802 is Figure 1B an example of a specific implementation of the set of initial boundaries 134 in

[0147] Figure 9 is an illustration of an image displayed in a graphical user interface with boundary indicators according to one or more exemplary embodiments. The image from Figure 6The image 600 is displayed with a boundary indicator 900, which represents the corresponding boundary points that have been extracted for the initial boundary 804 from Figure 8 The boundary points represented by the boundary indicator 900 can be an example of a specific implementation of the mid-boundary point 138 in Figure 1B .

[0148] Figure 10 is an illustration of an image having an anchor indicator displayed in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with an anchor indicator 1000, which represents the anchor points that have been determined for the initial boundary 804 from Figure 8 . The anchor indicator 1000 can be an example of a specific implementation of the anchor indicator 144 in Figure 1B . The anchor indicator 1000 is connected by line segments 1002 that form a new boundary 1004. The new boundary 1004 approximates the initial boundary 804 of Figure 8 , reducing the complexity of the curvature, grooves, texture, and / or profile in the initial boundary 804 within a selected tolerance.

[0149] Figure 11 is an illustration of an image displayed with a boundary indicator in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with a boundary indicator 1100, which represents the boundary points extracted for the initial boundary 806 from Figure 8 . The boundary points represented by the boundary indicator 1100 can be an example of a specific implementation of the mid-boundary point 138 in Figure 1B .

[0150] Figure 12 is an illustration of an image having an anchor indicator displayed in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with an anchor indicator 1200, which represents the anchor points that have been determined for the initial boundary 806 from Figure 8 . The anchor indicator 1200 can be an example of a specific implementation of the anchor indicator 144 in Figure 1B . The anchor indicator 1200 is connected by line segments 1202 that form a new boundary 1204. The new boundary 1204 approximates the initial boundary 806 of Figure 8 , reducing the complexity of the curvature, grooves, texture, and / or profile in the initial boundary 804 within a selected tolerance.

[0151] Figure 13 is an illustration of an image displayed with a boundary indicator in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6The image 600 is displayed with a boundary indicator 1300 that represents boundary points extracted for an initial boundary 808 from Figure 8 . The boundary points represented by the boundary indicator 1300 can be an example of a specific implementation of the boundary point 138 in Figure 1B .

[0152] Figure 14 is an illustration of an image having an anchor point displayed in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with an anchor indicator 1400 that represents anchor points that have been determined for an initial boundary 808 from Figure 8 . The anchor indicator 1400 can be an example of a specific implementation of the anchor indicator 144 in Figure 1B . The anchor indicator 1400 is connected by line segments 1402 that form a new boundary 1404. The new boundary 1404 approximates the initial boundary 808 of Figure 8 , reducing the complexity of the curvature, grooves, texture, and / or profile in the initial boundary 804 within a selected tolerance.

[0153] Figure 15 is an illustration of an image displayed with a boundary indicator in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with a boundary indicator 1500 that represents boundary points extracted for an initial boundary 810 from Figure 8 . The boundary points represented by the boundary indicator 1500 can be an example of a specific implementation of the boundary point 138 in Figure 1B .

[0154] Figure 16 is an illustration of an image having an anchor point displayed in a graphical user interface according to one or more exemplary embodiments. The image 600 from Figure 6 is displayed with an anchor indicator 1600 that represents anchor points that have been determined for an initial boundary 810 from Figure 8 . The anchor indicator 1600 can be an example of a specific implementation of the anchor indicator 144 in Figure 1B . The anchor indicator 1600 is connected by line segments 1602 that form a new boundary 1604. The new boundary 1604 approximates the initial boundary 810 of Figure 8 , reducing the complexity of the curvature, grooves, texture, and / or profile in the initial boundary 804 within a selected tolerance.

[0155] As previously described, anchor points are automatically selected and corresponding anchor indicators are displayed, such as Figure 10 , Figure 12 , Figure 14 andFigure 16 Those shown in

[0156] above allow a user (e.g., a medical expert, a healthcare professional, a human pathologist, a human grader, a reading center, etc.) to easily provide user input that can be used to subsequently automatically adjust a previously identified boundary to form a new boundary that more accurately represents the boundary of interest. Figures 6 to 16 be implemented in a manner that can reduce the overall time and resources required for these adjustments / corrections Figure 7 of the segmentation image 700 in

[0157] without sacrificing accuracy. Since the anchor indicators only represent a subgroup of the boundary points extracted for a given boundary, the overall boundary can be adjusted more efficiently without the user having to adjust each boundary point (pixel) of the boundary. Additionally, since there are fewer anchor indicators, there are fewer overall adjustment calculations required without sacrificing overall accuracy. Thus, generating anchor points and displaying a graphical user interface representing controllable / movable anchor indicators for the anchor points can improve the overall functionality of the image analysis system described herein and can reduce the overall consumption of computing resources. Figures 1A to 1B Furthermore, the image processor can generate adjustment data (e.g., adjustment data 126 as described in

[0158] ), which includes or can be used to generate a new segmentation image in which the classification of pixels more accurately reflects the actual anatomy / lesions of the subject. In some cases, the new segmentation image (the adjusted image) can be used to better train and / or retrain a machine learning model to improve segmentation performance. This type of improvement may help ensure that image segmentation based on a machine learning model and / or other image segmentation, as well as new drugs or other treatments developed based thereon, are reliable and suitable for government or regulatory agency approval for clinical trials and use.

[0159] Figures 17 to 20 is an illustration of various displays that can be presented in a graphical user interface according to one or more exemplary embodiments. The graphical user interface 1700 is Figures 1A to 1B an example of a specific implementation of the graphical user interface 122 in

[0160] Figure 17Illustrated is a graphical user interface that converts the display of a boundary into an anchor indicator according to one or more exemplary embodiments. On the left, graphical user interface 1700 displays image 1701. Image 1701 is a high-resolution image (e.g., an MRI scan of a subject's brain). Image 1701 is displayed with boundary 1702 identifying the ventricles.

[0161] Figures 1A to 1B The image processor 108 described in can be used to convert the display of boundary 1702 into the display of anchor point indicator 1704 on image 1701, as shown on the right. When connected via a line segment as shown, anchor point indicator 1704 approximates boundary 1702 within a selected tolerance. Anchor point indicator 1704 represents an anchor point, which can be Figure 1B an example of a specific implementation of anchor point indicator 144 in. Each anchor point indicator in anchor point indicator 1704 is a movable graphical indicator that can be moved via user input to adjust the position of the corresponding anchor point.

[0162] Figure 18 Illustrated is a graphical user interface that converts the display of a boundary into an anchor indicator according to one or more exemplary embodiments. On the left, graphical user interface 1800 displays image 1801. Image 1801 is a high-resolution image (e.g., a CT scan of a subject's chest). Image 1801 is displayed with boundary 1802 identifying an area of bone tissue (e.g., the spine).

[0163] Figures 1A to 1B The image processor 108 described in can be used to convert the display of boundary 1802 into the display of anchor point indicator 1804 on image 1801, as shown on the right. When connected via a line segment as shown, anchor point indicator 1804 approximates boundary 1802 within a selected tolerance. Anchor point indicator 1804 represents an anchor point, which can be Figure 1B an example of a specific implementation of anchor point indicator 144 in. Each anchor point indicator in anchor point indicator 1804 is a movable graphical indicator that can be moved via user input to adjust the position of the corresponding anchor point.

[0164] Figure 19 Illustrated is a graphical user interface that converts the display of a boundary into an anchor indicator according to one or more exemplary embodiments. On the left, graphical user interface 1900 displays image 1901. Image 1901 is a high-resolution image (e.g., a CT scan of a subject's chest). Image 1901 is displayed with boundary 1902 identifying an area of lung tissue (e.g., a lung lobe).

[0165] Figures 1A to 1BThe image processor 108 described in Figure 1B can be used to convert the display of the boundary 1902 into the display of the anchor indicator 1904 on the image 1901, as shown in the right figure. When connected via line segments as shown, the anchor indicator 1904 approximates the boundary 1902 within a selected tolerance. The anchor indicator 1904 represents an anchor point, which can be

[0166] Figure 20 an example of a specific implementation of the anchor indicator 144 in Figure 19 . Each anchor indicator in the anchor indicator 1904 is a movable graphical indicator that can be moved via user input to adjust the position of the corresponding anchor point. Figure 2A 2B is a graphical user interface according to one or more exemplary embodiments Figure 19 showing a change in anchor density. The anchor density changes in response to a change in the selected threshold used to evaluate the vertical distance, as described herein with respect to the embodiments (e.g., as

[0167] V. Exemplary Computing System

[0168] Figure 21 is a block diagram illustrating an example of a computing system according to one or more exemplary embodiments. The computing system 2100 can be used to implement Figure 1A the computing platform 102 and / or the remote system 107 and / or any components thereof in

[0169] In one or more examples, the computer system 2100 can include a bus 2102 or other communication mechanism for passing information, and a processor 2104 coupled to the bus 2102 for processing information. In various embodiments, the computer system 2100 can also include a memory (which can be a random access memory (RAM) 2106 or other dynamic storage device) coupled to the bus 2102 for determining instructions to be executed by the processor 2104. The memory can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 2104. In various embodiments, the computer system 2100 can further include a read-only memory (ROM) 2108 or other static storage device coupled to the bus 2102 for storing static information and instructions for the processor 2104. A storage device 2110 (such as a magnetic disk or optical disk) can be provided and coupled to the bus 2102 for storing information and instructions.

[0170] ​In various embodiments, the computer system 2100 may be coupled via a bus 2102 to a display 2112 (such as a cathode ray tube (CRT) or liquid crystal display (LCD)) for displaying information to a computer user. An input device 2114 including alphanumeric keys and other keys may be coupled to the bus 2102 for passing information and command selections to the processor 2104. Another type of user input device is a cursor control 2116 (such as a mouse, joystick, trackball, gesture input device, gaze-based input device, or cursor direction keys) for passing direction information and command selections to the processor 2104 and for controlling cursor movement on the display 2112. The input device 2114 typically has two degrees of freedom in two axes (a first axis (e.g., x) and a second axis (e.g., y)), which allows the device to specify a position in a plane. However, it should be understood that input devices 2114 that allow three-dimensional (e.g., x, y, and z) cursor movement are also contemplated herein.

[0171] In accordance with certain implementations of the present teachings, results may be provided by the computer system 2100 in response to one or more sequences of one or more instructions contained in the RAM 2106 being executed by the processor 2104. Such instructions may be read into the RAM 2106 from another computer-readable medium or computer-readable storage medium (such as the storage device 2110). Execution of the instruction sequences contained in the RAM 2106 may cause the processor 2104 to perform the processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement the present teachings. Accordingly, implementations of the present teachings are not limited to any particular combination of hardware circuitry and software.

[0172] As used herein, the term “computer-readable medium” (e.g., data repository, data storage, storage device, data storage device, etc.) or “computer-readable storage medium” refers to any medium that participates in providing instructions to the processor 2104 for execution. Such media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Examples of non-volatile media may include, but are not limited to, optical disks, solid state drives, magnetic disks (such as the storage device 2110). Examples of volatile media may include, but are not limited to, dynamic memory, such as the RAM 2106. Examples of transmission media may include, but are not limited to, coaxial cables, copper wire, and fiber optics, including the wires that make up the bus 2102.

[0173] Common forms of computer-readable media include, for example, floppy disks, hard disks, magnetic tape, or any other magnetic medium; CD-ROMs, any other optical medium; punched cards, paper tapes, any other physical medium with a pattern of holes; RAM, PROM, and EPROM, FLASH-EPROM, any other memory chip or cartridge; or any other tangible medium that can be read by a computer.

[0174] In addition to computer-readable media, instructions or data can also be provided as signals on a transmission medium included in a communication device or system to provide one or more sequences of instructions to the processor 2104 of the computer system 2100 for execution. For example, the communication device can include a transceiver that has signals indicating the instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the present disclosure. Representative examples of data communication transmission connections can include, but are not limited to, telephone modem connections, wide area networks (WANs), local area networks (LANs), infrared data connections, NFC connections, optical communication connections, and the like.

[0175] Depending on the application, the methods described herein can be implemented in various ways. For example, these methods can be implemented in hardware, firmware, software, or any combination thereof. For a hardware implementation, the processing unit can be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.

[0176] In various embodiments, the methods of the present teachings can be implemented as firmware and / or software programs and application programs written in traditional programming languages such as C, C++, Python, etc. If implemented as firmware and / or software, the embodiments described herein can be implemented on a non-transitory computer-readable medium, where a program is stored to cause a computer to perform the above methods. It should be understood that the various engines described herein can be provided on a computer system, such as computer system 2100, whereby the processor 2104 will execute the analysis and determination provided by these engines based on instructions provided by any one or a combination of the memory components RAM 2106, ROM 2108, or storage device 2110, as well as user input provided via the input device 2114.

[0177] In some exemplary embodiments, the computing system 2100 can be used to execute various interactive computer software applications that can be used to organize, analyze, and / or store data in various formats. Alternatively, the computing system 2100 can be used to execute any type of software application. These applications can be used to perform various functions, such as, for example, scheduling functions (e.g., generating, managing, editing spreadsheet documents, word processing documents, and / or any other objects, etc.), computing functions, communication functions, and the like. The applications can include various additional features or can be stand-alone computing products and / or functions. Once activated within an application, the functions can be used to generate a user interface provided via the input / output device 2114. The user interface can be generated by the computing system 2100 and presented to the user (e.g., on a computer screen monitor, etc.).

[0178] One or more aspects or features of the subject matter described herein can be implemented in digital electronic circuitry, integrated circuitry, specially designed ASICs, field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These various aspects or features can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor (which can be special purpose or general purpose, coupled to receive data and instructions from, and to send data and instructions to, a storage system, at least one input device, and at least one output device). The programmable system or computing system can include a client and a server. Typically, the client and the server are remotely located from each other and generally interact via a communication network. The relationship between the client and the server is created by computer programs running on respective computers and the client-server relationship between them.

[0179] These computer programs may also be referred to as programs, software, applications, applets, components, or code, including machine instructions for a programmable processor, and can be implemented in high-level procedural and / or object-oriented programming languages and / or in assembly / machine language. As used herein, the term "machine-readable medium" refers to any computer product, apparatus, and / or device (such as, for example, a disk, optical disk, memory, and programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the instructions of the machine as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor. The machine-readable medium may non-transitorily store such machine instructions (such as, for example, in non-transitory solid-state memory or a magnetic hard disk drive or any equivalent storage medium). The machine-readable medium may alternatively or additionally store such machine instructions in a transitory manner (such as, for example, in a processor cache or other random access memory associated with one or more physical processor cores).

[0180] VI. Description of Exemplary Embodiments

[0181] The present disclosure is not limited to these exemplary embodiments and applications, nor to the manner of operation or the manner described herein of the exemplary embodiments and applications. Additionally, the drawings may show simplified or partial views, and the dimensions of the elements in the drawings may be exaggerated or out of proportion.

[0182] Embodiment 1. A method, comprising: receiving an image associated with a portion of a subject's anatomy; extracting a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order corresponding to a selected two-dimensional plane of the image; evaluating the plurality of boundary points according to the order to select a plurality of anchor points from the plurality of boundary points; and generating an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point; and determining that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and the current boundary point being evaluated among the plurality of boundary points with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold.

[0183] Embodiment 2. The method according to Embodiment 1, wherein the evaluation further comprises: determining that the current boundary point is not the next anchor point among the plurality of anchor points when the vertical distances calculated for the portion of the initial boundary located between the previous anchor point and the current boundary point being evaluated with respect to the line extending between the previous anchor point and the current boundary point are all not greater than the selected threshold.

[0184] Embodiment 3. The method according to Embodiment 1 or Embodiment 2, wherein the evaluation further comprises: determining that the current boundary point being evaluated is not the next anchor point among the plurality of anchor points when there is no boundary point according to the sequential order between the previous anchor point and the current boundary point being evaluated.

[0185] Embodiment 4. The method according to any one of Embodiments 1 to 3, further comprising: receiving user input for moving at least one of the plurality of anchor point indicators in the graphical user interface.

[0186] Embodiment 5. The method according to Embodiment 4, further comprising: adjusting an original position of at least one anchor point among the plurality of anchor points corresponding to the at least one anchor point indicator based on the user input, such that the plurality of anchor points have a final position.

[0187] Embodiment 6. The method according to Embodiment 4 or Embodiment 5, further comprising: generating adjustment data based on the user input, wherein the adjustment data includes an adjusted segmented image, and at least some pixels of the segmented image are reclassified based on the final positions of the plurality of anchor points to form the adjusted segmented image.

[0188] Embodiment 7. The method according to Embodiment 6, further comprising: using the adjusted segmented image to retrain a segmentation model including a machine learning model.

[0189] Embodiment 8. The method according to any one of Embodiments 1 to 7, wherein the evaluation further comprises: determining that the last boundary point among the plurality of boundary points is the last anchor point.

[0190] Embodiment 9. The method according to any one of Embodiments 1 to 8, wherein determining that the current boundary point being evaluated among the plurality of boundary points is the next anchor point among the plurality of anchor points includes: calculating a vertical distance between each intermediate boundary point among the plurality of boundary points located between the previous anchor point and the current boundary point and a line extending between the previous anchor point and the current boundary point to form a set of vertical distances; determining that at least one vertical distance in the set of vertical distances is greater than the selected threshold; and in response to determining that at least one vertical distance in the set of vertical distances is greater than the selected threshold, determining that the current boundary point will be the next anchor point.

[0191] Embodiment 10. The method according to any one of Embodiments 1 to 9, wherein the selected threshold is selected between 1 pixel unit and 10 pixel units.

[0192] Embodiment 11. The method according to any one of Embodiments 1 to 10, wherein the anchor point image displayed in the graphical user interface further includes a new boundary formed by line segments connecting the plurality of anchor point indicators representing the plurality of anchor points.

[0193] Embodiment 12. The method according to any one of Embodiments 1 to 11, further comprising: receiving user input to move at least one of the plurality of anchor point indicators in the graphical user interface; adjusting the initial boundary based on the user input to form a new boundary; and generating an adjusted image, wherein the new boundary covers the image; and using the adjusted image to form an input for the algorithm.

[0194] Embodiment 13. The method according to any one of Embodiments 1 to 12, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

[0195] Embodiment 14. The method according to any one of Embodiments 1 to 13, wherein the image is a two-dimensional image or a three-dimensional image.

[0196] Embodiment 15. A method, comprising: receiving a plurality of images associated with a part of the anatomical structure of a subject; using the plurality of images and a segmentation model to perform segmentation to generate a plurality of segmented images; for each of the plurality of segmented images, extracting a plurality of boundary points for each initial boundary in a set of initial boundaries associated with each segmented image, wherein the plurality of boundary points are associated with an order in a selected two-dimensional plane corresponding to the plurality of images; for each of the plurality of segmented images, evaluating the plurality of boundary points of each initial boundary in the set of initial boundaries associated with each segmented image according to the order to select a plurality of anchor points from the plurality of boundary points of each initial boundary in the set of initial boundaries for identification in each image; and generating an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points and a plurality of line segments connecting the plurality of anchor point indicators. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point; determining that a last boundary point among the plurality of boundary points is a last anchor point; and when at least one vertical distance in a set of vertical distances calculated for a corresponding set of intermediate boundary points with respect to a line extending between a previous anchor point and a current boundary point being evaluated among the plurality of boundary points is greater than a selected threshold, determining that the current boundary point is the next anchor point among the plurality of anchor points.

[0197] Embodiment 16. The method according to Embodiment 15, wherein the segmentation model includes a machine learning model, and the method further comprises: receiving user input that adjusts the position of at least one of the plurality of anchor point indicators; adjusting an original position of at least one anchor point among the plurality of anchor points corresponding to the at least one of the plurality of anchor point indicators to form a final position of the plurality of anchor points; and using the final position of the plurality of anchor points to modify the corresponding segmented image among the plurality of segmented images to form an adjusted segmented image for retraining the segmentation model.

[0198] Embodiment 17. A system including one or more computing devices, comprising: one or more non-transitory computer-readable storage media including instructions; and one or more processors coupled to the one or more storage media. The one or more processors are configured to execute the instructions to: receive an image associated with a portion of a subject's anatomy; extract a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order corresponding to a selected two-dimensional plane of the image; evaluate the plurality of boundary points according to the order to select a plurality of anchor points from the plurality of boundary points; and generate an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points. The evaluation includes: determining that a first boundary point among the plurality of boundary points is a first anchor point; and determining that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and the current boundary point being evaluated with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold.

[0199] Embodiment 18. The system according to Embodiment 17, wherein the one or more processors are configured to execute the instructions to: determine that the current boundary point being evaluated is not the next anchor point among the plurality of anchor points when there is no boundary point along the initial boundary between the previous anchor point and the current boundary point being evaluated.

[0200] Embodiment 19. The system according to Embodiment 17 or Embodiment 18, wherein the one or more processors are further configured to execute the instructions to: receive a user input that moves at least one of the plurality of anchor point indicators in the graphical user interface.

[0201] Embodiment 20. The system according to Embodiment 19, wherein the one or more processors are further configured to execute the instructions to: adjust an original position of at least one anchor point among the plurality of anchor points corresponding to the at least one anchor point indicator based on the user input to form a final position of the plurality of anchor points.

[0202] Embodiment 21. The system according to Embodiment 19 or Embodiment 20, wherein the one or more processors are further configured to execute the instructions to: generate adjustment data based on the user input, wherein the adjustment data includes an adjusted segmented image, and at least some pixels of the segmented image are reclassified based on the final position of the plurality of anchor points to form the adjusted segmented image.

[0203] Embodiment 22. The system according to embodiment 21, wherein the one or more processors are further configured to execute the instructions to: retrain a segmentation model including a machine learning model using the adjusted segmented image.

[0204] Embodiment 23. The system according to any one of embodiments 16 to 22, wherein the one or more processors are further configured to execute the instructions to: determine that the last boundary point among the plurality of boundary points is the last anchor point.

[0205] Embodiment 24. The system according to any one of embodiments 16 to 23, wherein the one or more processors are further configured to execute the instructions to: calculate a vertical distance between each intermediate boundary point among the plurality of boundary points located between the previous anchor point and the current boundary point and a line extending between the previous anchor point and the current boundary point to form a set of vertical distances; determine that at least one vertical distance in the set of vertical distances is greater than the selected threshold; and in response to determining that at least one vertical distance in the set of vertical distances is greater than the selected threshold, determine that the current boundary point will be the next anchor point.

[0206] Embodiment 25. The system according to any one of embodiments 16 to 24, wherein the selected threshold is selected between 1 pixel unit and 10 pixel units.

[0207] Embodiment 26. The system according to any one of embodiments 16 to 25, wherein the anchor point image displayed in the graphical user interface further includes a new boundary formed by line segments connecting the plurality of anchor point indicators representing the plurality of anchor points.

[0208] Embodiment 27. The system according to any one of embodiments 16 to 26, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

[0209] Embodiment 28. The system according to any one of embodiments 16 to 27, wherein the image is a two-dimensional image or a three-dimensional image.

[0210] Additional embodiments:

[0211] Embodiment A1: A method, through one or more computing devices: receiving a medical image of a patient; segmenting the medical image into a plurality of pixel regions, wherein the plurality of pixel regions includes at least a first pixel region and a second pixel region; extracting a set of boundary points along an identified boundary between the first pixel region and the second pixel region; and determining sequential anchor point pairs, wherein the sequential anchor point pairs are configured to adjust the identified boundary between the first pixel region and the second pixel region, and wherein determining the sequential anchor point pairs includes: identifying a starting anchor point, wherein: for a first boundary point in an identified pair of boundary points, the starting anchor point is the first boundary point in the set of boundary points, and for a subsequent boundary point in the identified pair of boundary points, the starting anchor point is the ending anchor point of the immediately preceding identified pair of boundary points; and identifying the ending anchor point, wherein the curvature between the starting anchor point and the ending anchor point meets a predetermined criterion.

[0212] Embodiment A2: The method according to Embodiment A1, further comprising: causing a display of one or more other computing devices to display a second image based on the sequential anchor point pairs; and adjusting the identified boundary between the first pixel region and the second pixel region in response to one or more user inputs that determine a manipulation corresponding to at least one of the anchor points in the sequential anchor point pairs.

[0213] Embodiment A3: The method according to Embodiment A1, wherein adjusting the identified boundary between the first pixel region and the second pixel region is adjusting the contour of the identified boundary.

[0214] Embodiment A4: The method according to Embodiment A1, wherein adjusting the identified boundary between the first pixel region and the second pixel region is correcting a class label corresponding to the first pixel region or the second pixel region.

[0215] Embodiment A5: The method according to Embodiment A4, wherein correcting the class label corresponding to the first pixel region or the second pixel region is performed in response to receiving one or more user inputs from a human pathologist.

[0216] Embodiment A6: The method according to Embodiment A1, wherein the curvature between the starting anchor point and the ending anchor point includes a vertical distance between the starting anchor point and the ending anchor point.

[0217] Embodiment A7: The method according to Embodiment A1, wherein the curvature between the starting anchor point and the ending anchor point meets the predetermined criterion when the curvature exceeds a vertical distance threshold.

[0218] Embodiment A8: The method according to Embodiment A7, wherein the vertical distance threshold includes a vertical distance of approximately one pixel.

[0219] Embodiment A9: The method according to Embodiment A7, wherein the vertical distance threshold includes a vertical distance of approximately two pixels.

[0220] Embodiment A10: The method according to Embodiment A7, wherein the vertical distance threshold includes a user-configurable threshold.

[0221] Embodiment A11: The method according to Embodiment A10, wherein the user-configurable threshold is configured to be adjusted to adjust the boundary of the identification between the first pixel region and the second pixel region according to a desired accuracy.

[0222] Embodiment A12: The method according to Embodiment A11, wherein the desired accuracy varies based on the total number of the sequential anchor point pairs.

[0223] Embodiment A13: The method according to Embodiment A1, wherein for the last boundary point in the boundary point pair of the identification, the end anchor point is the last boundary point in the set of boundary points.

[0224] Embodiment A14: The method according to Embodiment A1, wherein determining the sequential anchor point pair further includes: when the curvature between the start anchor point and the end anchor point fails to meet the predetermined standard, abandoning the identification of the end anchor point.

[0225] Embodiment A15: The method according to Embodiment A1, wherein identifying the plurality of pixel regions in the image includes segmenting a pixel region indicating a normal region and a pixel region indicating a disease region.

[0226] Embodiment A16: The method according to Embodiment A1, wherein identifying the plurality of pixel regions in the image further includes: inputting the image into a machine learning model that is trained to segment the plurality of pixel regions in the image; and using the machine learning model to: segment at least the first pixel region and the second pixel region; and output a predicted class label for each of the first pixel region and the second pixel region.

[0227] Embodiment A17: The method according to Embodiment A16, further comprising: displaying a second image based on the predicted class labels of each pixel region in the first pixel region and the second pixel region; receiving one or more user inputs corresponding to a request to update the predicted class labels of at least one of the first pixel region or the second pixel region; and displaying a third image based on the updated predicted class labels.

[0228] Embodiment A18: The method according to Embodiment A17, further comprising inputting the third image into the machine learning model for retraining the machine learning model.

[0229] Embodiment A19: The method according to Embodiment A1, further comprising determining another anchor point in the sequential anchor point pair, wherein determining the another anchor point in the sequential anchor point pair comprises: identifying another starting anchor point, wherein the another starting anchor point is the ending anchor point of the first boundary point in the identified boundary point pair; and identifying another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point meets the predetermined criterion.

[0230] Embodiment A20: The method according to Embodiment A19, wherein determining the another anchor point in the sequential anchor point pair further comprises: abandoning the identification of the another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point fails to meet the predetermined criterion.

[0231] Embodiment A21: The method according to Embodiment A1, wherein the image comprises an image of one or more lesions, and wherein the sequential anchor point pair is configured to adjust the identified boundary to accurately label the one or more lesions.

[0232] Embodiment A22: The method according to Embodiment A1, wherein adjusting the identified boundary using the sequential anchor point pair is to make the medical image suitable for clinical trials of one or more pharmaceutical products.

[0233] Embodiment A23: The method according to Embodiment A1, wherein the image comprises a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

[0234] Embodiment A24: A system including one or more computing devices, comprising: one or more non-transitory computer-readable storage media including instructions; and one or more processors coupled to the one or more storage media, configured to execute the instructions to: receive an image, wherein the image includes a medical image of a patient; identify a plurality of pixel regions in the image, wherein the plurality of pixel regions includes at least a first pixel region and a second pixel region; extract a set of boundary points along an identified boundary between the first pixel region and the second pixel region; and determine sequential anchor pairs, wherein the sequential anchor pairs are configured to adjust the identified boundary between the first pixel region and the second pixel region, and wherein the instructions for determining one anchor of the sequential anchor pairs further include instructions to: identify a starting anchor, wherein: for a first boundary point of an identified pair of boundary points, the starting anchor is the first boundary point of the set of boundary points, and for a subsequent boundary point of the identified pair of boundary points, the starting anchor is the ending anchor of the immediately preceding identified pair of boundary points; and identify an ending anchor, wherein the curvature between the starting anchor and the ending anchor meets a predetermined criterion.

[0235] Embodiment A25: The system according to Embodiment A24, wherein the instructions further include instructions to: cause a display of one or more other computing devices to display a second image based on the sequential anchor pairs; and adjust the identified boundary between the first pixel region and the second pixel region in response to one or more user inputs that determine a manipulation corresponding to at least one anchor of the sequential anchor pairs.

[0236] Embodiment A26: The system according to Embodiment A24, wherein adjusting the identified boundary between the first pixel region and the second pixel region is adjusting the contour of the identified boundary.

[0237] Embodiment A27: The system according to Embodiment A24, wherein adjusting the identified boundary between the first pixel region and the second pixel region is correcting a class label corresponding to the first pixel region or the second pixel region.

[0238] Embodiment A28: The system according to Embodiment A27, wherein correcting the class label corresponding to the first pixel region or the second pixel region is performed in response to receiving one or more user inputs from a human pathologist.

[0239] Embodiment A29: The system according to Embodiment A24, wherein the curvature between the starting anchor and the ending anchor includes a vertical distance between the starting anchor and the ending anchor.

[0240] Embodiment A30: The system according to Embodiment A24, wherein when the curvature exceeds a vertical distance threshold, the curvature between the start anchor point and the end anchor point meets the predetermined criterion.

[0241] Embodiment A31: The system according to Embodiment A30, wherein the vertical distance threshold includes a vertical distance of approximately one pixel.

[0242] Embodiment A32: The system according to Embodiment A30, wherein the vertical distance threshold includes a vertical distance of approximately two pixels.

[0243] Embodiment A33: The system according to Embodiment A30, wherein the vertical distance threshold includes a user-configurable threshold.

[0244] Embodiment A34: The system according to Embodiment A33, wherein the user-configurable threshold is configured to be adjusted to adjust the boundary of the identifier between the first pixel region and the second pixel region according to a desired accuracy.

[0245] Embodiment A35: The system according to Embodiment A34, wherein the desired accuracy varies based on the total number of ordered anchor point pairs.

[0246] Embodiment A36: The system according to Embodiment A24, wherein for the last boundary point in a pair of boundary points of an identifier, the end anchor point is the last boundary point in the set of boundary points.

[0247] Embodiment A37: The system according to Embodiment A24, wherein the instructions for determining one anchor point in the ordered anchor point pair further include instructions to: when the curvature between the start anchor point and the end anchor point fails to meet the predetermined criterion, discard the identification of the end anchor point.

[0248] Embodiment A38: The system according to Embodiment A24, wherein the instructions for identifying the multiple pixel regions in the image further include instructions to segment a pixel region indicating a normal region and a pixel region indicating a diseased region.

[0249] Embodiment A39: The system according to Embodiment A24, wherein the instructions for identifying the multiple pixel regions in the image further include instructions to: input the image into a machine learning model that is trained to segment the multiple pixel regions in the image; and use the machine learning model to: segment at least the first pixel region and the second pixel region; and output a predicted class label for each of the first pixel region and the second pixel region.

[0250] Embodiment A40: The system according to Embodiment A39, wherein the instructions further include instructions to: display a second image based on the predicted class labels of each pixel region in the first pixel region and the second pixel region; receive one or more user inputs corresponding to a request to update the predicted class labels of at least one of the first pixel region or the second pixel region; and display a third image based on the updated predicted class labels.

[0251] Embodiment A41: The system according to Embodiment A40, wherein the instructions further include instructions to input the third image into the machine learning model to retrain the machine learning model.

[0252] Embodiment A42: The system according to Embodiment A24, wherein the instructions further include instructions to determine another anchor point in the sequential anchor point pair, and the instructions to determine another anchor point in the sequential anchor point pair further include instructions to: identify another starting anchor point, wherein the another starting anchor point is the ending anchor point of the first boundary point in the identified boundary point pair; and identify another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point meets the predetermined criteria.

[0253] Embodiment A43: The system according to Embodiment A42, wherein the instructions to determine the another anchor point in the sequential anchor point pair further include instructions to: abandon identifying the another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point fails to meet the predetermined criteria.

[0254] Embodiment A44: The system according to Embodiment A24, wherein the image includes an image of one or more lesions, and wherein the sequential anchor point pair is configured to adjust the identified boundary to accurately label the one or more lesions.

[0255] Embodiment A45: The system according to Embodiment A24, wherein adjusting the identified boundary using the sequential anchor point pair is to make the medical image suitable for clinical trials of one or more pharmaceutical products.

[0256] Embodiment A46: The system according to Embodiment A24, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

[0257] Embodiment A47: A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of one or more computing devices, cause the one or more processors to: receive an image, wherein the image comprises a medical image of a patient; identify a plurality of pixel regions in the image, wherein the plurality of pixel regions comprises at least a first pixel region and a second pixel region; extract a set of boundary points along an identified boundary between the first pixel region and the second pixel region; and determine sequential anchor pairs, wherein the sequential anchor pairs are configured to adjust the identified boundary between the first pixel region and the second pixel region, and wherein the instructions for determining one anchor of the sequential anchor pairs further comprise instructions to: identify a starting anchor, wherein: for a first boundary point of the identified boundary point pairs, the starting anchor is the first boundary point of the set of boundary points, and for subsequent boundary points of the identified boundary point pairs, the starting anchor is the ending anchor of the immediately preceding identified boundary point pair; and identify an ending anchor, wherein the curvature between the starting anchor and the ending anchor satisfies a predetermined criterion.

[0258] Embodiment A48: The non-transitory computer-readable medium according to Embodiment A47, wherein the instructions further comprise instructions to: cause a display of one or more other computing devices to display a second image based on the sequential anchor pairs; and adjust the identified boundary between the first pixel region and the second pixel region in response to one or more user inputs that determine a manipulation corresponding to at least one anchor of the sequential anchor pairs.

[0259] Embodiment A49: The non-transitory computer-readable medium according to Embodiment A47, wherein adjusting the identified boundary between the first pixel region and the second pixel region is adjusting the contour of the identified boundary.

[0260] Embodiment A50: The non-transitory computer-readable medium according to Embodiment A47, wherein adjusting the identified boundary between the first pixel region and the second pixel region is correcting a class label corresponding to the first pixel region or the second pixel region.

[0261] Embodiment A51: The non-transitory computer-readable medium according to Embodiment A50, wherein correcting the class label corresponding to the first pixel region or the second pixel region is performed in response to receiving one or more user inputs from a human pathologist.

[0262] Embodiment A52: The non-transitory computer-readable medium according to Embodiment A47, wherein the curvature between the starting anchor and the ending anchor comprises a vertical distance between the starting anchor and the ending anchor.

[0263] Embodiment A53: The non-transitory computer-readable medium according to Embodiment A47, wherein when the curvature exceeds a vertical distance threshold, the curvature between the start anchor point and the end anchor point satisfies the predetermined criterion.

[0264] Embodiment A54: The non-transitory computer-readable medium according to Embodiment A53, wherein the vertical distance threshold includes a vertical distance of approximately one pixel.

[0265] Embodiment A55: The non-transitory computer-readable medium according to Embodiment A53, wherein the vertical distance threshold includes a vertical distance of approximately two pixels.

[0266] Embodiment A56: The non-transitory computer-readable medium according to Embodiment A53, wherein the vertical distance threshold includes a user-configurable threshold.

[0267] Embodiment A57: The non-transitory computer-readable medium according to Embodiment A56, wherein the user-configurable threshold is configured to be adjusted so as to adjust the boundary of the identifier between the first pixel region and the second pixel region according to a desired accuracy.

[0268] Embodiment A58: The non-transitory computer-readable medium according to Embodiment A57, wherein the desired accuracy varies based on the total number of the ordered anchor point pairs.

[0269] Embodiment A59: The non-transitory computer-readable medium according to Embodiment A47, wherein for the last boundary point in the boundary point pair of the identifier, the end anchor point is the last boundary point in the set of boundary points.

[0270] Embodiment A60: The non-transitory computer-readable medium according to Embodiment A47, wherein the instructions for determining one anchor point in the ordered anchor point pair further include instructions to: when the curvature between the start anchor point and the end anchor point fails to satisfy the predetermined criterion, abandon identifying the end anchor point.

[0271] Embodiment A61: The non-transitory computer-readable medium according to Embodiment A47, wherein the instructions for identifying the multiple pixel regions in the image further include instructions for segmenting a pixel region indicating a normal region and a pixel region indicating a diseased region.

[0272] Embodiment A62: The non-transitory computer-readable medium according to Embodiment A47, wherein the instructions for identifying the plurality of pixel regions in the image further include instructions to: input the image into a machine learning model that is trained to segment the plurality of pixel regions in the image; and use the machine learning model to: segment at least the first pixel region and the second pixel region; and output a predicted class label for each pixel region in the first pixel region and the second pixel region.

[0273] Embodiment A63: The non-transitory computer-readable medium according to Embodiment A62, wherein the instructions further include instructions to: display a second image based on the predicted class labels for each pixel region in the first pixel region and the second pixel region; receive one or more user inputs corresponding to a request to update the predicted class label for at least one pixel region in the first pixel region or the second pixel region; and display a third image based on the updated predicted class labels.

[0274] Embodiment A64: The non-transitory computer-readable medium according to Embodiment A63, wherein the instructions further include instructions to input the third image into the machine learning model to retrain the machine learning model.

[0275] Embodiment A65: The non-transitory computer-readable medium according to Embodiment A47, wherein the instructions further include instructions to determine another anchor point in the sequential anchor point pair, and wherein the instructions to determine another anchor point in the sequential anchor point pair further include instructions to: identify another starting anchor point, wherein the another starting anchor point is the ending anchor point of the first boundary point in the identified boundary point pair; and identify another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point meets the predetermined criterion.

[0276] Embodiment A66: The non-transitory computer-readable medium according to Embodiment A65, wherein the instructions to determine another anchor point in the sequential anchor point pair further include instructions to: abandon identifying the another ending anchor point when the curvature between the another starting anchor point and the another ending anchor point fails to meet the predetermined criterion.

[0277] Embodiment A67: The non-transitory computer-readable medium according to Embodiment A47, wherein the image includes an image of one or more lesions, and wherein the sequential anchor point pair is configured to adjust the identified boundary to accurately label the one or more lesions.

[0278] Embodiment A68: The non-transitory computer-readable medium according to Embodiment A47, wherein adjusting the boundaries of the identification using the sequential anchor points is for making the medical image suitable for clinical trials of one or more pharmaceutical products.

[0279] Embodiment A69: The non-transitory computer-readable medium according to Embodiment A47, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

[0280] VII. Exemplary Definitions and Context

[0281] The present disclosure is not limited to these exemplary embodiments and applications, nor to the manner of operation of the exemplary embodiments and applications or the manner described herein. Additionally, the drawings may show simplified or partial views, and the dimensions of elements in the drawings may be exaggerated or out of proportion.

[0282] In the case of referring to a list of elements (e.g., elements a, b, c), such reference is intended to include any one of the separately listed elements, any combination of less than all of the listed elements, and / or any combination of all of the listed elements. The sectional divisions in the specification are for ease of review only and do not limit any combination of the elements discussed.

[0283] Unless otherwise defined, scientific and technical terms used in conjunction with the teachings described herein shall have the meanings commonly understood by one of ordinary skill in the art. Additionally, unless the context otherwise requires, singular terms shall include the plural and plural terms shall include the singular. Generally, the nomenclature and techniques used in conjunction with chemistry, biochemistry, molecular biology, pharmacology, and toxicology described herein are those well known and commonly used in the art.

[0284] In addition, when the terms "on", "attached to", "connected to", "coupled to" or similar terms are used herein, one element (e.g., a component, material, layer, substrate, etc.) can be "on another element", "attached to another element", "connected to another element" or "coupled to another element", regardless of whether one element is directly on, directly attached to, directly connected to or directly coupled to another element, or there is one or more intermediate elements between one element and another element. Additionally, in the case of a list of elements (e.g., elements a, b, c), such a reference is intended to include any one of the elements listed individually, any combination of less than all of the elements listed, and / or all of the elements listed in combination. The division of sections in the specification is for ease of review only and does not limit any combination of the elements discussed.

[0285] The term "subject" can refer to a subject of a clinical trial, a human or animal being treated, a human or animal being treated with an anti-cancer therapy, a human or animal being monitored for remission or recovery, a human or animal being given a preventive health analysis (e.g., due to their medical history), or any other human or patient or animal of interest. In various instances, "subject" and "patient" can be used interchangeably herein.

[0286] The term "OCT image" can refer to an image of a tissue, organ, etc. (such as the retina) scanned or captured using optical coherence tomography (OCT) imaging technology. The term can refer to either or both of a 2D "slice" image and a 3D "volume" image. When not explicitly indicated, the term can be understood to include OCT volume images.

[0287] Unless otherwise defined, scientific and technical terms used in conjunction with the teachings described herein shall have the meanings commonly understood by one of ordinary skill in the art. In addition, unless the context otherwise requires, singular terms shall include the plural and plural terms shall include the singular. Generally, the nomenclature and techniques described herein in connection with chemistry, biochemistry, molecular biology, pharmacology, and toxicology are those well known and commonly used in the art.

[0288] As used herein, "substantially" means sufficient to achieve the intended purpose. Thus, the term "substantially" allows for minor, insignificant variations from an absolute or ideal state, dimension, measurement, result, etc., as would be expected by one of ordinary skill in the art, but without significantly affecting overall performance. When used in relation to a numerical value or a parameter or property that can be expressed as a numerical value, "substantially" means within ten percent.

[0289] As used herein, the term "about" when used in connection with a numerical value or a parameter or feature that can be expressed as a numerical value means within ten percent of the numerical value. For example, "about 50" means a value within the range of 45 to 55, including the end values.

[0290] The term "ones" means more than one.

[0291] As used herein, the term "plurality" can be 2, 3, 4, 5, 6, 7, 8, 9, 10 or more.

[0292] As used herein, the term "a set" refers to one or more. For example, a set of items includes one or more items. As used herein, the term "subset" includes one or more items included in a reference collection. For example, a subset can include one item in a reference group, or can include all items in a reference group.

[0293] As used herein, the phrase "at least one of..." when used in conjunction with a list of items means that different combinations of one or more of the listed items can be used, and it may be only necessary to have one item from the list. The items can be specific objects, things, steps, operations, processes, or categories. In other words, "at least one of..." means any combination or number of items from the list that can be used, but not all items in the list are required. For example, but not by way of limitation, "at least one of item A, item B, or item C" refers to item A; item A and item B; item B; item A, item B, and item C; item B and item C; or item A and C. In some cases, "at least one of item A, item B, or item C" means, but is not limited to, two of item A, one of item B, and ten of item C; four of item B and seven of item C; or some other suitable combination.

[0294] As used herein, "model" can include one or more algorithms, one or more mathematical techniques, one or more machine learning (ML) algorithms, or a combination thereof.

[0295] As used herein, "machine learning" can include the practice of using algorithms to parse data, learn from it, and then make a determination or prediction about something in the world. Machine learning uses algorithms that can learn from data without relying on rule-based programming.

[0296] As used herein, "artificial neural network" or "neural network" can refer to a mathematical algorithm or computational model that simulates a set of interconnected artificial neurons and processes information based on a connectionist computing approach. A neural network (which may also be referred to as a neural net) can use one or more layers of non-linear units to predict an output for received inputs. In addition to an output layer, some neural networks also include one or more hidden layers. The output of each hidden layer serves as the input to the next layer in the network, i.e., the next hidden layer or the output layer. Each layer of the network generates an output from the received inputs based on the current values of a corresponding set of parameters. In various embodiments, a reference to a "neural network" can be a reference to one or more neural networks.

[0297] A neural network can process information in two ways, for example; when the neural network is being trained (e.g., using a training data set), the neural network is in a training mode, and when the neural network puts the learned knowledge into practice (e.g., using a test data set), the neural network is in an inference (or prediction) mode. A neural network can learn through a feedback process (e.g., backpropagation), which allows the network to adjust the weight factors of individual nodes in the intermediate hidden layers (modifying its behavior) so that the output matches the output of the training data. In other words, a neural network can learn by being fed training data (learning examples) and ultimately learn how to obtain the correct output even when presented with a new input range or set.

[0298] A neural network can process information in two ways; when the neural network is being trained, the neural network is in a training mode, and when the neural network puts the learned knowledge into practice, the neural network is in an inference (or prediction) mode. A neural network learns through a feedback process (e.g., backpropagation), which allows the network to adjust the weight factors of individual nodes in the intermediate hidden layers (modifying its behavior) so that the output matches the output of the training data. In other words, a neural network learns by being fed training data (learning examples) and ultimately learns how to obtain the correct output even when presented with a new input range or set. A neural network can include, for example but not limited to, at least one of a feedforward neural network (FNN), a recurrent neural network (RNN), a modular neural network (MNN), a convolutional neural network (CNN), a residual neural network (ResNet), a neural ordinary differential equation (neural-ODE), or other types of neural networks.

[0299] As used herein, "deep learning" can refer to the use of multi-layer artificial neural networks to automatically learn representations from input data (such as images, videos, text, etc.) without knowledge provided by humans, to provide highly accurate predictions in tasks such as object detection / identification, speech recognition, language translation, etc.

[0300] VIII. Other considerations

[0301] The headings and subheadings between the sections and subsections of this document are for readability purposes only and do not imply that features cannot be combined across sections and subsections. Thus, sections and subsections do not describe separate embodiments.

[0302] Some embodiments of the present disclosure include a system that includes one or more data processors. In some embodiments, the system includes a non-transitory computer-readable storage medium containing instructions that, when executed on the one or more data processors, cause the one or more data processors to perform some or all of one or more of the methods disclosed herein and / or some or all of one or more of the processes disclosed herein. Some embodiments of the present disclosure include a computer program product tangibly embodied in a non-transitory machine-readable storage medium that includes instructions configured to cause one or more data processors to perform some or all of one or more of the methods disclosed herein and / or some or all of one or more of the processes disclosed herein.

[0303] The terms and expressions that have been employed are used in a descriptive rather than a restrictive sense, and in using such terms and expressions, no intention is made to exclude any equivalents of the features shown and described or portions thereof, but it should be recognized that various modifications are possible within the scope of the invention as claimed. Accordingly, it should be understood that although the claimed invention has been specifically disclosed by way of embodiments and optional features, those skilled in the art may adopt modifications and variations of the concepts disclosed herein, and such modifications and variations are considered to be within the scope of the invention as defined by the appended claims.

[0304] Although the present teachings have been described in connection with various embodiments, the present teachings are not intended to be limited to such embodiments. Instead, the present teachings cover various alternatives, modifications, and equivalents that will be understood by those skilled in the art.

[0305] In describing various embodiments, the specification may have presented methods and / or processes as a particular sequence of steps. However, if the method or process does not depend on the particular order of steps described herein, the method or process should not be limited to the recited particular sequence of steps, and those skilled in the art can readily understand that these sequences may be different and still remain within the spirit and scope of the various embodiments.

[0306] In addition, depending on the desired configuration, the subject matter described herein can be embodied in a system, apparatus, method, and / or article of manufacture. The specific implementations set forth in the description herein do not represent all specific implementations consistent with the described subject matter. Rather, they are only some examples consistent with aspects related to the described subject matter. Although some variations have been described in detail above, other modifications or additions are possible. In particular, other features and / or variations can be provided in addition to those features and / or variations described herein. For example, the specific implementations described above can be directed to various combinations and sub-combinations of the disclosed features and / or to combinations and sub-combinations of several further features disclosed above. Additionally, the logical flows depicted in the figures and / or described herein need not be in the particular order shown or sequential order to achieve the desired result. Other specific implementations can be within the scope of the following claims.

Claims

1. A method, comprising: Receiving an image associated with a portion of a subject's anatomy; Extracting a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order corresponding to a selected two-dimensional plane of the image; Evaluating the plurality of boundary points according to the order to select a plurality of anchor points from the plurality of boundary points, wherein the evaluation includes: Determining that a first boundary point among the plurality of boundary points is a first anchor point; and When at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and a current boundary point being evaluated among the plurality of boundary points with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold, determining that the current boundary point is the next anchor point among the plurality of anchor points; and Generating an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points.

2. The method according to claim 1, wherein the evaluation further includes: When the vertical distances calculated for the portion of the initial boundary located between the previous anchor point and the current boundary point being evaluated with respect to the line extending between the previous anchor point and the current boundary point are not greater than the selected threshold, determining that the current boundary point is not the next anchor point among the plurality of anchor points.

3. The method according to claim 1 or claim 2, wherein the evaluation further includes: When there is no boundary point according to the order between the previous anchor point and the current boundary point being evaluated, determining that the current boundary point being evaluated is not the next anchor point among the plurality of anchor points.

4. The method according to any one of claims 1 to 3, further comprising: Receiving a user input for moving at least one anchor point indicator among the plurality of anchor point indicators in the graphical user interface.

5. The method according to claim 4, Adjusting an original position of at least one anchor point among the plurality of anchor points corresponding to the at least one anchor point indicator based on the user input such that the plurality of anchor points have a final position.

6. The method according to claim 4 or claim 5, further comprising: Generating adjustment data based on the user input, wherein the adjustment data includes an adjusted segmentation image, and at least some pixels of the segmentation image are reclassified based on the final positions of the plurality of anchor points to form the adjusted segmentation image.

7. The method according to claim 6, further comprising: Using the adjusted segmentation image to retrain a segmentation model including a machine learning model.

8. The method according to any one of claims 1 to 7, wherein the evaluation further includes: Determining that a last boundary point among the plurality of boundary points is a last anchor point.

9. The method according to any one of claims 1 to 8, wherein determining that the current boundary point being evaluated among the plurality of boundary points is the next anchor point among the plurality of anchor points includes: Calculate the perpendicular distance between each intermediate boundary point among the plurality of boundary points that is located between the previous anchor point and the current boundary point and a line extending between the previous anchor point and the current boundary point to form a set of perpendicular distances; Determine that at least one perpendicular distance in the set of perpendicular distances is greater than the selected threshold; And In response to determining that at least one perpendicular distance in the set of perpendicular distances is greater than the selected threshold, determine that the current boundary point will be the next anchor point.

10. The method according to any one of claims 1 to 9, wherein the selected threshold is selected to be between 1 pixel unit and 10 pixel units.

11. The method according to any one of claims 1 to 10, wherein the anchor point image displayed in the graphical user interface further includes a new boundary formed by line segments connecting the plurality of anchor point indicators representing the plurality of anchor points.

12. The method according to any one of claims 1 to 11, further comprising: Receiving user input to move at least one of the plurality of anchor point indicators in the graphical user interface; Adjusting the initial boundary based on the user input to form a new boundary; And Generating an adjusted image, wherein the new boundary covers the image; And Using the adjusted image to form an input for the algorithm.

13. The method according to any one of claims 1 to 12, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

14. The method according to any one of claims 1 to 13, wherein the image is a two-dimensional image or a three-dimensional image.

15. A method, comprising: Receiving a plurality of images associated with a portion of a subject's anatomy; Using the plurality of images and a segmentation model to perform segmentation to generate a plurality of segmented images; For each of the plurality of segmented images, extracting a plurality of boundary points for each initial boundary in a set of initial boundaries associated with each segmented image, wherein the plurality of boundary points are associated with the sequential order of a selected two-dimensional plane corresponding to the plurality of images; For each of the plurality of segmented images, evaluating the plurality of boundary points of each initial boundary in the set of initial boundaries associated with each segmented image according to the sequential order to select a plurality of anchor points from the plurality of boundary points for each initial boundary identified in each image, wherein the evaluation includes: Determining that a first boundary point among the plurality of boundary points is the first anchor point; Determining that the last boundary point among the plurality of boundary points is the last anchor point; and Determine that the current boundary point is the next anchor point among the plurality of anchor points when at least one of a set of vertical distances calculated for a corresponding set of intermediate boundary points with respect to a line extending between a previous anchor point and the current boundary point being evaluated among the plurality of boundary points is greater than a selected threshold; and Generate an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points and a plurality of line segments connecting the plurality of anchor point indicators.

16. The method according to claim 15, wherein the segmentation model includes a machine learning model, and the method further includes: Receiving user input that adjusts the position of at least one of the plurality of anchor point indicators; Adjusting an original position of at least one anchor point among the plurality of anchor points corresponding to the at least one of the plurality of anchor point indicators to form a final position of the plurality of anchor points; And Using the final positions of the plurality of anchor points to modify a corresponding segmentation image among the plurality of segmentation images to form an adjusted segmentation image for retraining the segmentation model.

17. A system including one or more computing devices, the system comprising: One or more non-transitory computer-readable storage media, which include instructions; and One or more processors coupled to the one or more storage media, the one or more processors being configured to execute the instructions to: Receive an image associated with a portion of a subject's anatomy; Extract a plurality of boundary points for an initial boundary associated with a corresponding pixel region in the image, wherein the plurality of boundary points are associated with an order sequence corresponding to a selected two-dimensional plane of the image; Evaluate the plurality of boundary points according to the order sequence to select a plurality of anchor points from the plurality of boundary points, wherein the evaluation includes: Determine that a first boundary point among the plurality of boundary points is a first anchor point; and Determine that the current boundary point is the next anchor point among the plurality of anchor points when at least one vertical distance calculated for a portion of the initial boundary located between a previous anchor point and the current boundary point being evaluated among the plurality of boundary points with respect to a line extending between the previous anchor point and the current boundary point is greater than a selected threshold; and Generate an anchor point image for display in a graphical user interface on a display device, wherein the anchor point image includes a plurality of anchor point indicators representing the plurality of anchor points.

18. The system according to claim 17, wherein the one or more processors are configured to execute the instructions to: determine that the current boundary point being evaluated is not the next anchor point among the plurality of anchor points when there is no boundary point along the initial boundary between the previous anchor point and the current boundary point being evaluated.

19. The system according to claim 17 or claim 18, wherein the one or more processors are further configured to execute the instructions to: Receive user input to move at least one of the plurality of anchor point indicators in the graphical user interface.

20. The system according to claim 19, wherein the one or more processors are further configured to execute the instructions to: Adjust an original position of at least one anchor corresponding to the at least one anchor indicator among the plurality of anchors based on the user input to form a final position of the plurality of anchors.

21. The system according to claim 19 or claim 20, wherein the one or more processors are further configured to execute the instructions to: Generate adjustment data based on the user input, wherein the adjustment data includes an adjusted segmented image, and at least some pixels of the segmented image are reclassified to form the adjusted segmented image based on the final position of the plurality of anchors.

22. The system according to claim 21, wherein the one or more processors are further configured to execute the instructions to: Use the adjusted segmented image to retrain a segmentation model including a machine learning model.

23. The system according to any one of claims 17 to 22, wherein the one or more processors are further configured to execute the instructions to: Determine that the last boundary point among the plurality of boundary points is the last anchor.

24. The system according to any one of claims 17 to 23, wherein the one or more processors are further configured to execute the instructions to: Calculate a vertical distance between each intermediate boundary point among the plurality of boundary points located between the previous anchor and the current boundary point and a line extending between the previous anchor and the current boundary point to form a set of vertical distances; Determine that at least one vertical distance in the set of vertical distances is greater than the selected threshold; and In response to determining that at least one vertical distance in the set of vertical distances is greater than the selected threshold, determine that the current boundary point will be the next anchor.

25. The system according to any one of claims 17 to 24, wherein the selected threshold is selected to be between 1 pixel unit and 10 pixel units.

26. The system according to any one of claims 17 to 25, wherein the anchor image displayed in the graphical user interface further includes a new boundary formed by line segments connecting the plurality of anchor indicators representing the plurality of anchors.

27. The system according to any one of claims 17 to 26, wherein the image includes a magnetic resonance imaging (MRI) image, a computed tomography (CT) image, an X-ray image, an ultrasound image, a positron emission tomography (PET) image, a single photon emission computed tomography (SPECT) image, or an optical coherence tomography (OCT) image.

28. The system according to any one of claims 17 to 27, wherein the image is a two-dimensional image or a three-dimensional image.