Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIVET stage 47. thickness_tlink_20mm_right

Similar presentations


Presentation on theme: "CIVET stage 47. thickness_tlink_20mm_right"— Presentation transcript:

1 CIVET stage 47. thickness_tlink_20mm_right
49.resample_left_mean_curvature Ku Yoon Jeong

2 Stages nuc_t1_native skull_masking_native stx_register stx_tal_to_7
nuc_inorm_t1 skull_removal nlfit mask_classify pve_curvature pve reclassify segment cls_volumes cortical_masking segment_volumes surface_classify artefact create_wm_hemispheres segment_mask expand_from_white_left expand_from_white_right slide_left_hemi_obj_back flip_right_hemi_obj_back slide_right_hemi_obj_back calibrate_left_white calibrate_right_white laplace_field gray_surface_left gray_surface_right mid_surface_left mid_surface_right surface_fit_error verify_image_nlfit gyrification_index_left verify_brain_mask classify_qc dataterm_left_surface brain_mask_qc gyrification_index_right dataterm_right_surface surface_registration_left surface_registration_right mean_curvature_20mm_left mean_curvature_20mm_right thickness_tlink_20mm_right thickness_tlink_20mm_left resample_left_mean_curvature resample_right_mean_curvature resample_right_thickness resample_left_thickness lobe_area_right lobe_area_left verify_clasp verify_image

3 47. thickness_tlink_20mm_right
-모듈: Cortical_Measurements.pm -Label: “native thickness” -실행명령: bin/cortical_thickness(s) bin/xfminvert bin/transform_objects bin/average_surfaces bin/dump_rms bin/diffuse -입력: /surfaces/ mni_icbm_00340_white_surface_right_calibrated_81920.obj /surfaces/ mni_icbm_00340_gray_surface_right_81920.obj -출력: native_rms_tlink_20mm_right.txt -의존성: surface_registration_left(stage 43), surface_registration_right(stage 44) xfminvert ../transforms/linear/mni_icbm_00340_t1_tal.xfm /usr/tmp/cortical_thickness_16712//inv_trans.xfm transform_objects ./surfaces/mni_icbm_00340_white_surface_right_calibrated_81920.obj /usr/tmp/cortical_thickness_16712//inv_trans.xfm /usr/tmp/cortical_thickness_16712//white_trans.obj xfminvert ../transforms/linear/mni_icbm_00340_t1_tal.xfm /usr/tmp/cortical_thickness_16718//inv_trans.xfm transform_objects ../surfaces/mni_icbm_00340_white_surface_right_calibrated_81920.obj /usr/tmp/cortical_thickness_16718//inv_trans.xfm /usr/tmp/cortical_thickness_16718//white_trans.obj transform_objects ../surfaces/mni_icbm_00340_gray_surface_right_81920.obj /usr/tmp/cortical_thickness_16718//inv_trans.xfm /usr/tmp/cortical_thickness_16718//gray_trans.obj average_surfaces /usr/tmp/cortical_thickness_16718//midSurface.obj none none 1 /usr/tmp/cortical_thickness_16718//white_trans.obj /usr/tmp/cortical_thickness_16718//gray_trans.obj 1: /usr/tmp/cortical_thickness_16718//white_trans.obj 2: /usr/tmp/cortical_thickness_16718//gray_trans.obj Objects output. dump_rms /usr/tmp/cortical_thickness_16718//white_trans.obj /usr/tmp/cortical_thickness_16718//gray_trans.obj ./native_rms_tlink_20mm_right.txt Rms over the points: Average dist: Std dev dist: Min dist: Max dist: Elapsed time in cortical_thickness (16718) and children: 2.57 sec (user) sec (system) = 2.64 sec (total)

