Xinyu-Nie / SurfTracker

A novel probabilistic tractography in Superficial White Matter
3 stars 1 forks source link

C++ Compile errors #1

Open pinghongyeh opened 1 year ago

pinghongyeh commented 1 year ago

Hi Xinyu,

I ran into errors while compiling SurfTracker.

Scanning dependencies of target main

[ 4%] Building CXX object CMakeFiles/main.dir/main.cpp.o

In file included from /tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:11:0,

             from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/math_aux.h:30:53: error: ‘assoc_legendre’ was not declared in this scope

static int legendre_flag = assoc_legendre(2, 1, 0.5) < 0;

                                                 ^

In file included from /tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:12:0,

             from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h: In function ‘void matrixB(std::vector<std::vector >&, std::vector<std::vector >&, int)’:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:70:56: error: ‘assoc_legendre’ was not declared in this scope

     P[i][0] = assoc_legendre(0, 0, cos(thetavec[i]));

                                                    ^

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:89:73: error: ‘assoc_legendre’ was not declared in this scope

             tmp[j][m] = assoc_legendre(order[i], m, cos(thetavec[j]));                                                              ^

make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1

make[1]: *** [CMakeFiles/main.dir/all] Error 2

make: *** [all] Error 2

Do you have suggestions fixing the errors. BTW, what version of gcc did you use?

Thanks. Ping

Xinyu-Nie commented 1 year ago

Hi, Ping,

I appreciate your interest in my work. The errors should be caused by missing the Boost library in the C++ library. Since we need a lot of math computations in the algorithm, some essential functions, such as Legendre functions, are from the Boost library. Please download the library from https://www.boost.org and correctly put them in your path.

Best, Xinyu

On Thu, Oct 26, 2023 at 7:32 AM pinghongyeh @.***> wrote:

Hi Xinyu,

I ran into errors while compiling SurfTracker.

Scanning dependencies of target main

[ 4%] Building CXX object CMakeFiles/main.dir/main.cpp.o

In file included from /tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:11:0,

         from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/math_aux.h:30:53: error: ‘assoc_legendre’ was not declared in this scope

static int legendre_flag = assoc_legendre(2, 1, 0.5) < 0;

                                             ^

In file included from /tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:12:0,

         from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h: In function ‘void matrixB(std::vector&, std::vector&, int)’:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:70:56: error: ‘assoc_legendre’ was not declared in this scope

 P[i][0] = assoc_legendre(0, 0, cos(thetavec[i]));

                                                ^

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:89:73: error: ‘assoc_legendre’ was not declared in this scope

         tmp[j][m] = assoc_legendre(order[i], m, cos(thetavec[j]));                                                              ^

make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1

make[1]: *** [CMakeFiles/main.dir/all] Error 2

make: *** [all] Error 2

Do you have suggestions fixing the errors. BTW, what version of gcc did you use?

Thanks. Ping

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1HvV8-lH$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYTSVRPEH57ARVPEW4TYBJX7TAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DGNZRGY4TCNA__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1BTUZks_$ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

pinghongyeh commented 1 year ago

Hi Xinyu,

Thanks for the reply. The demo.sh ran fine now.

May I have the instructions on how to create those input files, e.g. white_lh_PrecentralGyralSkeletons_dilated.raw, white_lh_PrePostcentralLabel.raw,white_lh_PrePostcentralCommon2mm.raw, FOD2D_ROI.raw, _white_lh_PrePostcentralCommon2mm.raw, white_lh_PrePostcentralCommon2mm.raw. and so on.

Thanks. Ping

On Fri, Oct 27, 2023 at 12:01 AM Xinyu Nie @.***> wrote:

Hi, Ping,

I appreciate your interest in my work. The errors should be caused by missing the Boost library in the C++ library. Since we need a lot of math computations in the algorithm, some essential functions, such as Legendre functions, are from the Boost library. Please download the library from https://www.boost.org and correctly put them in your path.

Best, Xinyu

On Thu, Oct 26, 2023 at 7:32 AM pinghongyeh @.***> wrote:

Hi Xinyu,

I ran into errors while compiling SurfTracker.

Scanning dependencies of target main

[ 4%] Building CXX object CMakeFiles/main.dir/main.cpp.o

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:11:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/math_aux.h:30:53:

error: ‘assoc_legendre’ was not declared in this scope

static int legendre_flag = assoc_legendre(2, 1, 0.5) < 0;

