Automatic Estimation of Brachytherapy Seed Positions
The system automates seed position estimation in small line source treatment by using 3D pixel clusters and algorithms to calculate effective doses, addressing the inefficiencies of manual seed marking and improving treatment precision.
Patent Information
- Application Number
- JP2024538220
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-21
- Filing Date
- 2022-11-30
- Publication Date
- 2025-01-28
AI Technical Summary
Existing methods for small line source treatment, such as embedding radioactive seeds near a tumor, face challenges in accurately determining the position and effective dose of individual seeds due to unclear imaging and the difficulty in manually marking each seed, making the process time-consuming and inefficient.
A system and method that utilizes a processor to calculate the estimated position of each seed group based on 3D pixel clusters, applying algorithms like Bayes Gaussian mixed model and binding component clustering to identify seed groups, and adjust positions using markers, enabling automatic estimation and dose calculation.
Facilitates accurate and efficient calculation of the effective dose of small line source treatment by automating the seed position estimation, reducing manual effort and improving the precision of treatment planning.
Smart Images

Figure 2025502736000001_ABST
Abstract
Description
[Technical field]
[0001] TECHNICAL FIELD This application relates generally to brachytherapy, and more particularly to automated techniques for facilitating brachytherapy procedures. [Background technology]
[0002] In a brachytherapy procedure, one or more brachytherapy seeds are implanted, e.g., using needles, near a subject's tumor. The seeds, e.g., metallic or metal-coated, carry radionuclide atoms that emit destructive radiation to the tumor. Summary of the Invention
[0003] Some embodiments of the present invention provide a system including a memory configured to store program instructions and a processor configured to read the program instructions from the memory to calculate an estimated location of each of the brachytherapy treatments based on a respective dimension of each cluster, store or communicate the estimated locations for use in calculating an effective dose of the brachytherapy treatments, and process a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more seed groups to identify respective clusters of 3D pixels in the image that correspond to the seed groups.
[0004] According to some embodiments of the invention, there is further provided a method comprising processing a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more seed groups to identify clusters of 3D pixels of the image corresponding respectively to the seed groups, the method further comprising calculating an estimated position of each of the brachytherapy seeds based on respective dimensions of each cluster, and storing or communicating the estimated positions for use in calculating an effective dose of the brachytherapy seeds.
[0005] In some embodiments, the method comprises: displaying at least a portion of the image with a marker at the estimated location such that the user may adjust the estimated location by performing an action selected from the group of actions consisting of: overlaying one or more additional markers, removing one or more markers, and moving one or more markers; and calculating the effective dose based on the adjusted estimated position.
[0006] In some embodiments, processing the image includes processing the image by applying a Bayesian Gaussian mixture model to the image.
[0007] In some embodiments, processing the image includes processing the image by applying a connected component clustering algorithm to the image.
[0008] In some embodiments, calculating an estimated position of each of the brachytherapy seeds comprises: calculating an estimated number of brachytherapy seeds for each of the clusters based on a dimension of each of the clusters; and calculating a respective estimated location based on the respective estimated number.
[0009] In some embodiments, calculating, for each cluster, an estimated number of those brachytherapy seeds in the seed group corresponding to the cluster comprises: Calculating the length of the major axis of the cluster; and calculating an estimated number of brachytherapy treatments in a seed group corresponding to the cluster based on the length.
[0010] In some embodiments, for each seed group, calculating the estimated positions of each of those brachytherapy seeds in the seed group includes calculating the estimated positions such that, for each estimated position, respective sub-clusters of 3D pixels corresponding to those brachytherapy seeds in the seed group are uniformly distributed along a major axis.
[0011] In some embodiments, for each seed group, calculating an estimated position of each of those brachytherapy seeds in the seed group comprises: Dividing the major axis into an estimated number of equal length segments; and for each estimated position, calculating the estimated position such that each sub-cluster is aligned with a major axis and centered on a segment.
[0012] In some embodiments, calculating the estimated positions includes calculating estimated center coordinates and an estimated direction vector of each of the brachytherapy seeds.
[0013] In some embodiments, the estimated location of each of the brachytherapy seeds is receiving a total number of brachytherapy seeds from a user; and calculating an estimated location of each of the brachytherapy seeds based on the count.
[0014] In some embodiments of the invention, a computer software product is further provided that includes a tangible, non-transitory computer readable medium having program instructions stored thereon, the instructions, when read by the processor, causing the processor to process a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more seed groups to identify respective clusters of 3D pixels of the image corresponding to the seed groups, the instructions further causing the processor to calculate an estimated position of each of the brachytherapy seeds based on respective dimensions of each cluster, and to store or communicate the estimated positions for use in calculating an effective dose of the brachytherapy seeds.
[0015] The present invention will be more fully understood from the following detailed description of embodiments thereof, taken in conjunction with the drawings, in which: [Brief description of the drawings]
[0016] [Figure 1]FIG. 1 is a schematic diagram of a system for calculating effective brachytherapy dose, according to some embodiments of the present invention. [Diagram 2] FIG. 2 is a flow diagram of an example algorithm for estimating the location of brachytherapy seeds, according to some embodiments of the present invention. [Diagram 3] FIG. 1 is a schematic diagram of a technique for estimating the location of brachytherapy seeds in a seed group based on the dimensions of a cluster of corresponding 3D pixels, according to some embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] (overview) After implantation of the brachytherapy seeds, an image of the implantation site is acquired. The physician (or another user) then marks the image to indicate the location of each seed. Based on the marked locations, a computer calculates the effective dose of the seeds, for example, using the American Academy of Physicists in Medicine (AAPM) Task Group 43 (TG-43) formalism. This calculation can help the physician decide whether it is necessary to move the seeds and / or implant additional seeds.
[0018] However, in some cases, seeds are embedded in groups, referred to herein as "seed groups," and the image does not clearly depict the individual seeds of a seed group. Moreover, while a user may know the total number of seeds embedded, the user may not need to know the number of seeds in each seed group. Furthermore, the image may not clearly depict adjacent seed groups. In such cases, it may be difficult and time consuming to mark each individual seed.
[0019] To address this challenge, embodiments of the present invention provide a system and method for automatically estimating the location of a seed. Following estimation, markers are overlaid on the image to indicate the estimated location. Thus, the user is not required to mark the image from scratch; instead, the user can easily adjust the estimated location by adding, removing, and / or moving markers.
[0020] Cleverly, rather than attempting to automatically identify each individual seed in an image (which can be prohibitively difficult), embodiments of the present invention identify clusters of 3D pixels that correspond to seed groups (i.e., represent the seed groups in the image) and then estimate the location of the seeds based on the respective dimensions of each cluster. Advantageously, this estimation can take advantage of prior knowledge of the shape and size of each seed, and the means by which the seeds were embedded.
[0021] For example, each seed may have a longitudinal (e.g., cylindrical) shape, and the seeds may be arranged from one end of the implantation needle to the other. Given this prior knowledge, each seed group may be assumed to have a linear array of seeds, and the number of seeds in a seed group may be accurately estimated by dividing the length of the major axis of the cluster corresponding to the seed group by the known length of each seed. The seeds may then be assumed to be uniformly distributed along the major axis.
[0022] In some cases, the first clustering algorithm applied to the image may erroneously return a single cluster corresponding to multiple adjacent seed groups. In such cases, the system may reject the cluster, i.e., refrain from estimating the number of seeds for the cluster, in response to the cluster being of abnormally large size. The system then applies another clustering algorithm to the image in an attempt to distinguish adjacent seed groups. For example, after applying a Bayesian Gaussian mixture model to the image, the system may apply a connected component clustering algorithm to the image.
[0023] (System Description) Reference is first made to FIG. 1, which is a schematic diagram of a system 20 for calculating effective brachytherapy dose, according to some embodiments of the present invention.
[0024] System 20 includes a processor 22, which may reside in a standard desktop computer 24, a laptop computer, a smartphone, a medical computer, a cloud server, or any other computing device. System 20 further includes memory 26, which may include volatile memory, such as random access memory (RAM), and / or non-volatile memory, such as a flash drive. Memory 26 may be located entirely on the same computing device as processor 22, or alternatively, at least a portion of the memory may be located remotely from the processor.
[0025] The memory 26 is configured to store data including, for example, a three-dimensional (3D) medical image 38 of a portion of the subject's body. The image 38 may be acquired using any suitable diagnostic procedure, such as computed tomography (CT), magnetic resonance imaging (MRI), or ultrasound.
[0026] Typically, system 20 also includes a network interface 25, such as a network interface controller (NIC), via which processor 22 is configured to exchange communications over a computer network, such as the Internet.
[0027] System 20 further includes a display 32 on which processor 22 can display any suitable data or output. For example, as shown in FIGURE 1, processor 22 can display slices 34 of images 38 on display 32. (Multiple image slices can be displayed simultaneously.) Each slice 34 can show the anatomical structure of a portion of the subject's body along with seed groups 36 of implanted brachytherapy seeds.
[0028] Due to the physical properties of brachytherapy seeds, seed group 36 contrasts with the surrounding anatomical structures. For example, in a CT image, seed group 36 is typically brighter than the surrounding anatomical structures. (For example, seed group 36 may appear white, as shown in FIG. 1, assuming cross-section 34 belongs to a CT image.) However, due to the proximity of seed groups to each other, advanced image processing techniques may be required to delineate the individual seed groups, for example, as described below with reference to FIG. 2.
[0029] In some embodiments, the display 32 includes a touch screen. Alternatively or in addition, the system 20 may further include a keyboard, a mouse, and / or any other input interface that can be used by a user to provide the various inputs described herein to the processor.
[0030] The memory 26 is further configured to store program instructions for processing the images 38 to facilitate calculating an effective dose of the brachytherapy seeds based on the estimated location of each of the brachytherapy seeds. Optionally, the memory 26 may further store program instructions for calculating the effective dose. The processor 22 is configured to read the instructions from the memory and execute the instructions.
[0031] Generally, the program instructions are grouped into modules. For example, the memory 26 may store an image processing module 28 that includes instructions for processing an image 38, and an effective dose calculation module 30 that includes instructions for calculating an effective dose.
[0032] To facilitate calculation of the effective dose, the processor 22 first calculates the estimated locations of each of the brachytherapy seeds in the seed group 36, as described in more detail below with reference to the next figure. The processor then stores or communicates those estimated locations for use in calculating the estimated dose of the seeds.
[0033] For example, for embodiments in which the processor calculates the effective dose, the processor can store the estimated location in memory 26. The processor can then read the estimated location from memory and then display at least a portion of the image with a marker 40 overlaid on the estimated location. For example, as shown in FIG. 1, the processor can display one or more image cutoffs with the overlaid marker 40. Alternatively, the processor can display a three-dimensional rendering of the image with the overlaid marker. The user can then adjust the estimated location by overlaying one or more additional markers, deleting one or more markers, and / or moving one or more markers. The processor can then calculate the effective dose based on the adjusted estimated location.
[0034] Alternatively, for embodiments in which a separate processor calculates the effective dose, processor 22 can communicate the estimated location (e.g., over a network interface) to the other processor, which can then perform the functions described above.
[0035] Generally, the processor can read program instructions and data from, and write data to, the memory over any suitable interface or interfaces, including network interface 25 if the memory is located remotely from the processor.
[0036] Generally, the processor 22 may be embodied as a single processor or as a cooperating network or clustered set of processors.
[0037] In some embodiments, the processor 22 is embodied as a programmed processor, such as a central processing unit (CPU) and / or a graphics processing unit (GPU). Program instructions, including software program instructions, and / or data are loaded for execution and processing by the CPU and / or GPU. The program instructions and / or data may be downloaded to the processor in an electronic manner, for example, over a network. Alternatively or additionally, the program instructions and / or data are provided to and / or stored on a non-transitory tangible medium, such as magnetic, optical, or electronic memory. Such program instructions and / or data, when provided to the processor, generate a machine or special purpose computer configured to perform the tasks described herein.
[0038] Alternatively, the functions of processor 22 may be implemented in hardware, such as, for example, one or more fixed function or general purpose integrated circuits, application specific integrated circuits (ASICs), and / or field programmable gate arrays (FPGAs).
[0039] (Calculate the estimated location of the seed) Reference is now made additionally to FIG. 2, which is a flow diagram of an exemplary algorithm 42 for estimating brachytherapy seed locations, according to some embodiments of the present invention.
[0040] As noted above, the processor 22 is configured to calculate an estimated location of each of the brachytherapy seeds implanted in the subject. This function may be performed, for example, by executing the algorithm 42.
[0041] The algorithm 42 begins with an optional receiving step 44 in which the processor receives an embedded seed number from a user. For example, the user may enter the number using a keyboard.
[0042] As described below, the processor may calculate an estimated location of the seeds based on the received numbers. For example, the processor may apply successive clustering algorithms until the number of identified seeds is at least equal to the number of embedded seeds. Additionally or alternatively, the number of embedded seeds may be provided as an input to the clustering algorithm. Additionally or alternatively, the processor may estimate the location of the seeds, subject to the constraint that the number of identified seeds does not exceed the number of embedded seeds.
[0043] In some embodiments, before depicting each seed group in image 38, the processor crops the image in a cropping step 46. For example, a user may draw a contour 70 around the seed groups in multiple cross-sections of image 38. The processor may then crop the image by defining a three-dimensional bounding box that bounds contour 70 and removing 3D pixels outside the bounding box.
[0044] (Notwithstanding FIG. 1, it should be noted that contours 70 are typically not visible after the seed locations have been estimated and markers 40 have been overlaid on the image.)
[0045] In some embodiments, the processor delineates the seed groups by applying one or more clustering algorithms to the image.
[0046] In some such embodiments, the processor first binarizes the image (e.g., the cropped image) in a binarization step 47. Following the binarization step 47, each 3D pixel in the image has a value of zero or one depending on whether the 3D pixel is presumed to belong to a seed group. For example, a 3D pixel that is presumed to belong to a seed group may have a value of one and all other 3D pixels may have a value of zero.
[0047] To perform this thresholding, the processor applies a threshold to the image. For imaging modalities where the seed group 36 is brighter than the surrounding tissue, any 3D pixel with a value greater than the threshold is presumed to belong to the seed group. For other imaging modalities, any 3D pixel with a value less than the threshold is presumed to belong to the seed group.
[0048] The processor can calculate the aforementioned threshold value by applying any suitable equation. For example, for a CT image in which the seed group is brighter than the surrounding tissue, the equation may be: T = max(X, max(I)-Z) Where: T is the threshold in Hounsfield units, max(I) is the maximum 3D pixel value in Hounsfield units in image I; X and Z are predefined constants in Hounsfield units derived from statistics of multiple CT images of implanted brachytherapy seeds. For example, X may be between 1500 and 2600, such as between 1800 and 2200, and / or Z may be between 1500 and 2000, such as between 1700 and 1900.
[0049] After binarizing the image (or if binarization step 47 is omitted), the processor applies a clustering algorithm to the image in a clustering step 48. The clustering algorithm identifies clusters of 3D pixels in the image, each cluster of 3D pixels potentially corresponding to a seed group. Examples of some clustering algorithms, each of which may be applied to an image, are described further below.
[0050] After the clustering step 48, the processor checks in a check step 50 whether the clustering algorithm returned any clusters of 3D pixels. If yes, the processor selects a cluster in a cluster selection step 52. The processor then checks whether the cluster corresponds at least approximately to a single seed group. If yes, the processor calculates an estimated number of seeds in the seed group.
[0051] In this regard, reference is now made to Figure 3, which is a schematic illustration of a technique for estimating the location of brachytherapy seeds in a seed group based on dimensions corresponding to a cluster 37 of 3D pixels, according to some embodiments of the present invention. (For ease of illustration, the cluster 37 is depicted in two dimensions.)
[0052] In general, the processor calculates an estimated number of each of the brachytherapy seeds in the seed group based on a dimension of each of the clusters of 3D pixels, and calculates an estimated location of the seeds based on the estimated numbers.
[0053] For example, in some embodiments, following selection of a cluster 37 in selection step 52, the processor calculates, in a computing step 54, the length L of the cluster's major axis 74. (In the context of this application, including the claims, the "major axis" of a cluster is the longest hypothetical line that passes through the cluster and has an end point on the perimeter of the cluster.) Then, in a checking step 55, the processor checks whether L is within a predetermined range. For example, after converting L from pixels (based on the image resolution) to a suitable unit of length, such as mm, the processor can check whether L is between b×s and (1−b+m)×s, where: s is the length of each seed (e.g., 10 mm); m is the maximum number of seeds (e.g., 6) that can be carried in the needle used for implantation, and thus the maximum number of seeds in the seed group; b is a predetermined constant between 0.5 and 1, for example 0.5. (Instead of converting L to units of length, the processor can convert s to pixels.)
[0054] If L is not within the predetermined range, it may be assumed that the cluster does not correspond to a single seed group. In particular, if L is too small, it may be assumed that the cluster corresponds to only a portion of a seed group. If L is too large, it may be assumed that the cluster corresponds to multiple seed groups, or to bones that may appear similar to brachytherapy seeds. Thus, if L is not within the predetermined range, the processor returns to check step 50.
[0055] On the other hand, if L is within a predetermined range, the cluster may be assumed to correspond to a single seed group. Thus, in another computing step 56, the processor calculates an estimated number N of brachytherapy seeds in the seed group based on the length L. For example, the processor may calculate N as L / s rounded to the nearest integer.
[0056] In another embodiment, in checking step 55, the processor checks whether L / s is within a predetermined range. For example, the processor can check whether L / s is between b and (1-b+m). If yes, the processor calculates N as, for example, L / s rounded to the nearest integer. Alternatively, the processor can first calculate N as L / s rounded to the nearest integer and then check whether N is greater than zero and less than or equal to m.
[0057] Subsequent to calculating N, the processor, in another computing step 58, calculates estimated locations of the seeds of the seed group corresponding to the cluster. For example, the processor may calculate the estimated locations such that, for each estimated location, a sub-cluster 76 of 3D pixels corresponding to the seed is uniformly distributed along the major axis 74. As a particular example, the processor may divide the major axis 74 into N equal length segments, as shown in FIG. 3 by the division indicator 78. The processor may then calculate, for each estimated location, an estimated location such that the sub-cluster 76 is aligned with the major axis 74 and centered (e.g., both radially and longitudinally) on the segment, respectively.
[0058] In general, the seeds are radially symmetric and the processor may calculate the estimated positions by calculating the estimated center coordinates 80 and estimated direction vectors 82 of each of the seeds. In other words, given that the seeds are radially symmetric, the estimated center coordinates 80 and estimated direction vectors 82 completely describe the estimated positions. For example, for an embodiment in which the estimated positions are calculated by dividing the major axis 74 as described above, the processor may calculate the estimated positions by calculating the center points of the segments and the unit vectors of the major axis 74. For illustrative purposes, FIG. 3 shows the estimated positions of the seeds with respect to a three-dimensional xyz coordinate system.
[0059] Alternatively, the estimated position may be represented by any other set of coordinates and / or vectors.
[0060] Following calculation of the estimated position, the processor returns to check step 50 .
[0061] If in check step 50 it is determined that there are no clusters remaining to be processed (or that no clusters were identified by the clustering algorithm), then in another check step 60 the processor checks whether all seeds have been identified by comparing the total number of identified seeds with the total number of embedded seeds received in receiving step 44. If all seeds have not been identified, then in another check step 62 the processor checks whether another clustering algorithm should be applied.
[0062] If another clustering algorithm is to be applied, the processor removes from the image any clusters where the seed locations have been estimated, in a cluster removal step 63. For example, if the seed groups are represented by 1's in the binarized image, the processor may set the 3D pixels of these clusters to zero.
[0063] On the other hand, if no clustering algorithms remain or all seeds have been identified, the processor stores or communicates the estimated location in a storing or communicating step 64. For example, the processor may store or communicate the center coordinate and direction vector of the estimated seed. (If the image has been cropped, storing or communicating step 64 transforms the estimated location from the coordinate system of the cropped image to the original coordinate system of the image.)
[0064] If the number of identified seeds is more or less than the number of embedded seeds, the processor may output a warning, for example, by displaying a warning on the display 32. In response to the warning, the user may add or remove markers 40 so that the number of markers equals the number of embedded seeds.
[0065] In some embodiments, the processor does not allow the number of identified seeds to be greater than the number of embedded seeds. Rather, the processor estimates the number of seeds in each seed group, subject to the constraint that the total estimated number does not exceed the number of embedded seeds.
[0066] In an alternative embodiment, the processor provides only a single clustering algorithm regardless of how many seeds are identified.
[0067] (Example of a clustering algorithm) As described above, the processor may apply one or more clustering algorithms to the image 38. Each clustering algorithm is configured to return one or more clusters of 3D pixels corresponding to a respective seed group 36.
[0068] For embodiments in which the image is binarized prior to application of any clustering algorithm, the 3D pixels are clustered based on their location in the image. For embodiments in which the image is not binarized, the 3D pixels may be clustered based on their location and based on their value.
[0069] In some embodiments, the clustering algorithm includes a Bayesian Gaussian mixture model. In embodiments where the image is binarized, the features of the model are the coordinates of each 3D pixel. In other embodiments, the features may further include the 3D pixel values and / or any functions thereof, such as the gradient of the 3D pixel values. The model may be initialized with the number of embedded seeds (received in receiving step 44) and the type of prior distribution. The model outputs the number of seed groups and the assignment of 3D pixels to seed groups.
[0070] In some such embodiments, the type of prior distribution is a Dirichlet distribution or a Dirichlet process. The order of the Dirichlet distribution can be a fraction of the number of embedded seeds, such as one-third, one-half, or two-thirds.
[0071] Additionally or alternatively, the clustering algorithm may include a connected component clustering algorithm (with a 6-neighborhood kernel for 3D clustering), for example, the connected component clustering algorithm may be applied after the Bayesian Mixture Model if the Bayesian Mixture Model does not produce a sufficient number of identified seeds.
[0072] Alternatively or additionally, the clustering algorithm may include a neural network clustering algorithm that utilizes a neural network.
[0073] Those skilled in the art will recognize that the present invention is not limited to what has been particularly shown and described herein. Rather, the scope of the embodiments of the present invention includes the various combinations and subcombinations of the features described herein, as well as variations and modifications not present in the prior art that would occur to one skilled in the art upon reading the foregoing description. Documents incorporated by reference into this patent application are considered to be an integral part of this application, and if any term in these incorporated documents is defined in a manner that is inconsistent with a definition expressly or impliedly made herein, then only the definition in this specification shall be considered.
Claims
1. a memory configured to store program instructions; 1. A processor comprising: reading the program instructions from the memory; Executing the program instructions processing a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more groups to identify respective clusters of 3D pixels in the image corresponding to said seed groups; For each of the clusters, calculating the length of the major axis of the cluster; and calculating an estimated number of brachytherapy seeds in the seed group corresponding to the cluster based on the length; calculating an estimated number of brachytherapy seeds for each of the seed groups by calculating an estimated location of each of the brachytherapy seeds based on the respective estimated numbers; storing or communicating the estimated positions for use in calculating an effective dose of the brachytherapy seeds; a processor configured to execute Including, the system.
2. The processor, displaying at least a portion of the image with markers overlaid on the estimated position to allow a user to adjust the estimated position by performing an action selected from the group of actions consisting of overlaying one or more additional markers, removing one or more of the markers, and moving one or more of the markers; calculating the effective dose based on the adjusted estimated position; The system of claim 1 , further configured to:
3. The system of claim 1 , wherein the processor is configured to process the image by applying a Bayesian Gaussian mixture model to the image.
4. The system of claim 1 , wherein the processor is configured to process the image by applying a connected component clustering algorithm to the image.
5. 5. The system of claim 1, wherein for each of the seed groups, the processor is configured to calculate the estimated positions of each of the brachytherapy seeds in the seed group such that the respective sub-clusters of 3D pixels corresponding to the brachytherapy seeds in the seed group are uniformly distributed along a major axis for each of the estimated positions.
6. For each of the seed groups, the processor: dividing said major axis into said estimated number of equal length segments; for each of said estimated positions, calculating said estimated positions such that sub-clusters are aligned on major axes and centered on segments; 6. The system of claim 5, configured to calculate the estimated positions of each of the brachytherapy seeds in the seed group by:
7. 5. The system of claim 1, wherein the processor is configured to calculate the estimated positions by calculating estimated center coordinates and an estimated direction vector of each of the brachytherapy seeds.
8. The processor, receiving a total number of brachytherapy seeds from a user; calculating the estimated locations of each of the brachytherapy seeds based on the total number; and The system of claim 1 , configured to calculate the estimated positions of each of the brachytherapy seeds by:
9. processing a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more seed groups to identify clusters of 3D pixels in the image that correspond to the seed groups; For each of the clusters, calculating the length of the major axis of the cluster; and calculating an estimated number of the brachytherapy seeds in the seed group corresponding to the cluster based on the length; calculating an estimated number of each of the brachytherapy seeds in the seed group by calculating an estimated location of each of the brachytherapy seeds based on the respective estimated numbers; storing or communicating the estimated positions for use in calculating an effective dose of the brachytherapy seeds; A method comprising:
10. displaying at least a portion of the image with markers overlaid on the estimated position to allow a user to adjust the estimated position by performing an action selected from the group of actions consisting of: overlaying one or more additional markers, removing one or more of the markers, and moving one or more of the markers; calculating the effective dose based on the adjusted estimated position; The method of claim 9 further comprising:
11. The method of claim 9 , wherein processing the image comprises processing the image by applying a Bayesian Gaussian mixture model to the image.
12. The method of claim 9 , wherein processing the image comprises processing the image by applying a connected component clustering algorithm to the image.
13. 13. The method of claim 9, wherein for each of the seed groups, calculating the respective estimated positions of the brachytherapy seeds of the seed group comprises calculating the additional estimated positions such that for each estimated position, respective sub-clusters of 3D pixels corresponding to the brachytherapy seeds in the seed group are uniformly distributed along the principal axis.
14. Calculating, for each of the seed groups, the respective estimated positions of the brachytherapy seeds within the seed group, dividing said major axis into said estimated number of equal length segments; for each of said estimated positions, respectively calculating said estimated positions such that said sub-clusters are aligned on a major axis and centered on said segment; The method of claim 13, comprising:
15. 13. The method of claim 9, wherein calculating the estimated positions comprises calculating the estimated positions by calculating estimated center coordinates and estimated direction vectors of each of the brachytherapy treatments.
16. Calculating the estimated locations of each of the brachytherapy seeds comprises: receiving a total number of brachytherapy seeds from a user; calculating an estimated location of each of the brachytherapy seeds based on the total number; and 13. The method of any one of claims 9 to 12, comprising:
17. 1. A computer software product comprising a tangible, non-transitory computer readable medium having stored thereon program instructions, the instructions, when read by a processor, causing the processor to: processing a three-dimensional image of a portion of a subject's body implanted with a plurality of brachytherapy seeds grouped into one or more seed groups to identify respective clusters of 3D pixels in the image that correspond to said seed groups; For each of the clusters, calculating the length of the major axis of the cluster; and calculating the estimated number of brachytherapy seeds in the seed group corresponding to the cluster based on the length; calculating an estimated number of each of the brachytherapy seeds in the seed group by calculating an estimated location of each of the brachytherapy seeds based on the respective estimated numbers; storing or communicating the estimated positions for use in calculating an effective dose of the brachytherapy seeds; (c) a computer software product that causes
18. The instructions cause a processor to: displaying at least a portion of the image with markers overlaid on the estimated position to allow a user to adjust the estimated position by performing an action selected from the group of actions consisting of overlaying one or more additional markers, removing one or more of the markers, and moving one or more markers; calculating an effective dose based on the adjusted estimated position; 20. The computer software product of claim 17, further comprising:
19. 20. The computer software product of claim 17, wherein the instructions cause the processor to process the image by applying a Bayesian Gaussian mixture model to the image.
20. 20. The computer software product of claim 17, wherein the instructions cause the processor to process the image by applying a connected component clustering algorithm to the image.
21. 21. The computer software product of claim 17, wherein for each of the seed groups, the instructions cause the processor to calculate an estimated position of each of the brachytherapy seeds in the seed group such that, for each of the estimated positions, respective sub-clusters of 3D pixels corresponding to the brachytherapy seeds in the seed group are uniformly distributed along the major axis.
22. For each of the seed groups, the instructions include: Dividing said major axis into said estimated number of equal length segments; for each of said estimated positions, respectively calculating said estimated positions such that said sub-clusters are aligned on said major axis and centered on said segment; 22. The computer software product of claim 21, causing the processor to calculate the estimated positions of each of the brachytherapy seeds in the seed group by:
23. 21. The computer software product of claim 17, wherein the instructions cause the processor to calculate the estimated positions by calculating estimated center coordinates and an estimated direction vector of each of the brachytherapy seeds.
24. The instruction: receiving a total number of brachytherapy seeds from a user; calculating the estimated locations of each of the brachytherapy seeds based on the total number; and 21. A computer software product according to any one of claims 17 to 20, causing the processor to calculate the estimated positions of each of the brachytherapy seeds by