4 ##### Calculation of the cortical thickness in native space #####
##### Right hemisphere ##### ${$pipeline_ref}->addStage( { name => "thickness_${tmethod}_${tkernel}mm_right", label => "native thickness", inputs => [$white_right, $gray_right, $t1_tal_xfm], outputs => [$native_rms_right], args => ["cortical_thickness", "-${tmethod}", "-fwhm", ${tkernel}, "-transform", $t1_tal_xfm, $white_right, $gray_right, $native_rms_right], prereqs => $Prereqs }); [Command line] cortical_thickness -transform ../transforms/linear/mni_icbm_00340_t1_tal.xfm -tlink -keeptmp -noclobber ../surfaces/mni_icbm_00340_white_surface_right_calibrated_81920.obj ../surfaces/mni_icbm_00340_gray_surface_right_81920.obj ./native_rms_tlink_20mm_right.txt [Option] -transform : transformation from native to stereotaxic (if surfaces in stx space) -tlink: use t-link method for thickness -tnear: use t-near method for thickness -tnormal : use t-normal method for thickness -tlaplace: use t-Laplace method for thickness -tnear use t-near method for thickness -notnear opposite of -tnear [default] -tnormal use t-normal method for thickness -notnormal opposite of -tnormal [default] -tlaplace use t-Laplace method for thickness

5 Cortical Thickness measurements
Reference

6 cortical_thickness source & logs
if( defined $transform_xfm ) { my $white_trans = "${TmpDir}/white_trans.obj"; my $gray_trans = "${TmpDir}/gray_trans.obj"; my $inv_trans = "${TmpDir}/inv_trans.xfm"; &run( "xfminvert", $transform_xfm, $inv_trans ); &run( "transform_objects", $white, $inv_trans, $white_trans ); &run( "transform_objects", $gray, $inv_trans, $gray_trans ); $white = $white_trans; $gray = $gray_trans; } [Command line] xfminvert ../transforms/linear/mni_icbm_00340_t1_tal.xfm inv_trans.xfm transform_objects :[Transforms the input objects by the input transform] mni_icbm_00340_white_surface_right_calibrated_81920.obj ./inv_trans.xfm ./white_trans.obj (3) transform_objects mni_icbm_00340_gray_surface_right_81920.obj ./inv_trans.xfm ./gray_trans.obj (4) average_surfaces average_surfaces midsurface.obj none none 1 ./white_trans.obj ./gray_trans.obj Usage: average_surfaces output.obj none|rms_file none|variance_file n_groups [input1.obj] [input2.obj] ...

7 Native Space White Matter Gray Matter Mid-Surface