^

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:12:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h: In function ‘void matrixB(std::vector&, std::vector&, int)’:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:70:56:

error: ‘assoc_legendre’ was not declared in this scope

P[i][0] = assoc_legendre(0, 0, cos(thetavec[i]));

^

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:89:73:

error: ‘assoc_legendre’ was not declared in this scope

tmp[j][m] = assoc_legendre(order[i], m, cos(thetavec[j])); ^

make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1

make[1]: *** [CMakeFiles/main.dir/all] Error 2

make: *** [all] Error 2

Do you have suggestions fixing the errors. BTW, what version of gcc did you use?

Thanks. Ping

— Reply to this email directly, view it on GitHub < https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1HvV8-lH$>,

or unsubscribe < https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYTSVRPEH57ARVPEW4TYBJX7TAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DGNZRGY4TCNA__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1BTUZks_$>

. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

— Reply to this email directly, view it on GitHub https://github.com/Xinyu-Nie/SurfTracker/issues/1#issuecomment-1782253758, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA43XNRZGOTNTLZ4MGSBY6DYBMWZFAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI2TGNZVHA . You are receiving this because you authored the thread.Message ID: @.***>

Xinyu-Nie commented 12 months ago

Hi Ping,

Sorry for not getting back to you sooner; I'm waiting for IEEE to update the early access of the paper (update in the README in GitHub). Some details of the preprocessing were introduced in experiment A in the article. To generate the streamlines on the surface, we need a triangular mesh surface, e.g., from FreeSurfer (Recommend registering the surface mesh to diffusion-weighted image space). All the labels are stored as binary data as .raw documents; each element corresponds to each vertex in the surface mesh, e.g., 1 means true, and 0 means false.

  1. The ROI label ('white_lh_PrePostcentralLabel.raw') to specify where you want to track, for example, the central sulcus, precentral gyrus, and postcentral gyrus.
  2. To specify the boundary of the streamlines, the two gyrus labels ('white_lh_PrecentralGyralSkeletons_dilated.raw' and 'white_lh_PostcentralGyralSkeletons_dilated.raw') are suggested. For example, the first label indicates the precentral gyrus and the other shows the postcentral gyrus, so the computed streamlines connect the two gyri.
  3. Also, a seed label ('white_lh_PrePostcentralCommon2mm.raw') for seed regions is preferred so that the streamlines start from the seed regions; we usually set the sulcus fundus as seed regions.

The ROI label can be generated from FreesSurfer T1 surface label data, e.g., 'lh.aparc.annot'. The gyrus and sulcus labels need the gyrus segmentation method (we use Hamilton–Jacobi skeleton on cortical surfaces). We have not publicly shared the code for the segmentation algorithm, and we will do this in the future. Thus, the user has to define the boundary by themselves now, or the user can just set them to be all binary elements equal to 0 and set function parameter -gyrusflag = 1, and the streamlines will terminate at the boundary of the ROI. For the sulcus label, the user can also set it to be the ROI label so that any location can be used as a seed.

'FOD2D_ROI.raw' is not precomputed data; it is data computed in the algorithm, and the user only gives it a name.

Best regards,

On Wed, Nov 1, 2023 at 8:16 AM pinghongyeh @.***> wrote:

Hi Xinyu,

Thanks for the reply. The demo.sh ran fine now.

May I have the instructions on how to create those input files, e.g. white_lh_PrecentralGyralSkeletons_dilated.raw, white_lh_PrePostcentralLabel.raw,white_lh_PrePostcentralCommon2mm.raw, FOD2D_ROI.raw, _white_lh_PrePostcentralCommon2mm.raw, white_lh_PrePostcentralCommon2mm.raw. and so on.

Thanks. Ping

On Fri, Oct 27, 2023 at 12:01 AM Xinyu Nie @.***> wrote:

Hi, Ping,

I appreciate your interest in my work. The errors should be caused by missing the Boost library in the C++ library. Since we need a lot of math computations in the algorithm, some essential functions, such as Legendre functions, are from the Boost library. Please download the library from https://www.boost.org https://urldefense.com/v3/__https://www.boost.org__;!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0srxuPQpC$ and correctly put them in your path.

Best, Xinyu

On Thu, Oct 26, 2023 at 7:32 AM pinghongyeh @.***> wrote:

Hi Xinyu,

I ran into errors while compiling SurfTracker.

Scanning dependencies of target main

