{"id":1449,"date":"2024-05-22T12:37:36","date_gmt":"2024-05-22T10:37:36","guid":{"rendered":"https:\/\/montagnelab.com\/?page_id=1449"},"modified":"2025-10-14T16:48:31","modified_gmt":"2025-10-14T14:48:31","slug":"resources","status":"publish","type":"page","link":"https:\/\/montagnelab.com\/?page_id=1449","title":{"rendered":"Resources"},"content":{"rendered":"\n<p class=\"has-sitka-black-color has-text-color has-background has-link-color has-large-font-size wp-elements-75e150f53c93615826a72d008c50d006\" style=\"background:linear-gradient(90deg,rgb(254,205,165) 0%,rgb(254,45,45) 30%,rgb(107,0,62) 100%)\"><strong>MorphOMatic<\/strong><\/p>\n\n\n\n<p>MorphOMatic is a MATLAB-based app designed to extract cellular features across 2D microscopy slides.<\/p>\n\n\n\n<p>==> <a href=\"https:\/\/git.ecdf.ed.ac.uk\/achagnot\/morph-o-matic\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/git.ecdf.ed.ac.uk\/achagnot\/morph-o-matic<\/a><\/p>\n\n\n\n<p>For publications, MorphOMatic should be cited as:\u00a0<a href=\"https:\/\/doi.org\/10.5281\/zenodo.17350654\" target=\"_blank\" rel=\"noreferrer noopener\">10.5281\/zenodo.11198371<\/a>.<\/p>\n\n\n\n<p class=\"has-sitka-black-color has-text-color has-background has-link-color has-large-font-size wp-elements-2d8d3811d440c186641a75649e7a2763\" style=\"background:linear-gradient(90deg,rgb(254,205,165) 0%,rgb(254,45,45) 30%,rgb(107,0,62) 100%)\"><strong>VasOMatic<\/strong><\/p>\n\n\n\n<p>VasOMatic&nbsp;is an ImageJ macro dedicated to analysing vascular coverage by pericytes on large fields of view.&nbsp;ChunkAnalyzer&nbsp;is a R script for viewing and preprocessing the output tables of VasOMatic.<\/p>\n\n\n\n<p><strong>OVERVIEW<\/strong><\/p>\n\n\n\n<p>The VasOMatic macro was written using FIJI (FIJI is Just ImageJ, 10.1038\/nmeth.2019). First part of the algorithm is an interactive loop where users are invited to segment the vascular component of the image, using median smoothing, thresholding, and particle analysis to remove background noise and close holes in the mask. The quality of the vascular mask is critical, as it will serve as the foundation for the subsequent steps. A second interactive loop allows the user to segment the paravascular (e.g., pericytes, astrocyte endfeet, etc\u2026) part of the image. The second part of the algorithm splits the vascular mask into chunks using ImageJ\u2019s watershed function. The length, diameter, coverage, and paravascular signal are retrieved individually for each chunk, using skeleton measurement, distance mapping, and masks overlap, respectively. Results are finally displayed in three windows. The individual chunks data are shown in ImageJ\u2019s results window, vasculature characteristics are depicted as a cumulative graph of length vs. diameter, and the global results from the ROI, namely FOV dimensions, total vasculature length, diameter, and coverages are presented in ImageJ\u2019s log window.<\/p>\n\n\n\n<p><strong>HOW TO USE VASOMATIC<\/strong><\/p>\n\n\n\n<p><strong>Introduction:<\/strong>&nbsp;The VasOMatic macro aims to collect coverage data of one channel overlapping the vascular structure (pericytes in the given example) and plot them in relation to local vascular diameter. It can also be used to assess general vascular morphology such as diameter distribution and vascular density. The macro works on ImageJ 1.53, using Java 1.8.0_322. Please update ImageJ and\/or Java if any problems are observed.<\/p>\n\n\n\n<ul>\n<li><strong>Step 1<\/strong>: Load the VasOMatic.ijm into ImageJ with Plugin&gt;&gt;Macro&gt;&gt;Install\u2026<\/li>\n\n\n\n<li><strong>Step 2<\/strong>: Open your image on ImageJ.<\/li>\n<\/ul>\n\n\n\n<p><em>Note<\/em>: Whole section files (e.g., OME.TIFF) may be very large and difficult to handle without causing ImageJ to crash. Alternate softwares, e.g., QuPath, allow large 2D image handling and incorporate ImageJ.<\/p>\n\n\n\n<ul>\n<li><strong>Step 3<\/strong>: Select the image. If it is a subfield selected within FIJI\u2019s field of view, remove all exterior background by doing \u201cImage&gt;&gt;Clear outside\u201d prior to run the macro.<\/li>\n\n\n\n<li><strong>Step 4<\/strong>: Press F1 to run the macro. Alternatively, use \u201cPlugins&gt;&gt;Macros&gt;&gt;Run\u2026\u201d<\/li>\n<\/ul>\n\n\n\n<p><em>Note<\/em>: To change the bound key, open VasOMatic.ijm in a text editor and in the first line of the code replace \u201cf1\u201d by the key of your choice.<\/p>\n\n\n\n<ul>\n<li><strong>Step 5<\/strong>: In the \u201cChannel allocation\u201d window, allocate the channels accordingly. Projection type is relevant for z-stacks only and will apply the corresponding transform before treating the data, as the macro works on 2D images.<\/li>\n\n\n\n<li><strong>Step 6<\/strong>: In the \u201cMask adjustments\u201d window, specify the filtering options for vascular segmentation. Values are in pixel, and you will be able to change them if you are not satisfied with the segmentation run.<\/li>\n\n\n\n<li><strong>Step 7<\/strong>: Use the \u201cThreshold\u201d window to adjust for the initial segmentation of the vasculature. You can observe the changes in the \u201cVessel premask\u201d window. Once you are satisfied, press OK in the \u201cAction Required\u201d window.<\/li>\n\n\n\n<li><strong>Step 8<\/strong>: Check on the \u201cVessel mask overlap\u201d window that the mask (red) includes most of the vessels while leaving the background (gray). Once you approve the segmentation, press \u201cYes\u201d and proceed to Step 9. Otherwise, press \u201cNo\u201d to go back to Step 6.<\/li>\n\n\n\n<li><strong>Step 9<\/strong>: Similarly to Step 6, use the \u201cThreshold\u201d window to segment the paravascular signal (e.g., pericytes). Press \u201cOK\u201d when done.<\/li>\n\n\n\n<li><strong>Step 10<\/strong>: Similarly to Step 8, check the quality of the segmentation from the \u201cParavascular mask overlap\u201d window. Pressing \u201cNo\u201d will go back to Step 9, while pressing \u201cYes\u201d allows the macro to proceed.<\/li>\n<\/ul>\n\n\n\n<p><em>Note<\/em>: The macro may need to run for some time (a few mins for large images) after this step. Wait until the results window appear.<\/p>\n\n\n\n<ul>\n<li><strong>Step 11<\/strong>: Collect the data from the results windows and paste them in another file (e.g., Excel) for further analyses. General results are displayed in the \u201cVAS-O-MATIC RESULTS\u201d window. Individual values for the chunks are in the \u201cResults\u201d window. The \u201cVessel distribution\u201d graph is a cumulative histogram of the vascular diameter in relation to length.<\/li>\n<\/ul>\n\n\n\n<p><strong>HOW TO USE THE CHUNK ANALYZER<\/strong><\/p>\n\n\n\n<p><strong>Introduction:<\/strong>&nbsp;This part of the analysis uses the VasOMatic_Chunk_Analyzer.R script, which runs on R 4.2.0. Chunk data should be stored in a .csv file with headers organised as : Subject, Group, Replicate, ROI, Diameter, Length, Coverage, Signal. The first four are for identification purposes, fill with ones if unused. The last four are the direct output from VasOMatic. The script requires the following R packages: rlang, vctrs, data.table, ggplot2, forcats, svDialogs, abind, and matrixStats.<\/p>\n\n\n\n<ul>\n<li><strong>Step 1<\/strong>: Open the ChunkAnalyzer.R script in R (RGui or R Studio).<\/li>\n\n\n\n<li><strong>Step 2<\/strong>: Run the whole script. Use Edit&gt;Run All\u2026 in RGui, or Ctrl+Shift+Enter in R Studio.<\/li>\n<\/ul>\n\n\n\n<p><em>Note<\/em>: The script will ask you to download or update the required packages (rlang, vctrs, data.table, ggplot2, forcats, svDialogs, abind, and matrixStats) if they are not installed yet. Select a CRAN mirror and proceed.<\/p>\n\n\n\n<ul>\n<li><strong>Step 3<\/strong>: In the browser that opens, select the .csv file containing the chunks data to analyse. Data must be sorted as presented above.<\/li>\n\n\n\n<li><strong>Step 4<\/strong>: Confirm adequate detection of the groups, subjects, and ROIs.<\/li>\n\n\n\n<li><strong>Step 5<\/strong>: Select action in the &#8216;hub&#8217; window:&nbsp;<strong>New Dataset<\/strong>: Returns to Step 3.&nbsp;<strong>Bin Dataset<\/strong>: Groups the data in bins corresponding to vascular size for each subject on a given ROI, plots the results groupwise, and exports a .csv table ready for statistics.&nbsp;<strong>Scatterplot<\/strong>: Creates density maps for a ROI showing the distribution of data for the different groups or of a selected subject, or plots all ROIs of a single group. Plots can be saved as .png.&nbsp;<strong>Exit<\/strong>: Ends the script.<\/li>\n<\/ul>\n\n\n\n<p>VasOMatic code and sample data can be downloaded at:&nbsp;<a href=\"https:\/\/git.ecdf.ed.ac.uk\/achagnot\/vas-o-matic\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/git.ecdf.ed.ac.uk\/achagnot\/vas-o-matic<\/a>. VasOMatic\u2019s code can be used and modified freely. For publications, VasOMatic should be cited as:&nbsp;<a href=\"https:\/\/zenodo.org\/doi\/10.5281\/zenodo.11198371\" target=\"_blank\" rel=\"noreferrer noopener\">10.5281\/zenodo.11198371<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MorphOMatic MorphOMatic is a MATLAB-based app designed to extract cellular features across 2D microscopy slides. ==> https:\/\/git.ecdf.ed.ac.uk\/achagnot\/morph-o-matic For publications, MorphOMatic should be cited as:\u00a010.5281\/zenodo.11198371. VasOMatic VasOMatic&nbsp;is an ImageJ macro dedicated to analysing vascular coverage by pericytes on large fields of view.&nbsp;ChunkAnalyzer&nbsp;is a R script for viewing and preprocessing the output tables of VasOMatic. OVERVIEW The VasOMatic macro was written using FIJI (FIJI is Just ImageJ, 10.1038\/nmeth.2019). First part of the algorithm is an interactive loop where users are invited to segment the vascular component of the image, using median smoothing, thresholding, and particle analysis to remove background noise and close holes in the mask. The quality of the vascular mask is critical, as it will serve as the foundation for the subsequent steps. A second interactive loop allows the user to segment the paravascular (e.g., [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/pages\/1449"}],"collection":[{"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/montagnelab.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1449"}],"version-history":[{"count":6,"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/pages\/1449\/revisions"}],"predecessor-version":[{"id":1667,"href":"https:\/\/montagnelab.com\/index.php?rest_route=\/wp\/v2\/pages\/1449\/revisions\/1667"}],"wp:attachment":[{"href":"https:\/\/montagnelab.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}