diff --git a/plugins/NFT/Chapter_01_Getting_Started_with_NFT.md b/plugins/NFT/Chapter-01-Getting-Started-with-NFT.md similarity index 97% rename from plugins/NFT/Chapter_01_Getting_Started_with_NFT.md rename to plugins/NFT/Chapter-01-Getting-Started-with-NFT.md index a0fd0dbf..3c5ede7e 100644 --- a/plugins/NFT/Chapter_01_Getting_Started_with_NFT.md +++ b/plugins/NFT/Chapter-01-Getting-Started-with-NFT.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: Chapter-01-Getting-Started-with-NFT +long_title: Chapter-01-Getting-Started-with-NFT --- Introduction ------------ diff --git a/plugins/NFT/Chapter_02_Head_Modeling_from_MR_Images.md b/plugins/NFT/Chapter-02-Head-Modeling-from-MR-Images.md similarity index 98% rename from plugins/NFT/Chapter_02_Head_Modeling_from_MR_Images.md rename to plugins/NFT/Chapter-02-Head-Modeling-from-MR-Images.md index aa99119f..f0954d25 100644 --- a/plugins/NFT/Chapter_02_Head_Modeling_from_MR_Images.md +++ b/plugins/NFT/Chapter-02-Head-Modeling-from-MR-Images.md @@ -1,21 +1,19 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: Chapter-02-Head-Modeling-from-MR-Images +long_title: Chapter-02-Head-Modeling-from-MR-Images --- The steps of head modeling are segmentation, mesh generation, and co-registration of electrode locations with scalp surface. User may also generate a source space to be used in the solution of the inverse problem. Figure 2 shows the steps of head modeling using MR images. -
- ![Figure 2: steps of head modeling using MR images](NFM_Toolboox_UsersManual_html_2aaa1b22.gif) -
- Each step in realistic head modeling is implemented as a separate GUI module reachable from the main menu. These modules are described in the following sub-sections. @@ -51,13 +49,9 @@ panel allows the user to select which image to display on the image panels. The available choices are the MR volume, the filtered volume or various stages of segmentation. -
- ![](NFT_from_MRI_segmentation.png) ..... ![Figure 3: Interface for segmentation](NFT_segmentation.png) -
- The panel on the right of the segmentation GUI shows the segmentation steps that will be performed on the volume in order: @@ -111,15 +105,11 @@ watershed segmentation algorithm, and the default values work for most images. The result of Brain segmentation can be seen by selecting “Brain Mask”. -
- ![Figure 4: Interface of segmentation during setting lowest point for cerebellum.](NFT_cerebellarlowpoint.png "wikilink") ...... ![Figure 5: Interface of segmentation during a seed point selection on WM.](NFT_WMpointselection.png "wikilink") -
- ### Outer skull segmentation For outer skull segmentation, seed points for the eye lobes are selected @@ -130,17 +120,11 @@ click on both eye lobes. Figure 7 shows the matlab figure that pops-up to click on eye lobes. Once the eyes are selected the outer skull is segmented and can be seen by “Outer skull mask”. -
- ![Figure 6: Interface of segmentation to select an axial slice where the eyes are clearly observed.](NFT_eyeselection.png "wikilink") -
-
![Figure 7: Matlab figure to click on eye lobes.](NFT_eyelobes.png "wikilink") -
- ### Inner skull segmentation Inner skull segmentation does not require any user input. After the @@ -188,13 +172,10 @@ mesh file is suitable to be used directly by the BEM solver. The format of the mesh file is given in [Appendix A](/NFT_Appendix_A "wikilink"). The mesh generation process is described below. -
- ![](NFT_from_MRI_mesh_gen.png "wikilink") ..... ![Figure 8: Interface for mesh generation.](NFT_meshgeneration_ui.png "wikilink") -
Mesh Generation module creates triangular meshes that fits the boundaries of the segmentation. The aim is to approximate the geometry @@ -246,13 +227,9 @@ A LFM using a regular grid source space can be used in single dipole parametric inverse problem solution to find a coarse estimate of the dipole position. -
- ![](NFT_from_MRI_source_space.png "wikilink") ..... ![Figure 9: Interface for source space generation.](NFT_sourcespacegen.png "wikilink") -
- Co-registration of electrode locations -------------------------------------- @@ -287,12 +264,9 @@ the electrode positions change. Therefore, the co-registration output is specific to a session. The result of electrode co-registration is saved as Session_Name_Subject_Name_headsensors.sens in ASCII format. -
- ![](NFT_from_MRI_coreg.png "wikilink") .... ![Figure 10: Interface for co-registration.](NFT_coregistration.png "wikilink") -
Head Modeling using Template Warping ------------------------------------ @@ -332,13 +306,9 @@ whole head model, and some electrodes may fall out of the template mesh. In Figure 11 the interface for warping module is shown. -
- ![](NFT_from_Warping.png "wikilink") ..... ![Figure 11: Interface warping of a template head model.](NFT_warping_ui.png "wikilink") -
- ------------------------------------------------------------------------ References diff --git a/plugins/NFT/Chapter_03_Forward_Model_Generation.md b/plugins/NFT/Chapter-03-Forward-Model-Generation.md similarity index 98% rename from plugins/NFT/Chapter_03_Forward_Model_Generation.md rename to plugins/NFT/Chapter-03-Forward-Model-Generation.md index 8ed4d3f1..eff8fcc6 100644 --- a/plugins/NFT/Chapter_03_Forward_Model_Generation.md +++ b/plugins/NFT/Chapter-03-Forward-Model-Generation.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: Chapter-03-Forward-Model-Generation +long_title: Chapter-03-Forward-Model-Generation --- Forward Problem: Boundary Element Method ---------------------------------------- diff --git a/plugins/NFT/Chapter_04_NFT_Examples.md b/plugins/NFT/Chapter-04-NFT-Examples.md similarity index 98% rename from plugins/NFT/Chapter_04_NFT_Examples.md rename to plugins/NFT/Chapter-04-NFT-Examples.md index 221a2505..226f88b0 100644 --- a/plugins/NFT/Chapter_04_NFT_Examples.md +++ b/plugins/NFT/Chapter-04-NFT-Examples.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: Chapter-04-NFT-Examples +long_title: Chapter-04-NFT-Examples --- In this section, two head modeling examples are presented. Both of these examples use the same subject. The first example generates a realistic @@ -21,8 +23,6 @@ through segmentation and mesh generation steps. The mesh consists of scalp, skull, csf, and brain layers for a total of 16016 nodes and 32024 elements. The individual layers can be seen in Figure 13. -
- (a) ![a](NFM_Toolboox_UsersManual_html_56c540a1.gif "wikilink") ... (b) @@ -32,8 +32,6 @@ elements. The individual layers can be seen in Figure 13. (d) ![d](NFM_Toolboox_UsersManual_html_m69f7a676.gif "wikilink") -
- Figure 13: BEM model of the scalp, skull, csf and the brain obtained from an MR image. (a) scalp mesh, (b) skull mesh, (c) CSF mesh, (d) brain mesh. @@ -41,20 +39,14 @@ brain mesh. After mesh generation, the electrodes and the realistic mesh is co-registered. The result of co-registration can be seed in Figure 14. -
- ![Figure 14: Registered electrode locations on the scalp mesh.](NFM_Toolboox_UsersManual_html_7b73089f.gif "wikilink") -
- The second example assumes that the only available subject data is the 141 digitized electrode locations. For warping the template MNI mesh is used, which has three layers and 3000 nodes and 5988 elements. This is the standard mesh that is also used by other BEM solvers in the literature. The results of warping can be seen in Figure 15. -
- (a) ![a](NFM_Toolboox_UsersManual_html_3bc436a3.gif "wikilink") ... (b) @@ -64,8 +56,6 @@ literature. The results of warping can be seen in Figure 15. (d) ![d](NFM_Toolboox_UsersManual_html_m788a9795.gif "wikilink") -
- Figure 15: BEM model of the scalp, skull, the brain obtained by warping a template head model to electrode locations. (a) scalp mesh, (b) skull mesh, (c) brain mesh, (d) electrode locations. diff --git a/plugins/NFT/Chapter_05_NFT_Commands_and_Functions.md b/plugins/NFT/Chapter-05-NFT-Commands-and-Functions.md similarity index 98% rename from plugins/NFT/Chapter_05_NFT_Commands_and_Functions.md rename to plugins/NFT/Chapter-05-NFT-Commands-and-Functions.md index f11ab5eb..03453fbe 100644 --- a/plugins/NFT/Chapter_05_NFT_Commands_and_Functions.md +++ b/plugins/NFT/Chapter-05-NFT-Commands-and-Functions.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: Chapter-05-NFT-Commands-and-Functions +long_title: Chapter-05-NFT-Commands-and-Functions --- This section summarizes the MATLAB commands and data structures used for each stage of head modeling using the NFT toolbox. The function diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_28d79845.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_28d79845.gif new file mode 100644 index 00000000..b95ff362 Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_28d79845.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_2aaa1b22.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_2aaa1b22.gif new file mode 100644 index 00000000..a559ff12 Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_2aaa1b22.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_3bc436a3.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_3bc436a3.gif new file mode 100644 index 00000000..011c393f Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_3bc436a3.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_56c540a1.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_56c540a1.gif new file mode 100644 index 00000000..f0f3a543 Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_56c540a1.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_7b73089f.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_7b73089f.gif new file mode 100644 index 00000000..c7bd3d82 Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_7b73089f.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_m350221ff.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_m350221ff.gif new file mode 100644 index 00000000..d507daf6 Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_m350221ff.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_m69f7a676.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_m69f7a676.gif new file mode 100644 index 00000000..b127a84f Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_m69f7a676.gif differ diff --git a/plugins/NFT/NFM_Toolboox_UsersManual_html_m788a9795.gif b/plugins/NFT/NFM_Toolboox_UsersManual_html_m788a9795.gif new file mode 100644 index 00000000..6a1dfb4e Binary files /dev/null and b/plugins/NFT/NFM_Toolboox_UsersManual_html_m788a9795.gif differ diff --git a/plugins/NFT/NFT_Appendix_A.md b/plugins/NFT/NFT-Appendix-A.md similarity index 97% rename from plugins/NFT/NFT_Appendix_A.md rename to plugins/NFT/NFT-Appendix-A.md index 74ce0378..724df9c9 100644 --- a/plugins/NFT/NFT_Appendix_A.md +++ b/plugins/NFT/NFT-Appendix-A.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: NFT-Appendix-A +long_title: NFT-Appendix-A --- BEM Mesh Format --------------- diff --git a/plugins/NFT/NFT-Appendix-B.md b/plugins/NFT/NFT-Appendix-B.md new file mode 100644 index 00000000..07f32515 --- /dev/null +++ b/plugins/NFT/NFT-Appendix-B.md @@ -0,0 +1,618 @@ +--- +layout: default +parent: NFT +grand_parent: Plugins +render_with_liquid: false + +title: NFT-Appendix-B +long_title: NFT-Appendix-B +--- +bem_create_model +---------------- +``` +bem_create_model() - Creates a model structure combining a mesh,   +                     conductivity information and BEM parameters.   + +Usage:   +  >> model = bem_create_model(name, mesh, cond, mod);   + +Inputs:   +  name - model name, used as a base filename for matrices   +  mesh - mesh structure obtained from BEM_LOAD_MESH   +  cond - conductivity values for mesh tissue classes   +         vector, starting from first tissue,   +         0 is reserved for air   +  mod  - index of the modified boundary, for use with IPA.  +         If mod <= 0, IPA is not used.   + +Outputs:   +  model - model structure with the following fields.   + +Model Structure:   +  name      - name of the model   +  mesh      - mesh structure   +  cond      - conductivity vector   +  mod       - modified boundary information   +  node_cond - Average conductivity around a node   + +Optional Fields:   +  ind_mod       - node indices of the modified boundary   +  ind_imesh     - node indices of the inner mesh   +  ind_imesh_mod - node indices of the modified boundary   +                  relative to the inner mesh +``` + +bem_create_session +------------------ +``` +bem_create_session() - Creates a session structure combining a model,   +      and sensor data. The session structure contains a model for a  +      complete head and electrode ’recording session’. Data recorded  +      using the same set of sensor locations is considered   +      to be in the same session.   + +Usage:   +      >> session = bem_create_session(name, model, Smatrix);   + +Inputs:   +  name    - session name, used as a base filename for matrices   +  model   - model structure obtained from bem_create_model().   +  Smatrix - matrix that defines EEG electrodes in terms of   +    the BEM mesh. Each electrode is a weighted sum of the nodes   +    of the element. The weights are determined by the element   +    shape functions. The format of the Smatrix is as follows:   +         [electrode_index node_index weight]   +    The rows of the matrix must be sorted by electrode_index   +    and there can be more than one row with a given electrode   +    index. The Smatrix can be constructed using one of these:   +    bem_smatrix_from_nodes() and bem_smatrix_from_points().   + +Outputs:   +  session - session structure with the fields defined in the next section   + +Session Structure:   +  name    - name of the session   +  model   - model structure   +  Smatrix - EEG sensor information matrix.   +  num_electrodes - number of EEG sensors +``` + +bem_generate_eeg_matrices +------------------------- +``` +bem_generate_eeg_matrices() - Generates BEM matrices for a BEM model.   + +Usage:   +      >> bem_generate_eeg_matrices(model);   + +Inputs:   +  model - model structure generated by BEM_CREATE_MODEL   + +Notes: The matrices are created using the name given in the model structure   +      The following matrices are created on disk, and can be read   +      using the bem_load_model_matrix() function   +      .cmt - BEM coefficient matrix   +      .dmt - band of Coefficient matrix used by IPA   +      .imt - inner Coefficient Matrix used by IPA + +bem_generate_eeg_transfer_matrix +-------------------------------- + +bem_generate_eeg_transfer_matrix() - Generates EEG transfer matrix.   + +Usage:   +  >> session = bem_generate_eeg_transfer_matrix(session);   + +Inputs:   +  session - session structure generated by BEM_CREATE_SESSION   + +Outputs:   +  session - session object; since it may be modified when   +            loading model matrices.   + +Notes: The matrix is created using the name given in the session structure   +      with "tmte" extension for the EEG transfer matrix. It can be loaded   +      using the bem_load_transfer_matrix(). +``` + +nft_get_config +-------------- +``` +nft_get_config() - Returns the toolbox configuration information   +      program path names, defaults, etc. Other toolbox functions call this m-file   +      to read their configuration.   + +Outputs:   +  conf - config structure.   + +Config Structures:   +  bem_matrix_program - name of the program that creates EEG matrices.   +  asc - name of adaptive skeleton climbing program.   +  qslim - name of the coarsening program.   +  showmesh - name of the correction and smoothing program. +``` + +bem_load_mesh +------------- +``` +bem_load_mesh() - Loads a BEM mesh.   + +Usage:   +  >> mesh = bem_load_mesh(name);   + +Inputs:   +  name - mesh name excluding the extension.   + +Outputs:   +  mesh - mesh structure.   + +Mesh Structure:   +  name  - mesh name   +  coord - node coordinates   +  elem  - elements (connectivity information)   +  num_nodes - number of nodes   +  num_elements - number of elements   +  num_boundaries - number of boundaries   +  num_node_elem - number of nodes per element   +  num_class - number of tissue classes   +  bnd - boundary information array   +       [num_elements inner_tissue_class outer_tissue_class] +``` + +bem_load_model_matrix +--------------------- +``` +bem_load_model_matrix() - Loads the BEM matrix with extension ’ext’.   +The matrix file name is defined by .   +Matrix is placed into the model with a field name ’ext’   + +Usage:   +  >> model = bem_load_model_matrix(model, ext);   + +Inputs:   +  model - model structure generated by bem_create_model().   +  ext - describes the matrix type. The following types are defined:   +    ’cmt’ - BEM Coefficient matrix   +    ’dmt’ - band of Coefficient matrix used by IPA   +    ’imt’ - inner Coefficient Matrix used by IPA   +    ’iinv’ - inverse of the inner coefficient matrix. This matrix is   +      computed from ’imt’ if the file does not exist.   + +Outputs:   +  model - model structure. +``` + +bem_load_transfer_matrix +------------------------ +``` +bem_load_transfer_matrix() Loads the BEM transfer matrix with extension ’ext’.   +      The matrix file name is defined by ..   +      Matrix is placed into the session with a field name ’ext’.   + +Usage:   +  >> session = bem_load_transfer_matrix(session, ext);   + +Inputs:   +  session - session structure generated by bem_create_session().   +  ext - describes the matrix type. The following type is defined   +    ’tmte’ - BEM Transfer matrix.   + +Outputs:   +  session - updated session structure. +``` + +bem_smatrix_from_nodes +---------------------- +``` +bem_smatrix_from_nodes() - Generates Smatrix from nodes of a mesh.   +      Smatrix is the sensor information matrix used in   +      bem_create_session(). See bem_create_session() for more information.   + +Usage:   +  >> Smatrix = bem_smatrix_from_nodes(mesh, nodes);   + +Inputs:   +  mesh - mesh structure   +  nodes - vector of node indices.   + +Outputs:   +  Smatrix - defines one electrode per node.  +``` + +bem_solve_dipoles_eeg +--------------------- +``` +bem_solve_dipoles_eeg() - Computes the potential arising from the given dipoles   +at the sensor locations defined by the session.   + +Usage:   +  >> [pot, session] = bem_solve_dipoles_eeg(session, dipoles);   + +Inputs:   +  session - session structure defining the model and the sensors.   +  dipoles - dipole matrix. Each row defines a dipole as follows:   +           [x y z px py pz]   + +Outputs:   +   pot - potentials at the sensors due to simultaneous activation of   +         the dipoles.   +   session - the updated session structure, in case any matrices are   +             loaded, modifying the underlying model. +``` + +bem_solve_lfm_eeg +----------------- +``` +bem_solve_lfm_eeg() - Computes the LFM arising from given dipoles   +at the sensor locations defined by the session.   + +Usage:   +  >> [pot, session] = bem_solve_lfm_eeg(session, dipoles);   + +Inputs:   +  session - session structure defining the model and the sensors   +  dipoles - dipole matrix. Each row defines a dipole as follows:   +           [x y z px py pz]   + +Outputs:   +  pot - the LFM at the sensors produced by activation of each dipole,   +  session - updated session structure in case any matrices are   +            loaded, modifying the underlying model. +``` + +Coregistration +-------------- +``` +Coregistration() - Produces the GUI for co-registration of electrode locations   + to the scalp mesh.   + +Usage:   +  >> Coregistration(varargin);   + +Optional Arguments:   +  ’subjectdir’ - (string) Output folder. The results will be saved   +   in this folder.   +  ’subject’ - (string) Subject name. The subject-specific output files will start   +   with this name.   +  ’session’ - (string) Session name. The file name for registered electrodes will   +   start with this name. +``` + +Forward_Problem_Solution +------------------------ +``` +Forward_Problem_Solution() - Produces the forward model generation GUI.   + +Usage:   +  >> Forward_Problem_Solution(varargin);   + +Optional Arguments:   +  ’subjectdir’ - (string) Output folder. The results will be saved in this folder.   +  ’subject’ - (string) Subject name. Subject-specific output files will be saved   +   starting with this name.   +  ’session’ - (string) Session name. Session-specific output files will be saved   +   starting with this name. +``` + +Mesh_generation +--------------- +``` +Mesh_generation() - Produces the mesh generation GUI.   + +Usage:   +  >> Mesh_generation(varargin);   + +Optional Arguments:   +  ’subjectdir’ - (string) Output folder. The results will be saved   +   in this folder.   +  ’subject’ - (string) Subject name. Output files will start with this name. +``` + +mesh_local_refinement +--------------------- +``` +mesh_local_refinement() - Refines the meshes in a given folder. Loads   +Scalp.smf, Skull.smf, Csf.smf, Brain.smf meshes in .smf format and saves   +them with the same names.   + +Usage:   +  >> mesh_local_refinement(of, nl, ratio_lmr);   + +Inputs:   +  of - mesh folder   +  nl - number of layers (3 or 4)   +  ratio_lmr - ratio of local edge length to local distance between meshes +``` + +mesh_final_correction +--------------------- +``` +mesh_final_correction() - Performs mesh correction for Scalp.smf,   +Skull.smf, Csf.smf, Brain.smf in a given folder. Saves the meshes with   +the same names in .smf format.   + +Usage:   +  >> mesh_final_correction(of, nl);   + +Inputs:   +  of - mesh folder   +  nl - number of layers (3 or 4) +``` + +mesh_read_write +--------------- +``` +mesh_read_write() - Reads Scalp, Skull, Csf and Brain meshes in .smf   +format in a given folder and writes the total head mesh  bec, bee, bei   +format.   + +Usage:   +  >> mesh_read_write(of, mesh_name, nl);   + +Inputs:   +  of - mesh folder   +  mesh_name - name of the mesh that will be saved in bec, bee, bei format   +  nl - number of layers (3 or 4) +``` + +Segmentation +------------ +``` +Segmentation() - Produces the GUI for running segmentation functions.   + +Usage:   +  >> Segmentation(varargin);   + +Optional Arguments:   +  ’subjectdir’ - (string) Output folder. The results will be saved   +   in this folder.   +  ’subject’ - (string) Subject name. The output files will start with this name. +``` + +segm_aniso_filtering +-------------------- +``` +segm_aniso_filtering() - Performs anisotropic filtering.   + +Usage:   +  >> [b] = segm_aniso_filtering(out, iter, ts, cond);   + +Inputs:   +  out - input image   +  iter - number of iterations   +  ts - sampling rate   +  cond - diffusion parameter   + +Outputs:   +  b - output image +``` + +segm_scalp +---------- +``` +segm_scalp() - Performs scalp segmentation   + +Usage:   +  >> [Sca] = segm_scalp(b);   + +Inputs:   +  b - input image (filtered MR image)   + +Outputs:   +  Sca - scalp mask +``` +segm_brain +---------- +``` +segm_brain() - Performs brain segmentation   + +Usage:   +  >> [Bra] = segm_brain(b,Sca, sli, WMp,sl, st);   + +Inputs:   +  b - input image (filtered MR image)   +  sli - lowest point for cerebellum   +  WMp - white matter point   +  sl,st - fill level and threshold for watershed segmentation   + +Outputs:   +  Bra - brain mask +``` +segm_outer_skull +---------------- +``` +segm_brain() - Performs outer skull segmentation   + +Usage:   +  >> [Sk_out, X_dark] = segm_outer_skull(b, Sca, Bra, sli_eyes);   + +Inputs:   +  b - input image (filtered MR image)   +  Sca - scalp mask +  Bra - brain mask +  sli_eyes - slice of the eyes + +Outputs:   +  Sk_out - outer skull mask +  X_dark - dark regions of b +``` +segm_inner_skull +---------------- +``` +segm_inner_skull() - Performs inner skull segmentation   + +Usage:   +  >> Sk_in = segm_inner_skull(b, Sk_out, X_dark, Bra);   + +Inputs:   +  b - imput image (filtered MR image)   +  Sk_out - outer skull mask   +  X_dark - dark regions of b   +  Bra - Brain mask   + +Outputs:   +  Sk_in - inner skull mask   +``` +segm_final_skull +---------------- +``` +segm_final_skull() - Corrects scalp and outer skull masks wrt inner   +                  skull mask   + +Usage:   +  >> [Sca, Sk_out] = segm_final_skull(Sca, Sk_out, Sk_in, WMp);   + +Inputs:   +  Sca    - scalp mask   +  Sk_out - outer skull mask   +  Sk_in  - inner skull mask   +  WMp    - white matter point   + +Outputs:   +  Sca    - scalp mask   +  Sk_out - outer skull mask +``` +utilbem_compute_cond +-------------------- +``` +utilbem_compute_cond() - Computes the average conductivity   +    around a node to be used in BEM computations.   + +Usage:   +  >> cond = utilbem_compute_cond(Coord, Elem, layers, sigma)   + +Inputs:   +   Coord  - node coordinate matrix   +   Elem   - element connectivity matrix   +   layers - mesh boundary information   +   sigma  - vector of element conductivities   + +Outputs:   +   cond - average conductivity for each node (vector)   + +Note: The average conductivity is normally the average of the inner and outer   +   conductivities of the layer that a node belongs to. However, for   +   meshes with intersecting boundaries there may be three or more tissues   +   around a node. This function also handles this general case. +``` +utilbem_compute_indices +----------------------- +``` +utilbem_compute_indices() - When the Isolated Problem Approach (IPA) is used,   +    the BEM equations are modified to reduce the numerical errors due to   +    the low conductivity skull layer.  For this purpose an "inner mesh"   +    is defined consisting of skull and the inner layers. This function   +    computes the node indices corresponding to these layers to be used   +    in BEM computations.   + +Usage:   +  >> [indMsh, indMod, indMshMod] = utilbem_compute_indices(Coord, Elem, layers, mod);   + +Inputs:   +   Coord  - node coordinate matrix   +   Elem   -  element connectivity matrix   +   layers - mesh boundary information   +   mod    - index of the boundary modified for IPA.   + +Outputs:   +   indMsh - coordinate indices of inner mesh nodes (vector).   +   indMod - coordinate indices of modified boundary nodes (vector).   +   indMshMod - Coordinate indices of modified boundary relative to inner   +               mesh. +``` +utilbem_multilayer_rhs +---------------------- +``` +utilbem_multilayer_rhs() - Computes the Right-Hand-Side of the   +    BEM matrix equation when IPA (Isolated Problem Approach) is   +    used. The RHS vector corrected by IPA reduces numerical errors   +    in computation due to the low conductivity skull layer.   + +Usage:   +  >> RHS = utilbem_multilayer_rhs(Coord, cond, indMod, indMsh, indMshMod,   +   iinv, dmt, s2, s3, dip);   + +Inputs:   +   Coord     - node coordinate matrix   +   cond      - average conductivity for each node (vector)   +               as computed by utilbem_compute_cond()   +   indMod    - coordinate indices of modified boundary nodes (vector).   +   indMsh    - coordinate indices of inner mesh nodes (vector).   +   indMshMod - coordinate indices of modified boundary relative to inner mesh.   +               The indices are computed by utilbem_compute_indices()   +   iinv      - inverse inner matrix.   +   dmt       - sub coefficient matrix (# of nodes) x (# of mod. boundary nodes).   +   s2        - outer conductivity of the modified layer.   +   s3        - inner conductivity of the modified layer   +   dip       - dipole parameters [x y z px py pz]   + +Outputs:   +   RHS - The right-hand-side of the BEM matrix equation for a given   +   dipole. +``` +utilbem_pot_unbound +------------------- +``` +utilbem_pot_unbound() - Computes the unbounded potential at the   +    given coordinates due to a single dipole. The result is   +    weighted by the average conductivity around the node.   + +Usage:   +  >> pot = utilbem_pot_unbound(Coord, cond, dip)   + +Inputs:   +   Coord - node coordinate matrix   +   cond  - average conductivity for each node (vector)   +          as computed by utilbem_compute_cond()   +   dip   - dipole [x y z px py pz]   + +Outputs:   +   pot - node potentials for the homogeneous model   + +Notes: When IPA is not used the weighted potential  +   is the  Right-Hand-Side of the BEM matrix equation. +``` +Warping_mesh +------------ +``` +Warping_mesh() - Produces the GUI for warping of a template head model   +        to measured electrode locations. + +Usage:   +  >> Warping_mesh(varargin);   + +Optional Arguments:   +  ’subjectdir’ - (string) Output folder. The results will be saved   +   in this folder.   +  ’subject’ - (string) Subject name. Subject-specific output files will be saved   +   starting with this name.   +  ’session’ - (string) Session name. Session-specific output files will be saved   +   starting with this name. +``` +warping_main_function +--------------------- +``` +warping_main_function() - Main warping function.   + +Usage:   +  >> [Ptm, ind, Cscalp_w,Cskull_w,CCSF_w,W,A,e,LMm2] =   +  warping_main_function(Cscalp, Escalp, Cskull, CCSF,LMm, Fm, Fd, pos);   + +Inputs:   +  Cscalp, Escalp - scalp mesh   +  Cskull         - coordinates of skull mesh   +  CCSF           - coordinates of CSF mesh   +  LMm            - landmarks on the template mesh   +  Fm             - fiducials of the template mesh   +  Fd             - fiducials from the digitizer data   +  pos            - electrode locations   + +Outputs:   +  Ptm      - electrode locations on the mesh   +  ind      - index of the electrodes on the mesh   +  Cscalp_w - warped scalp mesh coordinates   +  Cskull_w - warped skull mesh coordinates   +  CCSF_w   - warped CSF mesh coordinates   +  W, A, e  - warping transform parameters   +  LMm2     - warped landmarks   +``` \ No newline at end of file diff --git a/plugins/NFT/NFT_Appendix_C.md b/plugins/NFT/NFT-Appendix-C.md similarity index 97% rename from plugins/NFT/NFT_Appendix_C.md rename to plugins/NFT/NFT-Appendix-C.md index 8ad9a5ed..4ebeff72 100644 --- a/plugins/NFT/NFT_Appendix_C.md +++ b/plugins/NFT/NFT-Appendix-C.md @@ -1,9 +1,11 @@ --- layout: default -title: NFT -long_title: NFT parent: NFT grand_parent: Plugins +render_with_liquid: false + +title: NFT-Appendix-C +long_title: NFT-Appendix-C --- Effect of brain-to-skull conductivity ratio estimate on EEG source localization ------------------------------------------------------------------------------- diff --git a/plugins/NFT/NFT_Appendix_B.md b/plugins/NFT/NFT_Appendix_B.md deleted file mode 100644 index c78da53d..00000000 --- a/plugins/NFT/NFT_Appendix_B.md +++ /dev/null @@ -1,597 +0,0 @@ ---- -layout: default -title: NFT -long_title: NFT -parent: NFT -grand_parent: Plugins ---- -bem_create_model ----------------- - -`bem_create_model() - Creates a model structure combining a mesh,  ` -`                     conductivity information and BEM parameters.  ` - -`Usage:  ` -`  >> model = bem_create_model(name, mesh, cond, mod);  ` - -`Inputs:  ` -`  name - model name, used as a base filename for matrices  ` -`  mesh - mesh structure obtained from BEM_LOAD_MESH  ` -`  cond - conductivity values for mesh tissue classes  ` -`         vector, starting from first tissue,  ` -`         0 is reserved for air  ` -`  mod  - index of the modified boundary, for use with IPA. ` -`         If mod <= 0, IPA is not used.  ` - -`Outputs:  ` -`  model - model structure with the following fields.  ` - -`Model Structure:  ` -`  name      - name of the model  ` -`  mesh      - mesh structure  ` -`  cond      - conductivity vector  ` -`  mod       - modified boundary information  ` -`  node_cond - Average conductivity around a node  ` - -`Optional Fields:  ` -`  ind_mod       - node indices of the modified boundary  ` -`  ind_imesh     - node indices of the inner mesh  ` -`  ind_imesh_mod - node indices of the modified boundary  ` -`                  relative to the inner mesh` - -bem_create_session ------------------- - -`bem_create_session() - Creates a session structure combining a model,  ` -`      and sensor data. The session structure contains a model for a ` -`      complete head and electrode ’recording session’. Data recorded ` -`      using the same set of sensor locations is considered  ` -`      to be in the same session.  ` - -`Usage:  ` -`      >> session = bem_create_session(name, model, Smatrix);  ` - -`Inputs:  ` -`  name    - session name, used as a base filename for matrices  ` -`  model   - model structure obtained from bem_create_model().  ` -`  Smatrix - matrix that defines EEG electrodes in terms of  ` -`    the BEM mesh. Each electrode is a weighted sum of the nodes  ` -`    of the element. The weights are determined by the element  ` -`    shape functions. The format of the Smatrix is as follows:  ` -`         [electrode_index node_index weight]  ` -`    The rows of the matrix must be sorted by electrode_index  ` -`    and there can be more than one row with a given electrode  ` -`    index. The Smatrix can be constructed using one of these:  ` -`    bem_smatrix_from_nodes() and bem_smatrix_from_points().  ` - -`Outputs:  ` -`  session - session structure with the fields defined in the next section  ` - -`Session Structure:  ` -`  name    - name of the session  ` -`  model   - model structure  ` -`  Smatrix - EEG sensor information matrix.  ` -`  num_electrodes - number of EEG sensors` - -bem_generate_eeg_matrices -------------------------- - -`bem_generate_eeg_matrices() - Generates BEM matrices for a BEM model.  ` - -`Usage:  ` -`      >> bem_generate_eeg_matrices(model);  ` - -`Inputs:  ` -`  model - model structure generated by BEM_CREATE_MODEL  ` - -`Notes: The matrices are created using the name given in the model structure  ` -`      The following matrices are created on disk, and can be read  ` -`      using the bem_load_model_matrix() function  ` -`      .cmt - BEM coefficient matrix  ` -`      .dmt - band of Coefficient matrix used by IPA  ` -`      .imt - inner Coefficient Matrix used by IPA` - -bem_generate_eeg_transfer_matrix --------------------------------- - -`bem_generate_eeg_transfer_matrix() - Generates EEG transfer matrix.  ` - -`Usage:  ` -`  >> session = bem_generate_eeg_transfer_matrix(session);  ` - -`Inputs:  ` -`  session - session structure generated by BEM_CREATE_SESSION  ` - -`Outputs:  ` -`  session - session object; since it may be modified when  ` -`            loading model matrices.  ` - -`Notes: The matrix is created using the name given in the session structure  ` -`      with "tmte" extension for the EEG transfer matrix. It can be loaded  ` -`      using the bem_load_transfer_matrix().` - -nft_get_config --------------- - -`nft_get_config() - Returns the toolbox configuration information  ` -`      program path names, defaults, etc. Other toolbox functions call this m-file  ` -`      to read their configuration.  ` - -`Outputs:  ` -`  conf - config structure.  ` - -`Config Structures:  ` -`  bem_matrix_program - name of the program that creates EEG matrices.  ` -`  asc - name of adaptive skeleton climbing program.  ` -`  qslim - name of the coarsening program.  ` -`  showmesh - name of the correction and smoothing program.` - -bem_load_mesh -------------- - -`bem_load_mesh() - Loads a BEM mesh.  ` - -`Usage:  ` -`  >> mesh = bem_load_mesh(name);  ` - -`Inputs:  ` -`  name - mesh name excluding the extension.  ` - -`Outputs:  ` -`  mesh - mesh structure.  ` - -`Mesh Structure:  ` -`  name  - mesh name  ` -`  coord - node coordinates  ` -`  elem  - elements (connectivity information)  ` -`  num_nodes - number of nodes  ` -`  num_elements - number of elements  ` -`  num_boundaries - number of boundaries  ` -`  num_node_elem - number of nodes per element  ` -`  num_class - number of tissue classes  ` -`  bnd - boundary information array  ` -`       [num_elements inner_tissue_class outer_tissue_class]` - -bem_load_model_matrix ---------------------- - -`bem_load_model_matrix() - Loads the BEM matrix with extension ’ext’.  ` -`The matrix file name is defined by .``  ` -`Matrix is placed into the model with a field name ’ext’  ` - -`Usage:  ` -`  >> model = bem_load_model_matrix(model, ext);  ` - -`Inputs:  ` -`  model - model structure generated by bem_create_model().  ` -`  ext - describes the matrix type. The following types are defined:  ` -`    ’cmt’ - BEM Coefficient matrix  ` -`    ’dmt’ - band of Coefficient matrix used by IPA  ` -`    ’imt’ - inner Coefficient Matrix used by IPA  ` -`    ’iinv’ - inverse of the inner coefficient matrix. This matrix is  ` -`      computed from ’imt’ if the file does not exist.  ` - -`Outputs:  ` -`  model - model structure.` - -bem_load_transfer_matrix ------------------------- - -`bem_load_transfer_matrix() Loads the BEM transfer matrix with extension ’ext’.  ` -`      The matrix file name is defined by .``.  ` -`      Matrix is placed into the session with a field name ’ext’.  ` - -`Usage:  ` -`  >> session = bem_load_transfer_matrix(session, ext);  ` - -`Inputs:  ` -`  session - session structure generated by bem_create_session().  ` -`  ext - describes the matrix type. The following type is defined  ` -`    ’tmte’ - BEM Transfer matrix.  ` - -`Outputs:  ` -`  session - updated session structure.` - -bem_smatrix_from_nodes ----------------------- - -`bem_smatrix_from_nodes() - Generates Smatrix from nodes of a mesh.  ` -`      Smatrix is the sensor information matrix used in  ` -`      bem_create_session(). See bem_create_session() for more information.  ` - -`Usage:  ` -`  >> Smatrix = bem_smatrix_from_nodes(mesh, nodes);  ` - -`Inputs:  ` -`  mesh - mesh structure  ` -`  nodes - vector of node indices.  ` - -`Outputs:  ` -`  Smatrix - defines one electrode per node. ` - -bem_solve_dipoles_eeg ---------------------- - -`bem_solve_dipoles_eeg() - Computes the potential arising from the given dipoles  ` -`at the sensor locations defined by the session.  ` - -`Usage:  ` -`  >> [pot, session] = bem_solve_dipoles_eeg(session, dipoles);  ` - -`Inputs:  ` -`  session - session structure defining the model and the sensors.  ` -`  dipoles - dipole matrix. Each row defines a dipole as follows:  ` -`           [x y z px py pz]  ` - -`Outputs:  ` -`   pot - potentials at the sensors due to simultaneous activation of  ` -`         the dipoles.  ` -`   session - the updated session structure, in case any matrices are  ` -`             loaded, modifying the underlying model.` - -bem_solve_lfm_eeg ------------------ - -`bem_solve_lfm_eeg() - Computes the LFM arising from given dipoles  ` -`at the sensor locations defined by the session.  ` - -`Usage:  ` -`  >> [pot, session] = bem_solve_lfm_eeg(session, dipoles);  ` - -`Inputs:  ` -`  session - session structure defining the model and the sensors  ` -`  dipoles - dipole matrix. Each row defines a dipole as follows:  ` -`           [x y z px py pz]  ` - -`Outputs:  ` -`  pot - the LFM at the sensors produced by activation of each dipole,  ` -`  session - updated session structure in case any matrices are  ` -`            loaded, modifying the underlying model.` - -Coregistration --------------- - -`Coregistration() - Produces the GUI for co-registration of electrode locations  ` -` to the scalp mesh.  ` - -`Usage:  ` -`  >> Coregistration(varargin);  ` - -`Optional Arguments:  ` -`  ’subjectdir’ - (string) Output folder. The results will be saved  ` -`   in this folder.  ` -`  ’subject’ - (string) Subject name. The subject-specific output files will start  ` -`   with this name.  ` -`  ’session’ - (string) Session name. The file name for registered electrodes will  ` -`   start with this name.` - -Forward_Problem_Solution ------------------------- - -`Forward_Problem_Solution() - Produces the forward model generation GUI.  ` - -`Usage:  ` -`  >> Forward_Problem_Solution(varargin);  ` - -`Optional Arguments:  ` -`  ’subjectdir’ - (string) Output folder. The results will be saved in this folder.  ` -`  ’subject’ - (string) Subject name. Subject-specific output files will be saved  ` -`   starting with this name.  ` -`  ’session’ - (string) Session name. Session-specific output files will be saved  ` -`   starting with this name.` - -Mesh_generation ---------------- - -`Mesh_generation() - Produces the mesh generation GUI.  ` - -`Usage:  ` -`  >> Mesh_generation(varargin);  ` - -`Optional Arguments:  ` -`  ’subjectdir’ - (string) Output folder. The results will be saved  ` -`   in this folder.  ` -`  ’subject’ - (string) Subject name. Output files will start with this name.` - -mesh_local_refinement ---------------------- - -`mesh_local_refinement() - Refines the meshes in a given folder. Loads  ` -`Scalp.smf, Skull.smf, Csf.smf, Brain.smf meshes in .smf format and saves  ` -`them with the same names.  ` - -`Usage:  ` -`  >> mesh_local_refinement(of, nl, ratio_lmr);  ` - -`Inputs:  ` -`  of - mesh folder  ` -`  nl - number of layers (3 or 4)  ` -`  ratio_lmr - ratio of local edge length to local distance between meshes` - -mesh_final_correction ---------------------- - -`mesh_final_correction() - Performs mesh correction for Scalp.smf,  ` -`Skull.smf, Csf.smf, Brain.smf in a given folder. Saves the meshes with  ` -`the same names in .smf format.  ` - -`Usage:  ` -`  >> mesh_final_correction(of, nl);  ` - -`Inputs:  ` -`  of - mesh folder  ` -`  nl - number of layers (3 or 4)` - -mesh_read_write ---------------- - -`mesh_read_write() - Reads Scalp, Skull, Csf and Brain meshes in .smf  ` -`format in a given folder and writes the total head mesh  bec, bee, bei  ` -`format.  ` - -`Usage:  ` -`  >> mesh_read_write(of, mesh_name, nl);  ` - -`Inputs:  ` -`  of - mesh folder  ` -`  mesh_name - name of the mesh that will be saved in bec, bee, bei format  ` -`  nl - number of layers (3 or 4)` - -Segmentation ------------- - -`Segmentation() - Produces the GUI for running segmentation functions.  ` - -`Usage:  ` -`  >> Segmentation(varargin);  ` - -`Optional Arguments:  ` -`  ’subjectdir’ - (string) Output folder. The results will be saved  ` -`   in this folder.  ` -`  ’subject’ - (string) Subject name. The output files will start with this name.` - -segm_aniso_filtering --------------------- - -`segm_aniso_filtering() - Performs anisotropic filtering.  ` - -`Usage:  ` -`  >> [b] = segm_aniso_filtering(out, iter, ts, cond);  ` - -`Inputs:  ` -`  out - input image  ` -`  iter - number of iterations  ` -`  ts - sampling rate  ` -`  cond - diffusion parameter  ` - -`Outputs:  ` -`  b - output image` - -segm_scalp ----------- - -`segm_scalp() - Performs scalp segmentation  ` - -`Usage:  ` -`  >> [Sca] = segm_scalp(b);  ` - -`Inputs:  ` -`  b - input image (filtered MR image)  ` - -`Outputs:  ` -`  Sca - scalp mask` - -segm_brain ----------- - -`segm_brain() - Performs brain segmentation  ` - -`Usage:  ` -`  >> [Bra] = segm_brain(b,Sca, sli, WMp,sl, st);  ` - -`Inputs:  ` -`  b - input image (filtered MR image)  ` -`  sli - lowest point for cerebellum  ` -`  WMp - white matter point  ` -`  sl,st - fill level and threshold for watershed segmentation  ` - -`Outputs:  ` -`  Bra - brain mask` - -segm_outer_skull ----------------- - -`segm_brain() - Performs outer skull segmentation  ` - -`Usage:  ` -`  >> [Sk_out, X_dark] = segm_outer_skull(b, Sca, Bra, sli_eyes);  ` - -`Inputs:  ` -`  b - input image (filtered MR image)  ` -`  Sca - scalp mask` -`  Bra - brain mask` -`  sli_eyes - slice of the eyes` - -`Outputs:  ` -`  Sk_out - outer skull mask` -`  X_dark - dark regions of b` - -segm_inner_skull ----------------- - -`segm_inner_skull() - Performs inner skull segmentation  ` - -`Usage:  ` -`  >> Sk_in = segm_inner_skull(b, Sk_out, X_dark, Bra);  ` - -`Inputs:  ` -`  b - imput image (filtered MR image)  ` -`  Sk_out - outer skull mask  ` -`  X_dark - dark regions of b  ` -`  Bra - Brain mask  ` - -`Outputs:  ` -`  Sk_in - inner skull mask  ` - -segm_final_skull ----------------- - -`segm_final_skull() - Corrects scalp and outer skull masks wrt inner  ` -`                  skull mask  ` - -`Usage:  ` -`  >> [Sca, Sk_out] = segm_final_skull(Sca, Sk_out, Sk_in, WMp);  ` - -`Inputs:  ` -`  Sca    - scalp mask  ` -`  Sk_out - outer skull mask  ` -`  Sk_in  - inner skull mask  ` -`  WMp    - white matter point  ` - -`Outputs:  ` -`  Sca    - scalp mask  ` -`  Sk_out - outer skull mask` - -utilbem_compute_cond --------------------- - -`utilbem_compute_cond() - Computes the average conductivity  ` -`    around a node to be used in BEM computations.  ` - -`Usage:  ` -`  >> cond = utilbem_compute_cond(Coord, Elem, layers, sigma)  ` - -`Inputs:  ` -`   Coord  - node coordinate matrix  ` -`   Elem   - element connectivity matrix  ` -`   layers - mesh boundary information  ` -`   sigma  - vector of element conductivities  ` - -`Outputs:  ` -`   cond - average conductivity for each node (vector)  ` - -`Note: The average conductivity is normally the average of the inner and outer  ` -`   conductivities of the layer that a node belongs to. However, for  ` -`   meshes with intersecting boundaries there may be three or more tissues  ` -`   around a node. This function also handles this general case.` - -utilbem_compute_indices ------------------------ - -`utilbem_compute_indices() - When the Isolated Problem Approach (IPA) is used,  ` -`    the BEM equations are modified to reduce the numerical errors due to  ` -`    the low conductivity skull layer.  For this purpose an "inner mesh"  ` -`    is defined consisting of skull and the inner layers. This function  ` -`    computes the node indices corresponding to these layers to be used  ` -`    in BEM computations.  ` - -`Usage:  ` -`  >> [indMsh, indMod, indMshMod] = utilbem_compute_indices(Coord, Elem, layers, mod);  ` - -`Inputs:  ` -`   Coord  - node coordinate matrix  ` -`   Elem   -  element connectivity matrix  ` -`   layers - mesh boundary information  ` -`   mod    - index of the boundary modified for IPA.  ` - -`Outputs:  ` -`   indMsh - coordinate indices of inner mesh nodes (vector).  ` -`   indMod - coordinate indices of modified boundary nodes (vector).  ` -`   indMshMod - Coordinate indices of modified boundary relative to inner  ` -`               mesh.` - -utilbem_multilayer_rhs ----------------------- - -`utilbem_multilayer_rhs() - Computes the Right-Hand-Side of the  ` -`    BEM matrix equation when IPA (Isolated Problem Approach) is  ` -`    used. The RHS vector corrected by IPA reduces numerical errors  ` -`    in computation due to the low conductivity skull layer.  ` - -`Usage:  ` -`  >> RHS = utilbem_multilayer_rhs(Coord, cond, indMod, indMsh, indMshMod,  ` -`   iinv, dmt, s2, s3, dip);  ` - -`Inputs:  ` -`   Coord     - node coordinate matrix  ` -`   cond      - average conductivity for each node (vector)  ` -`               as computed by utilbem_compute_cond()  ` -`   indMod    - coordinate indices of modified boundary nodes (vector).  ` -`   indMsh    - coordinate indices of inner mesh nodes (vector).  ` -`   indMshMod - coordinate indices of modified boundary relative to inner mesh.  ` -`               The indices are computed by utilbem_compute_indices()  ` -`   iinv      - inverse inner matrix.  ` -`   dmt       - sub coefficient matrix (# of nodes) x (# of mod. boundary nodes).  ` -`   s2        - outer conductivity of the modified layer.  ` -`   s3        - inner conductivity of the modified layer  ` -`   dip       - dipole parameters [x y z px py pz]  ` - -`Outputs:  ` -`   RHS - The right-hand-side of the BEM matrix equation for a given  ` -`   dipole.` - -utilbem_pot_unbound -------------------- - -`utilbem_pot_unbound() - Computes the unbounded potential at the  ` -`    given coordinates due to a single dipole. The result is  ` -`    weighted by the average conductivity around the node.  ` - -`Usage:  ` -`  >> pot = utilbem_pot_unbound(Coord, cond, dip)  ` - -`Inputs:  ` -`   Coord - node coordinate matrix  ` -`   cond  - average conductivity for each node (vector)  ` -`          as computed by utilbem_compute_cond()  ` -`   dip   - dipole [x y z px py pz]  ` - -`Outputs:  ` -`   pot - node potentials for the homogeneous model  ` - -`Notes: When IPA is not used the weighted potential ` -`   is the  Right-Hand-Side of the BEM matrix equation.` - -Warping_mesh ------------- - -`Warping_mesh() - Produces the GUI for warping of a template head model  ` -`        to measured electrode locations.` - -`Usage:  ` -`  >> Warping_mesh(varargin);  ` - -`Optional Arguments:  ` -`  ’subjectdir’ - (string) Output folder. The results will be saved  ` -`   in this folder.  ` -`  ’subject’ - (string) Subject name. Subject-specific output files will be saved  ` -`   starting with this name.  ` -`  ’session’ - (string) Session name. Session-specific output files will be saved  ` -`   starting with this name.` - -warping_main_function ---------------------- - -`warping_main_function() - Main warping function.  ` - -`Usage:  ` -`  >> [Ptm, ind, Cscalp_w,Cskull_w,CCSF_w,W,A,e,LMm2] =  ` -`  warping_main_function(Cscalp, Escalp, Cskull, CCSF,LMm, Fm, Fd, pos);  ` - -`Inputs:  ` -`  Cscalp, Escalp - scalp mesh  ` -`  Cskull         - coordinates of skull mesh  ` -`  CCSF           - coordinates of CSF mesh  ` -`  LMm            - landmarks on the template mesh  ` -`  Fm             - fiducials of the template mesh  ` -`  Fd             - fiducials from the digitizer data  ` -`  pos            - electrode locations  ` - -`Outputs:  ` -`  Ptm      - electrode locations on the mesh  ` -`  ind      - index of the electrodes on the mesh  ` -`  Cscalp_w - warped scalp mesh coordinates  ` -`  Cskull_w - warped skull mesh coordinates  ` -`  CCSF_w   - warped CSF mesh coordinates  ` -`  W, A, e  - warping transform parameters  ` -`  LMm2     - warped landmarks  ` diff --git a/plugins/NFT/index.md b/plugins/NFT/index.md index e5036129..e875408a 100644 --- a/plugins/NFT/index.md +++ b/plugins/NFT/index.md @@ -3,8 +3,9 @@ layout: default title: NFT long_title: NFT parent: Plugins +render_with_liquid: false has_children: true -nav_order: 16 +nav_order: 18 --- To view the plugin source code, please visit the plugin's [GitHub repository](https://github.com/sccn/NFT). @@ -88,35 +89,35 @@ Please visit home-pages of individual programs for more information on usage, source-code and license information. ASC: Adaptive skeleton climbing -homepage: http://www.cse.cuhk.edu.hk/~ttwong/papers/asc/asc.html +homepage: [http://www.cse.cuhk.edu.hk/~ttwong/papers/asc/asc.html](http://www.cse.cuhk.edu.hk/~ttwong/papers/asc/asc.html) QSLIM: Quadric-based surface simplification -homepage: http://mgarland.org/software/qslim.html +homepage: [http://mgarland.org/software/qslim.html](http://mgarland.org/software/qslim.html) BEM_MATRIX: The METU-FP Toolkit -homepage: http://www.eee.metu.edu.tr/metu-fp/ +homepage: [http://www.eee.metu.edu.tr/metu-fp/](http://www.eee.metu.edu.tr/metu-fp/) PROCMESH: Mesh correction and processing. No web page yet. Please contact NFT developers for source code. MATITK: Matlab and ITK -homepage: http://www.sfu.ca/~vwchu/matitk.html +homepage: [http://www.sfu.ca/~vwchu/matitk.html](http://www.sfu.ca/~vwchu/matitk.html) Note: The MATITK shared libraries are installed in the 'mfiles' directory. # Download -To download the NFT, go to the [NFT download -page](http://sccn.ucsd.edu/nft/). +To download the NFT, use the EEGLAB plugin manager. # NFT User's Manual See the tutorial section for more information. [Click here to download the NFT User Manual as a PDF book](https://github.com/user-attachments/files/16383465/NFT_Tutorial.pdf) -Creation and documentation by: Zeynep Akalin Acar, Project Scientist, zeynep@sccn.ucsd.edu +Creation and documentation by: Zeynep Akalin Acar, zeynep@sccn.ucsd.edu + +Support: Limited support is available from Yayha Shirazi, syshirazi@ucsd.edu # NFT Reference Paper Zeynep Akalin Acar & Scott Makeig, [Neuroelectromagnetic Forward Head -Modeling -Toolbox](http://sccn.ucsd.edu/%7Escott/pdf/Zeynep_NFT_Toolbox10.pdf). +Modeling Toolbox](http://sccn.ucsd.edu/%7Escott/pdf/Zeynep_NFT_Toolbox10.pdf). Journal of Neuroscience Methods, 2010