Editing
Scanco Administration
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Analysis Topics== ===Cortical thickness analysis in standard evaluation=== !!Note - with ipl v5.42 this should be changed to <code>/dt_cortical_thickness</code> Use the IPL command <code>/dt_cortex_obj_param</code> to measure cortical thickness using direct methods. When extracting the results from the database using <code>uct_list</code>, specify the <code>UCT_3D_LIST_W_CTH.TXT</code> template in directory <code>DISK0:[MICROCT_COMMMON.UIL]</code>. <pre> $ uct_list UCT_LIST.EXE Version V5.1 Template-File [UCT_3D_LIST_SHEET]: DISK0:[MICROCT_COMMON.UIL]UCT_3D_LIST_W_CTH.TXT </pre> UCT_3D_LIST_W_CTH.TXT is now the default template as of March 2009. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Cortical porosity and finite element analysis on XtremeCT=== * This procedure is broken down into 3 separate components * All Scripts mentioned be copied directly from DISK3:[MICROCT.PROJECTS.KYLE.SCRIPTS] * Files should be copied from data to projects prior to running analysis (see bonelab procedures.doc on sodor) 1. Autocontour the image <br> 2. Calculate and extract cortical measurements <br> 3. Create FE files and run FE <br> ====Autocontour==== * The main autocontour script is located in the ue: directory, this should NOT be modified! * The procedure is executed using a "hijack" script [[Media:HIJACK_AUTOCONTOUR.TXT|'''HIJACK_AUTOCONTOUR.TXT''']], but the filename must be changed to .COM or found in the directory mentioned above. * Files should already have a _SEG.AIM created and should be in the same directory as the raw .AIM file. * You then create a SUBMIT.COM script as you would for other files. For example: $ QQ = "SUBMIT/NOPRINT/QUE=SCEVAL_FAST/LOG=SYS$SCRATCH com:HIJACK_AUTOCONTOUR.COM" $ 'QQ' /PARA=DISK3:[MICROCT.PROJECTS.'''PROJECT_NAME'''.MODELS]'''FILENAME'''.AIM * This command will then create various files for examination and further analysis. These include: ** FILENAME_COMBI.AIM - shows cortical, trabecular, and pores all in different colors ** FILENAME_COMBIPO.AIM - shows only the cortex with porosity as different color ** FILENAME_CRTXFILL.AIM - gives sold mask of cortex, porosity filled (can be used to calculate Ct.Th) ** FILENAME_CRTXPO.AIM - shows only the pores ** FILENAME_TRAB.GOBJ - gobj of trabecular region ** FILENAME_CRTX.GOBJ - gobj of cortical region ** FILENAME_AUTO2.GOBJ - gobj of whole bone region * Further technical details and references can be found in the following publications: ** Buie, H., Campbell, G., Klinck, R., MacNeil, J., & Boyd, S. (2007). Automatic segmentation of cortical and trabecular compartments based on a dual threshold technique for in vivo micro-CT bone analysis. Bone, 41(4), 505-515. ** K.K. Nishiyama, Macdonald, H., Buie, H., Hanley, D., & Boyd, S. (2010). Postmenopausal Women With Osteopenia Have Higher Cortical Porosity and Thinner Cortices at the Distal Radius and Tibia Than Women With Normal aBMD: An In Vivo HR-pQCT Study. Journal of Bone and Mineral Research, 25(4), 882-890. ====Evaluate Cortex==== *This Step 2 method of doing the cortical analysis is no longer used now that we have the IPL_UPAT_CALGARY_EVAL_XT1.COM or XT2.COM version. The problem with this approach is that it is a Frankenstein of the standard analysis and the advanced analysis. The cortical bone assessment is correct, but the trabecular compartment from the standard analysis is not a perfect match. Instead, we should be using the GOBJs described in IPL_UPAT_CALGARY_EVAL_XT1.COM so that we have a perfect mix. Nevertheless, we keep this information here for now for posterity. *After the autocontour is computed we used to call IPL_EVAL_CORTEX.COM that will calculate the cortical parameters: **Cortical porosity (%) **Direct cortical thickness (mm) **Cortical density (mg HA/ccm) This WAS called as the following: $ QQ = "SUBMIT/NOPRINT/QUE=SCEVAL_FAST/LOG=SYS$SCRATCH com:IPL_EVAL_CORTEX.COM" $ 'QQ' /PARA=DISK3:[MICROCT.PROJECTS.'''PROJECT_NAME'''.MODELS]'''FILENAME.AIM''' - /LOG=DISK3:[MICROCT.PROJECTS.'''PROJECT_NAME'''.LOG]'''FILENAME'''_EVAL_CRTX.LOG * The results of this script are outputed into individual log files for each file being evaluated. * To extract these results into one file use: $ search/output=output_results_filename.txt *EVAL_CRTX.LOG "!% ov/tv","!> C.Th","!% mean_unit" *A learn command in the eve editor can be used to extract the specific results desired: **!% ov/tv is the amount of bone in the cortex (ie. 1- ov/tv = cortical porosity) **!> C.Th is the direct cortical thickness in mm **!% mean_unit is the cortical density in mg HA/ccm ====Create and run FE models==== *The most current common FE model to run is a homogeneous model where all elements have the same material properties and the cortex and trabecular regions are labeled separately in order to determine the percentage of load carried by each region. *The other option is to create a model where the material properties are scaled based on the density values and scripts for this can be found in the COM directory. *The script IPL_FEM_HOMOGEMOUS_LS.COM will use files created by the autocontour and appropriately label the cortex and trabecular regions as well as remove any disconnected pieces of bone. $ QQ = "SUBMIT/NOPRINT/QUE=SCEVAL_FAST/LOG=SYS$SCRATCH com:IPL_FEM_HOMOGENOUS_LS.COM" $ 'QQ' /PARA=DISK3:[MICROCT.PROJECTS.'''PROJECT_NAME'''.MODELS]'''FILENAME'''.AIM *Files will now be created with the suffix _HOM_LS.AIM and can be moved to Mighty-Mac or Mavis for FE analysis. You will require user accounts for these computers and can contact Eric or Steve. If using FTP be sure to transfer the files in binary mode (further documentation on this can be found in this Wiki) *[[Media:2009-10-15_FEM_Tutorial.pdf|'''FEM tutorial main steps''']] to submit the FE files with a detailed manual is recommended for first time users. *This is now out of date, but is kept here because it still contains useful information about preparing AIM files and post-processing. *For running the FE itself, please refer to the current manual at [[FAIM Finite Element Solver]]. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Cortical midshaft analysis with moment of inertia calculation=== This explains what happens when you type <pre> $ midshaft ! or $ eval_midshaft </pre> Draw a rough contour around your slices: open the Contouring Sub-window, double-click on the big image, and it automatically finds the best contour. Then click on 'Selection' 'Forwards', then 'Iterate Forwards'. Then 'cancel' the contouring sub-window, and start the 3D evaluation. Make sure you have already set the correct threshold, sigma, support in file <pre>DISK2:[MICROCT.EVAL]IPL_FIXED_BATCH_MIDSHAFT.COM</pre> When you type <pre>$ show queue</pre> you should find a job called UCT_EVALUATION_MIDSHAFT and a SYS$SCRATCH:*_MIDSHAFT_*.LOG The IPL_FIXED_BATCH_MIDSHAFT.COM by default does not calculate the direct measurement results because you must have many more than 20 slices for these to be valid. You can uncomment these parts of the file if you contoured the whole stack (i.e., stack thickness is >> than cortex thickness). TILDE: Note that you will see lots of tildes (~) on the result sheets. This is to tell you that, if the measurements were trabecular bone, those values would only be approximate. But now for the cortex, they are actually correct! (see below for more explanation about this) I would now use the tildes to check the 'excel' table that the operator has taken the correct script for the trab. or cort. evaluations for the respective measurements! So what's the advantage of all this? Now, also VOX-TV is correct! So VOX-TV is the whole area, VOX-BV the doughnut, so TV - BV is the marrow area! And still, TRI-Tb.Th is the cortical thickness (TRI-TV is NOT correct, because the .gobj feature was turned off). I say 'area' above: depending on how many slices one individual scan has, VOX-BV (and VOX-TV) might be different for different scans, so you will HAVE to convert the volumes to area again: <pre> volume equals area times height --> Bone Area = VOX-BV / height = BV / (dim.z * el_size_mm.z) </pre> and same for Total area, of course :-) POROSITY: If you want porosity of the bone itself draw two contours: one around, counter-clockwise, on on the inside, clock-wise (thus a 'negative', excluding contour). Now, TV will be just that ring area, BV will be the bone within that ring area, and BV/TV will be 1 - porosity, thus BV/TV 94% means 6% porosity. METAPHYSIS: Application of this script to metaphysis scan (with trab. in middle): <pre> $ midshaft </pre> Draw one contour around the cortex, and in the same slices, a NEGATIVE contour on the inside (CW contour) to exclude the trabecular bone. You may potentially work with the BP (break-point) system to be able to morph the negative contours, even though there is already an 'outer' contour around the bone in every slice. Start 3D eval, read out the data-base with <code>$ uct_list</code>. NOTE: You CANNOT give the .gobj a special name such as c0001234_cortex.gobj if you are using the automatic evaluation button on UCT_EVALUATION. Only after the eval (or midshaft eval) has finished, you may copy it to a more meaningful name, but all of the evaluations are just taking the STANDARD gobj name! Afterwards (after renaming or copying the _seg.aim to _cortex.aim, and .gobj to _cortex.gobj), you may want to start the very normal eval with normal (inner) contours to evaluate the trabecular compartement. <pre> Remember: the values in our 3D result database then are OVERWRITTEN. </pre> If you have a large study, I would recommend to run the $ midshaft for ALL samples, <code>$ uct_list</code> to e.g. <code>sys$scratch:mystudy_cortex.txt</code>, rename/copy gobj and seg for all, and THEN run the trabecular evaluation for all samples. <code>$ uct_list</code> and you have two nice complete excel sheets. NOTE ON PLATE MODEL: More explanations of why the plate model is correct Assume a ring (cortex). <pre> Area = thickness * 'middle line'. 'middle line' = average of outer and inner circumference --> 'middle line' = 0.5 * 'bone surface' --> thickness = bone volume * 2 / bone surface. </pre> And this is nothing else but the 'plate model' formula for Tb.Th! NORMAL TRABECULAR EVALUATION? And why not just run the 'normal trabecular eval'? Because in the 'normal' TRI calculation, we are EXCLUDING all surfaces that are created artificially by a gobj line that cuts through a trabecula. However, for the midshaft, this means the whole outer (or even inner, if also inner contour is there) is SUPPRESSED, because it is touching the gobj line. So this is where that midshaft script comes in: it turns off that suppression. MORE EXPLANATIONS: Why the direct DT-Tb.Th* is NOT correct for a scan with just 12 slices. If we fill the structure with spheres, those spheres should be bounded by the width of the cortex, not just by the fact that we only have 12 slices (and even more so, we are always doing 'aim box' suppression with the spheres) if a sphere touches the boundary of the aim box, it is suppressed! So this is quite crucial for Tb.Sp and Tb.N. To get meaningful Tb.Sp, you would need a LOT of slices. Also, then, you cannot have the inner contour - otherwise the negative inner contour will delete the Tb.Sp. spheres. If you have enough slices, you may opt to turn the <code>/dt_object</code> on again in the midshaft script (second half). Then DT-Tb.Th* and TRI-Tb.Th just have a slightly different behaviour if there are little pores within the cortex: <pre> TRI: the little pore just adds a little BS, thus the influence is not that big. DT: the little pore cuts the thickness sphere in half, thus at that location, the thickness is halved. </pre> MEAN1 and MEAN2: The script is also calculating Mean1 and Mean2 now. <pre> Mean1: 'apparent' density, average over whole TV Mean2: 'tissue' density: average over what was segmented as bone only. </pre> These mean values will be in mg HA/ccm if you have the calibration option for bone density installed (and activated for those scans). Remember: the bone has to have some soft-tissue (or equivalent) on the inside, and preferably also on the outside then. [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Joint Thickness Measurements=== *Sample script to search histogram files for results: [[Media:Summarize_Joint_Th_Measurements.pdf|Summarize Joint Th Measurements]] [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']] ===Scanco Joint Space Width (JSW) analysis=== The scripts published in [https://doi.org/10.21037/qims.2019.12.11 Stok et al. 2020], and released by Scanco, are available for XCT1 and XCT2. On XCT2 they have been installed as Tasks #112 to #116. Instructions to run this analysis are available here [[Media:ESD_Joint_Space_Width_v2.3.pdf]]. The full citation for this work is: <pre> Stok KS, Burghardt AJ, Boutroy S, Peters MPH, Manske SL, Stadelmann V, Vilayphiou N, van den Bergh JP, Geusens P, Li X, Marotte H, van Rietbergen B, Boyd SK, Barnabe C; SPECTRA Collaboration. Consensus approach for 3D joint space width of metacarpophalangeal joints of rheumatoid arthritis patients using high-resolution peripheral quantitative computed tomography. Quant Imaging Med Surg. 2020 Feb;10(2):314-325. doi: 10.21037/qims.2019.12.11. PMID: 32190559; PMCID: PMC7063288. </pre> [[Image:Redirect.jpg|15px]] [[#top|''Return to Contents'']] or [[Main_Page|''Return to Main Page'']]
Summary:
Please note that all contributions to bone.wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
BoneWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
associated-pages
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Documents
Recent changes
Help
Tools
What links here
Related changes
Page information