[ 4%] Building CXX object CMakeFiles/main.dir/main.cpp.o

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:11:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/math_aux.h:30:53:

error: ‘assoc_legendre’ was not declared in this scope

static int legendre_flag = assoc_legendre(2, 1, 0.5) < 0;

^

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:12:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:

In function ‘void matrixB(std::vector&, std::vector&, int)’:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:70:56:

error: ‘assoc_legendre’ was not declared in this scope

P[i][0] = assoc_legendre(0, 0, cos(thetavec[i]));

^

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:89:73:

error: ‘assoc_legendre’ was not declared in this scope

tmp[j][m] = assoc_legendre(order[i], m, cos(thetavec[j])); ^

make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1

make[1]: *** [CMakeFiles/main.dir/all] Error 2

make: *** [all] Error 2

Do you have suggestions fixing the errors. BTW, what version of gcc did you use?

Thanks. Ping

— Reply to this email directly, view it on GitHub <

https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1HvV8-lH$%3E,

or unsubscribe <

https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYTSVRPEH57ARVPEW4TYBJX7TAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DGNZRGY4TCNA__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1BTUZks_$%3E

. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

— Reply to this email directly, view it on GitHub < https://github.com/Xinyu-Nie/SurfTracker/issues/1#issuecomment-1782253758> https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1*issuecomment-1782253758*3E__;IyU!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0sqyRarWf$,

or unsubscribe < https://github.com/notifications/unsubscribe-auth/AA43XNRZGOTNTLZ4MGSBY6DYBMWZFAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI2TGNZVHA> https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AA43XNRZGOTNTLZ4MGSBY6DYBMWZFAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI2TGNZVHA*3E__;JQ!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0so8Gltve$ . You are receiving this because you authored the thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1*issuecomment-1789138289__;Iw!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0soygcl7D$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYQTYTL2B4JEFW4RRN3YCJRUNAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZGEZTQMRYHE__;!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0sqAPstkj$ . You are receiving this because you commented.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

pinghongyeh commented 12 months ago

Hi Xinyu,

Thank you very much for the reply. I will give it a shot and would probably bug you again. Look forward to hearing from you about the update of the toolbox. Best,

Ping

On Tue, Nov 7, 2023 at 11:00 AM Xinyu Nie @.***> wrote:

Hi Ping,

Sorry for not getting back to you sooner; I'm waiting for IEEE to update the early access of the paper (update in the README in GitHub). Some details of the preprocessing were introduced in experiment A in the article. To generate the streamlines on the surface, we need a triangular mesh surface, e.g., from FreeSurfer (Recommend registering the surface mesh to diffusion-weighted image space). All the labels are stored as binary data as .raw documents; each element corresponds to each vertex in the surface mesh, e.g., 1 means true, and 0 means false.

  1. The ROI label ('white_lh_PrePostcentralLabel.raw') to specify where you want to track, for example, the central sulcus, precentral gyrus, and postcentral gyrus.
  2. To specify the boundary of the streamlines, the two gyrus labels ('white_lh_PrecentralGyralSkeletons_dilated.raw' and 'white_lh_PostcentralGyralSkeletons_dilated.raw') are suggested. For example, the first label indicates the precentral gyrus and the other shows the postcentral gyrus, so the computed streamlines connect the two gyri.
  3. Also, a seed label ('white_lh_PrePostcentralCommon2mm.raw') for seed regions is preferred so that the streamlines start from the seed regions; we usually set the sulcus fundus as seed regions.

The ROI label can be generated from FreesSurfer T1 surface label data, e.g., 'lh.aparc.annot'. The gyrus and sulcus labels need the gyrus segmentation method (we use Hamilton–Jacobi skeleton on cortical surfaces). We have not publicly shared the code for the segmentation algorithm, and we will do this in the future. Thus, the user has to define the boundary by themselves now, or the user can just set them to be all binary elements equal to 0 and set function parameter -gyrusflag = 1, and the streamlines will terminate at the boundary of the ROI. For the sulcus label, the user can also set it to be the ROI label so that any location can be used as a seed.

'FOD2D_ROI.raw' is not precomputed data; it is data computed in the algorithm, and the user only gives it a name.

Best regards,

On Wed, Nov 1, 2023 at 8:16 AM pinghongyeh @.***> wrote:

Hi Xinyu,

Thanks for the reply. The demo.sh ran fine now.

