Examples
Applying Face De-Identification, BSE, and Fuzzy C-Means
In this example, we will to show you how to record a script, and then run it in via the Scripting menu. The script includes:
1 Applying the Face De-Identification algorithm;
2 Applying the Extract Brain Surface (BET) algorithm;
3 And finally, performing brain segmentation using the Fuzzy C-Means > Single Channel algorithm.
Open an image of interest and then, press Start Recording Script button on the Scripts toolbar. The Record New Script dialog box appears indicating that recording a script is started.
Recording the Face De-Identification algorithm execution:
1 Call Algorithms > Brain Tools > Face De-Identification;
2 The Anonymize Face dialog box opens;
3 Fill out the dialog box as shown in Figure 19. The right column displays the script text corresponding to the dialog box options;
4 Press OK to run the algorithm.
FaceAnonymizerBET("input_image_1 ext_image $image1", "face_orientation int 2", "mms_to_delete_from_face int 15", "vertical_deletion_limit_ratio float 0.33", "bet_do_estimate_with_sphere boolean true", "bet_image_influence float 0.01", "bet_stiffness float 0.015")
|
After the algorithm finishes running and the result image appears on the screen, make the result image active and call the next Extract Brain Surface (BET) algorithm.
Recording the BET algorithm execution:
1 Call Algorithms > Brain Tools > Extract Brain Surface (BET);
2 The Extract Brain dialog box opens;
3 Fill out the dialog box as shown in Figure 20. The right column displays the part of the script corresponding to the dialog box options;
4 Press OK to start the algorithm.
ExtractBrain("input_image_1 image $image1", "orientation_type int 0", "do_use_sphere_estimation boolean false", "do_show_just_init_ellipse boolean false", "num_iterations int 100", "depth int 11", "image_ratio float 0.2", "stiffness float 0.15", "do_second_stage_erosion boolean false", "factor_above_median_to_erode float 0.0", "do_extract_paint boolean false", "do_init_with_center_of_mass boolean true", "init_center_point list_float 114.22103,75.82523,94.18212")
|
After the algorithm finishes running and the result image appears on the screen, make the result image active and call the last algorithm - Fuzzy C-Means > Single Channel.
Recording the Fuzzy C-Means > Single Channel algorithm execution:
1 Call Algorithms > Segmentation > Fuzzy C-Means > Single Channel;
2 The Fuzzy C-Means dialog box opens;
3 Fill out the dialog box as shown in Figure 21. The right column displays the part of the script corresponding to the dialog box options;
4 Press OK to start the algorithm.
FuzzyCMeans("input_image_1 image $image1", "number_of_result_images int 4", "do_process_whole_image boolean true", "number_of_classes int 3", "exponent_q float 2.0", "do_crop_background boolean true", "threshold float 0.01", "end_tolerance float 0.01", "max_iterations int 200", "segmentation_type int 0", "centroids list_float 8318.767,20926.652,33534.54")
|
After the algorithm finishes running and the result image appears on the screen, close all intermediate images, and then save the final image.
Now, save the script. You might consider to add comments to the script text. In order to do that,
1 Click the Insert Comment icon located on the Record New Script dialog box toolbar;
2 The Enter Comment window appears;
3 Type in the comment and press OK;
4 The comment text appears in the Record New Script dialog box;
5 Save the script;
6 Close the dialog box.
To run the script via the Scripts menu
1 Call Scripts > Run Script from the main MIPAV menu;
2 Select the script you've just recorded, and press OK;
3 The MIPAV Script Tool dialog box opens;
4 In the dialog box, use the Add Images from File button to select and add images, on which you wish to run the script, to the Images window;
5 Then, use the mouse to drug images from the Images window to the Script Execution Setup window. Refer to Figure 22 and "Adding images to the Script Execution Setup";
6 Press Run Script.
The script starts running and the intermediate images and progress bars appear on the screen. See Figure 23.
When the algorithm finishes running, the progress bars disappear, and the results replace the original and intermediate images.
Script
The script text is shown below. Note that the comment strings included in the script start with "#".
Cloning images, adding margins, and applying gaussian blur
In this example, we will to show you how to record the script that does the following:
1 Clones an active image;
2 Adds margins to the clone;
3 Applies the Gaussian Blur algorithm to the clone, and produces the second clone;
4 Closes the original image and saves the clones.
To get started,
open an image of interest and then, press Start Recording Script button. The Record New Script dialog box appears indicating that recording a script is started, see Figure 24.
1 Call the Utilities > Clone (Copy). This clones the active image and the following string appears in the Recording Script dialog:
Here, ext_ indicates that this image is not produced within the script, but must be selected by a user.
Here, the command in the script is Clone. This command clones an image which is labeled as $image1 in the script, and then passes it as input_image_1 parameter to the Clone operator.
2 Now, select the clone image and call Utilities > Add Image Margins. In the Add Image Border dialog box, specify the margins as shown in Figure 25 and press OK.
In the dialog box: 20 points margins are added to the top, bottom, left and right sides of the image The Replace Image option is checked indicating that the modified image will appear in the same frame
|
This adds margins to the image clone1, and the following string appears in the Recording Script dialog:
Here, the command in the script is AddMargins(parameter1,...parameterN). Script parameters are as follows:
- "input_image_1 image $image2" shows that the script applies to the active image clone
- "do_output_new_image boolean false" indicates that the new image (with margins) appears in the same image frame replacing the old one[4]
- "left_side int 20", "right_side int 20", "top_side int 20", "bottom_side int 20" are the image margins, refer to Figure 25
- "front int 0", "back int 0" indicates that there are no slices added to the front and back of the image, refer to Figure 25
- "margin_value double -5213.51513671875" - the margin fill value for grayscale images
- "margin_value_rgb list_double 0.0,0.0,0.0" - the margin fill value for RGB images
For the first time, use the default parameters for Scale of Gaussian, Options, and Color Channel Selection Check the Destination > New Image option Check the Process > Whole Image option Press OK
|
This applies the Gaussian Blur algorithm to the image clone, which now has margins added, and the following string appears in the Recording Script dialog:
Here, the command in the script is GaussianBlur(parameter1,...parameterN). The parameters are as follows:
- "input_image_1 image $image2" shows that the script applies to the image clone
- "do_output_new_image boolean true" indicates that the new image appears in a image frame
- "do_process_whole_image boolean true" indicates that the algorithm is applied to the whole image (not only to VOI regions)
- "do_separable_convolution boolean true" corresponds to checking the Use Separable Convolution Kernels option in the dialog box. For more information, refer to Volume 2 Algorithms, Section "Applying the Gaussian Blur algorithm". < br />
See Figure 27.
A
|
B
|
C
|
Applying gaussian blur and gradient magnitude
In this example, we want to show you the script that does the following:
1 Clones an image;
2 Apples Gaussian Blur to the clone;
3 Saves the clone;
4 Then, applies Gradient Magnitude to the saved clone;
5 Saves the result.
To get started,
open an image of interest and then, press the Start Recording Script button. The Record New Script dialog box appears indicating that recording a script is started. Refer to Figure 24.
See also Figure 28 (Gaussian Blur).
See also Figure 28 (Gradient Magnitude).
Figure 28 shows the options selected for the Gaussian Blur and Gradient Magnitude algorithms. You might consider to compare the parametes chosen in the dialog boxes with the corresponding text of the script as it shown in step 2 and step 4.
Extracting a surface from a VOI
In this example, we want to show you how to record the script which includes:
1 Delineating a VOI on the opened image
2 Extracting a surface from the VOI
Please, remember that to apply VOIs to images in scripts, you need to create and save the VOIs in advance of creating a script, and then, open and apply the VOIs while you are recording the script. In this example, we will use the VOI which helps extract the cerebellum from the brain image. See Figure 29.
To delineate the VOI on the image, use the Draw Polygon/Polyline VOI tool from the MIPAV toolbar. After you've created the VOI, save it through the VOI >Save VOI command.
|
Open an image of interest and then, press Start Recording Script button. The Record New Script dialog box appears indicating that recording a script is started.
Here, the command in the script is OpenVOI(parameters); in other words, apply a VOI to $image1, which is listed in the parameters list with a label input_image_1.
2 Now, select the VOI and then call Algorithms > Extract Surface (marching cubes).
3 In the Extract Surface dialog box that appears, specify the algorithm parameters as shown in Figure 30, then press OK.
4 The following string appears in the Record New Script dialog box:
Here, the command in the script is ExtractSurfaceCubes(parameter1,..parameterN). The parameters are as follows:
- "input_image_1 image $image1" indicates that the script is applying to the image
- "extraction_type string VOI" corresponds to selecting the VOI region option in the dialog box and indicates that the algorithm is applied only to the image region bounded by the VOI
- "do_decimate boolean true" corresponds to checking the Decimate Surface parameter in the dialog box
- "file_name string brain.sur" indicates that the extracted surface will be saved as the brain.sur file
- "do_blur_before_extraction boolean false" - shows that there is no blurring will be applying to the image before extraction. This corresponds to not checking the Blur by (Std.Dev.) checkbox
- "blur_std_dev float 0.5" - the default value for the Blur by (Std.Dev.) parameter. It is only used if the above parameter is set to true
Check the VOI Region checkbox; Check the Decimate Surface parameter; Do not check the Blur by checkbox; Enter the surface file name; Press OK.
|
Examples of working scripts
Below are the summary of the scripts that were used as examples in Section "Examples:". Comments using in the scripts are shown as #comment.