8 cortical thickness measurement
if( $tlink ) { # also: &run( "diff_surfaces", $white, $gray, "link", $output ); &run( "dump_rms", $white, $gray, $output ); } if( $tnear ) { &run( "diff_surfaces", $white, $gray, "near", $output ); } if( $tnormal ) { &run( "diff_surfaces", $white, $gray, "normal", $output ); } # Blur the cortical thickness on the mid-surface in new space. if( $fwhm gt 0 ) { my $output_blurred = "${TmpDir}/thickness_blurred.mnc"; &run( "diffuse", "-kernel", $fwhm, "-iterations", 1000, "-parametric", 1, $midSurface, $output, $output_blurred ); &run( "mv", "-f", $output_blurred, $output ); } [Command line] dump_rms white_trans.obj gray_trans.obj ./native_rms_tlink_20mm_right.txt [cf. diff_surfaces white_trans.obj gray_trans.obj link link_test.txt] ->dump_rms와 동일 Rms over the points: Average dist: Std dev dist: Min dist: Max dist: cortical thickness measurement Blur diffuse -kernel 20 -iterations parametric 1 ../midsurface.obj ../link_test.txt ../diffuse_cth_blur.mnc >> ../blur.txt

9 [Command line] (2) diffuse -kernel 20 -iterations parametric 1 ../midsurface.obj ../link_test.txt ../diffuse_cth_blur.mnc Usage: diffuse [-kernel FWHM] [-iterations n] [-parametric p] file.obj input_signal.txt output_signal.txt Values: FWHM > 0 (in mm, default 20mm) n > 0 (default 100) p = 0 (linear) or 1 (quadratic, default) or 2 (heat kernel) (3) mv diffuse_cth_blur.mnc ./diffuse_cth_blur.txt Iter 0 #clipped = 6287 Iter 50 #clipped = 89492 Iter 100 #clipped = 46709 Iter 150 #clipped = 32698 Iter 200 #clipped = 25875 Iter 250 #clipped = 22523 Iter 300 #clipped = 19436 Iter 350 #clipped = 18069 Iter 400 #clipped = 16261 Iter 450 #clipped = 14269 Iter 500 #clipped = 13199 Iter 550 #clipped = 12385 Iter 600 #clipped = 11386 Iter 650 #clipped = 11110 Iter 700 #clipped = 10318 Iter 750 #clipped = 9366 Iter 800 #clipped = 9008 Iter 850 #clipped = 8553 Iter 900 #clipped = 8226 Iter 950 #clipped = 7899 cortical thickness 명령어를 사용할 때 –fwhm 옵션을 주어야 이 명령어가 작동한다.

10 if( $tlaplace ) { if( defined $transform_xfm ) { #when transformation is given, transform both surfaces(done above) and icbm model to native space (ugly!) my $icbmModel = "0.50"; my $ModelDir = "$FindBin::Bin/../share/ICBM/"; = ("icbm_template_${icbmModel}mm.mnc"); MNI::DataDir::check_data($ModelDir, &run( "mincresample", "-quiet", "$ModelDir/icbm_template_${icbmModel}mm.mnc", "-transform", $transform_xfm, "-invert", "-tfm_input_sampling", "-step", "0.5", "0.5", "0.5", "-clobber", "${TmpDir}/laplace_like_file.mnc" ); &run( "laplacian_initialisation", "-like", "${TmpDir}/laplace_like_file.mnc", $gray, $white, "${TmpDir}/laplace_initial.mnc" ); unlink( "${TmpDir}/laplace_like_file.mnc" ); } else { # assume transformation is identity, so surfaces are already in icbm space &run( "laplacian_initialisation", "-icbm_model", "0.50", $gray, $white, "${TmpDir}/laplace_initial.mnc" ); } &run( "laplacian_thickness", "-h", "0.1", "-convergence", " ", "-2nd_rk", "-max_iterations", "300", "-object_eval", $midSurface, "-from_grid", "${TmpDir}/laplace_initial.mnc", "${TmpDir}/thickness_uncleaned.txt" ); &run( "vertex_stats", "-replace_nans", "${TmpDir}/thickness_uncleaned.txt", $output ); } diffuse -kernel 20 -iterations parametric 1 ../midsurface.obj ../link_test.txt ../diffuse_cth_blur.mnc >> ../blur.txt

11 -like: Specifies a model file for the resampling.
[Command line] mincresample -quiet icbm_template_0.50mm.mnc -transform mni_icbm_00340_t1_tal.xfm -invert -tfm_input_sampling -step clobber laplace_like_file.mnc [Usage] -tfm_input_sampling: Transform the input sampling with the transform (default). -transformation: File giving world transformation. (Default = identity). -like: Specifies a model file for the resampling. -step: Step size along each dimension (X, Y, Z) Default value: 0 0 0 laplacian_initialisation -clobber -like laplace_like_file.mnc ../gray_trans.obj ../white_trans.obj laplace_initial.mnc -like : Volume to base grid on. Can optionally be resampled using the -step option. This argument is required unless -icbm_model is specified. laplacian_thickness -h 0.1 -convergence nd_rk -max_iterations 300 -object_eval ../midsurface.obj -from_grid laplace_initial.mnc ./thickness_uncleaned.txt Usage: laplacian_thickness [options] -like sample.mnc grey_surface.obj white_surface.obj output_thickness.mnc or Usage: laplacian_thickness [options] -like sample.mnc -object_eval surface.obj grey_surface.obj white_surface.obj output_thickness.txt -like: MINC file whose shape the cortical mantle will take -h: H value to use for Eulerian integration -convergence: Stop criteria for equation relaxation. -2nd_rk: Use second order Runge-Kutta integration -object_eval: Evaluate thickness only at vertices of the obj file. Output text rather than minc. -from_grid: Use a prepared grid. -tfm_input_sampling: Transform the input sampling with the transform (default). -transformation: File giving world transformation. (Default = identity). -like: Specifies a model file for the resampling. -step: Step size along each dimension (X, Y, Z) Default value: 0 0 0

12 thickness_uncleaned.txt vertex_stats -replace_nans thickness_uncleaned.txt vertex_la.txt STATS: # points = 40962 # used = 40962 # NaN = 0 # inval = 448 mean = std = [options] -replace_nans: Replace NaNs with mean. -replace_outliers: Replace outliers with mean. -std_constant: Define outlier as this constant times the standard deviation Default value: 3

13

14

15 49. Resample_left_mean_curvature
모듈: Cortical_Measurements.pm Label: "nonlinear resample left mean curvature“ 실행명령: bin/surface-resample 입력: ../surfaces/mni_icbm_00340_mid_surface_left_81920.obj ../thickness/mni_icbm_00340_native_mc_20mm_left.txt ../transforms/surfreg/mni_icbm_00340_left_surfmap.sm /models/surf_reg_model_left.obj => Oliver_template 출력: ./mni_native_mc_rsl_20mm_left.txt 의존성: mean_curvature_20mm_left (stage 45)

16 [Command line] ##### Resampling of the mean curvature #####
my $left_surfmap = ${$image}->{surface_map}{left}; my $right_surfmap = ${$image}->{surface_map}{right}; my $rsl_left_mc = ${$image}->{mc_rsl}{left}; my $rsl_right_mc = ${$image}->{mc_rsl}{right}; ${$pipeline_ref}->addStage( { name => "resample_left_mean_curvature", label => "nonlinear resample left mean curvature", inputs => [$native_mc_left, $left_surfmap, $left_mid_surface], outputs => [$rsl_left_mc], args => ["surface-resample", $surfreg_model, $left_mid_surface, $native_mc_left, $left_surfmap, $rsl_left_mc], prereqs => ["mean_curvature_${tkernel}mm_left"] }); [Command line] surface-resample /usr/local/mni/Dec /CIVET-1.1.9/models/surf_reg_model_left.obj ../surfaces/mni_icbm_00340_mid_surface_left_81920.obj ../thickness/mni_icbm_00340_native_mc_20mm_left.txt ../transforms/surfreg/mni_icbm_00340_left_surfmap.sm ./mni_native_mc_rsl_20mm_left.txt Usage: surface-resample [options] source_geom target_geom target_attr mapfile resampled_attr Command-specific options: -nearest: nearest-neighbour interpolation (default: linear) xfminvert mni_icbm_00340_t1_tal.xfm mni_icbm_00340_t1_tal_inv.xfm test]$ transform_objects mni_icbm_00340_white_surface_left_calibrated_81920.obj mni_icbm_ mni_icbm_00340_gray_surface_left_81920.obj mni_icbm_00340_t1_tal.xfm mni_icbm_00340_native_mc_20mm_left.txt mni_icbm_00340_white_surface_left_calibrated_81920.obj mni_icbm_00340_t1_tal_inv.xfm mni_icbm_native_mc_rsl_20mm_left.txt test]$ transform_objects mni_icbm_00340_white_surface_left_calibrated_81920.obj mni_icbm_00340_t1_tal_inv.xfm mni_icbm_00340_white_surface_left_native.obj test]$ transform_objects mni_icbm_00340_gray_surface_left_81920.obj mni_icbm_00340_t1_tal_inv.xfm mni_icbm_00340_gray_surface_left_81920_native.obj test]$ average_surfaces mni_icbm_00340_mid_surface_left_native.obj none none 1 ./mni_icbm_00340_white_surface_left_native.obj mni_icbm_00340_gray_surface_left_81920_native.obj 1: ./mni_icbm_00340_white_surface_left_native.obj 2: mni_icbm_00340_gray_surface_left_81920_native.obj Objects output. surface-resample /usr/local/mni/Dec /CIVET-1.1.9/models/surf_reg_model_left.obj ../../surfaces/mni_icbm_00340_mid_surface_left_81920.obj ../../thickness/mni_icbm_00340_native_mc_20mm_left.txt ../../transforms/surfreg/mni_icbm_00340_left_surfmap.sm ./mni_icbm_00340_native_mc_rsl_20mm_left.txt colour_object mni_icbm_00340_mid_surface_left_native.obj mni_icbm_00340_native_mc_20mm_left.txt mni_icbm_00340_native_mc_20mm_left.obj spectral Value range:

17 surf_reg_model_left.obj surf_reg_model_right.obj

18 colour_object [obj file] [txt file] [output obj file]
mni_icbm_00340_native_mc_20mm_left.obj

19 Resampling meancurvature
mni_icbm_00340_native_mc_rsl_20mm_left.obj


Download ppt "CIVET stage 47. thickness_tlink_20mm_right"

Similar presentations


Ads by Google