May I have the instructions on how to create those input files, e.g. white_lh_PrecentralGyralSkeletons_dilated.raw, white_lh_PrePostcentralLabel.raw,white_lh_PrePostcentralCommon2mm.raw, FOD2D_ROI.raw, _white_lh_PrePostcentralCommon2mm.raw, white_lh_PrePostcentralCommon2mm.raw. and so on.

Thanks. Ping

On Fri, Oct 27, 2023 at 12:01 AM Xinyu Nie @.***> wrote:

Hi, Ping,

I appreciate your interest in my work. The errors should be caused by missing the Boost library in the C++ library. Since we need a lot of math computations in the algorithm, some essential functions, such as Legendre functions, are from the Boost library. Please download the library from https://www.boost.org < https://urldefense.com/v3/__https://www.boost.org__;!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0srxuPQpC$>

and correctly put

them in your path.

Best, Xinyu

On Thu, Oct 26, 2023 at 7:32 AM pinghongyeh @.***> wrote:

Hi Xinyu,

I ran into errors while compiling SurfTracker.

Scanning dependencies of target main

[ 4%] Building CXX object CMakeFiles/main.dir/main.cpp.o

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:11:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/math_aux.h:30:53:

error: ‘assoc_legendre’ was not declared in this scope

static int legendre_flag = assoc_legendre(2, 1, 0.5) < 0;

^

In file included from

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/SurfaceFODPro.h:12:0,

from /tmp/SurfTracker-main/Surface_tracking_c++/main.cpp:10:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:

In function ‘void matrixB(std::vector&, std::vector&, int)’:

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:70:56:

error: ‘assoc_legendre’ was not declared in this scope

P[i][0] = assoc_legendre(0, 0, cos(thetavec[i]));

^

/tmp/SurfTracker-main/Surface_tracking_c++/SurfacePro/../header/matrixB.h:89:73:

error: ‘assoc_legendre’ was not declared in this scope

tmp[j][m] = assoc_legendre(order[i], m, cos(thetavec[j])); ^

make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1

make[1]: *** [CMakeFiles/main.dir/all] Error 2

make: *** [all] Error 2

Do you have suggestions fixing the errors. BTW, what version of gcc did you use?

Thanks. Ping

— Reply to this email directly, view it on GitHub <

https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1HvV8-lH$%3E,

or unsubscribe <

https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYTSVRPEH57ARVPEW4TYBJX7TAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DGNZRGY4TCNA__;!!LIr3w8kk_Xxm!sYBKvDe19V1_CwPtylAA_dAT9LUq1TO280XI_fC961F5TMYYcvaeSGwKEqlm3ja6IgwVjRpfxTfk1BTUZks_$%3E

. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

— Reply to this email directly, view it on GitHub <

https://github.com/Xinyu-Nie/SurfTracker/issues/1#issuecomment-1782253758>

< https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1*issuecomment-1782253758*3E__;IyU!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0sqyRarWf$>,

or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AA43XNRZGOTNTLZ4MGSBY6DYBMWZFAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI2TGNZVHA>

< https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AA43XNRZGOTNTLZ4MGSBY6DYBMWZFAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI2TGNZVHA*3E__;JQ!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0so8Gltve$>

. You are receiving this because you authored the thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub < https://urldefense.com/v3/__https://github.com/Xinyu-Nie/SurfTracker/issues/1*issuecomment-1789138289__;Iw!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0soygcl7D$>,

or unsubscribe < https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A4H6TYQTYTL2B4JEFW4RRN3YCJRUNAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZGEZTQMRYHE__;!!LIr3w8kk_Xxm!vkwf5JqvptRKN0fUjbLfPuEcUvTI4lVketFk314LnkRs7f7ILtf0Zd-MuRm2N3RhVYstTioYXoE0sqAPstkj$>

. You are receiving this because you commented.Message ID: @.***>

-- Xinyu Nie, Ph.D. candidate in Electrical Engineering

Ming Hsieh Department of Electrical and Computer Engineering Viterbi School of Engineering Stevens Neuroimaging and Informatics Institute Keck School of Medicine University of Southern California

— Reply to this email directly, view it on GitHub https://github.com/Xinyu-Nie/SurfTracker/issues/1#issuecomment-1799025784, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA43XNSBEFOLOMK275ESW3LYDJLJVAVCNFSM6AAAAAA6RKJY5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJZGAZDKNZYGQ . You are receiving this because you authored the thread.Message ID: @.***>