Designing Source Detector Geometry - BUNPC/AtlasViewer GitHub Wiki
The majority of fNIRS systems allow source and detector optical fibers to be arranged into a customized probe geometry. The design of such a probe requires the delicate balancing of various factors that impact the quality of the data that will be obtained. These include covering the desired brain regions, maintaining suitable source–detector (SD) separations, and maximizing channel density, all with a limited number of sources and detectors.
AtlasViewer allows a probe to be designed, amended, and assessed prior to probe fabrication, resulting in accelerated development of an optimal probe.
To begin creating a new probe design, from the AtlasViewer GUI, click Tool--> Make Probe.
This will launch a separate GUI, called SDgui, for creating SD files. If the user does not have a previous probe design to work from, clicking cancel in the “Open SD file” pop-up window will launch SDgui without any preloaded information (as shown in the following figure). If working from a previous design or a work in progress, then navigate to the appropriate *.SD file using this interface or use “File → Open” from the SDgui menu bar.
As shown in the figure, SDgui consists of a number of tables to the left-hand side, file and wavelength controls at the bottom and a large graphical representation of the probe in the upper-right (the probe graph).
When using SDgui, it is good practice to begin by naming the new probe using the text box at the bottom-center of the GUI. There is also an option to display the folder path where the new .SD file is stored by selecting the “View file path”. It is also necessary to enter the wavelengths of light that will be used in the experiment, as this is typically determined by hardware choices that have already been made and will not change.
The SDgui has two design views that are toggled using the radio bubble “Add Springs.” When the radio bubble is deselected, the user is able to: define the locations of sources and detectors; create measurement channels between sources and detectors; name, save and load files, and assign the wavelengths of light used by their fNIRS system, as shown in the figure above.
When “Add Springs” is selected, the source and detector location tables are replaced with tools for creating the springs, dummy optodes, and anchor points that are subsequently used to register a probe onto the surface of the selected atlas, as shown below.
The following gives a simple example of making a probe using SDgui.
-
Adding sources and detectors.
We will begin by placing a source at (0, 0, 0). To do this, enter a “0” in the first row of the “Sources” scroll box for the columns x, y, and z. This will create a red “1” at location (0, 0, 0) in the graph to the right. Next, add detectors at (30, 0, 0) and (0, 30, 0). These represent placements that are 30 mm to the right of and above the source, respectively. Now one source and two detectors are defined and displayed in the probe graph, as shown below.

After creating the sources and detectors in SDgui, the user could choose the identifiers for different types of optodes from the Grommet Type dropdown menu. It would be useful for customized 3D-print caps. Please see this page for more details.
NOTE that both millimeters and centimeters can be used in this interface, but when the file is saved the software will ask which units were used and convert them to millimeters, the preferred length unit for AtlasViewer.
After the first detector is added, but before the second is entered, the aspect ratio of the graphical representation of the probe may temporarily look strange. This is normal and is a function of the auto scaling that takes place.
-
Create measurement channels.
In order to do this, click on source number 1 in the probe graph and then on one of the two detectors. A green line will appear between this SD pair. Repeat this for the other SD pair to create the other measurement channel. To remove a channel, repeat the same operation and the channel between the SD pair will be removed.

Note that two sources or two detectors cannot be linked together in this way, as a channel cannot be created between two optodes of the same type. This procedure can be used to create the measurement list of all source/detector pairs within a given probe design.
-
Adding anchor points, dummy optodes, and springs.
After designing the 2D layout of the simple probe, we need to guide AtlasViewer on where to put the probe on the head using anchor points, dummy optodes, and springs. Please see the following steps:
(1) Click the “Add Springs” radio bubble. The probe graph will now contain three optodes with no connections between them and no distinction between sources and detectors. In this phase, you could connect any optode to any other optode to create a spring. Springs are used to establish the spacing between any two elements in the probe geometry.
(2) Add springs between (1, 2), (2, 3), and (3, 1) by clicking on two optodes. The length of these springs will be displayed in the Springs table (left, top). Note that clicking on the two optodes again connected by a spring will remove that spring.
(3) Create a dummy optode by typing (0, −30, 0) in the “Dummy Optodes” table (left, middle), in row 1, columns x, y, and z. A number will be assigned to the first column and the dummy optode will appear in the probe graph to the right. Create two more dummy optodes at (0, 60, 0) and (60, 0, 0).
(4) Use springs to connect dummy optode 4 to optode 3, dummy optode 5 to optode 2, and dummy optode 6 to optode 1.
(5) If a spring is clicked, the line will become dashed and the length of the spring in the “Springs” table (left, top) will be set to “−1.” In this example, we click on the spring between optodes 2 and 6, as shown below.
This designates that the spring does not have a fixed length, i.e., it is weaker compared to the other springs, and it will behave much more elastically in later steps. In this way, dummy optodes can be utilized with weaker springs to guide probe orientation without constraining distances.
(6) Anchor points are used to fix optodes at specific locations. Add anchor points by entering the following optode-reference point pairs into the “Anchor Points” table: (4, P4), (5, C4), and (6, RPA). The reference points P4, C4, and RPA refer to the standard 10-20 locations on the scalp.
Note that a minimum of three anchor points are required to uniquely place the probe onto the surface of the head. In this example, dummy optodes were anchored, but, in general, any source and detector optode can be anchored as well. Care must be taken when choosing the anchor points and springs to ensure that the probe is uniquely and accurately placed onto the surface of the head. Undesirable probe placement results may arise if the plane defined by the anchor points is intersecting the surface of the head near the normal of the surface. It is better for this plane to be closer to the tangent of the head surface. This process of selecting anchor points is quickly learned with some trial and error.
(7) When actually selecting these points, it may be helpful to switch back to the AtlasViewer window and activate the “Reference Points Labels” radio bubble, which will display the defined reference points that can be used on the atlas head. You can also select to display different landmarks (10-20, 10-10, or 10-5 reference points) by going into Tools --> Reference Points --> Show --> 10-20/10-10/10-5, as shown in the following figure.
(8) To save the SD file, click the “Save” button in the SD file box. A popup will prompt the user to select which spatial units are being used. Millimeters are recommended and are used in the present example.