> For the complete documentation index, see [llms.txt](https://janelia-flyem.gitbook.io/neutu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://janelia-flyem.gitbook.io/neutu/protocols/connection-validation.md).

# Connection Validation

When you start a new synapse validation protocol, NeuTu will ask you to provide a protocol file as a start point. The file should contain a list of points that corresponding to the positions of the synaptic elements to validate.

{% tabs %}
{% tab title="Protocol file example" %}

```javascript
{
  "file type": "connection validation",
  "username": "flyem",
  "software": "NeuTu",
  "file version": 1,
  "points": [
    [
      1117,
      982,
      1024
    ],
    [
      1117,
      974,
      1023
    ]
  ]
}
```

{% endtab %}

{% tab title="Schema" %}

```javascript
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "date": {
      "type": "string"
    },
    "file type": {
      "type": "string",
      "const": "connection validation"
    },
    "username": {
      "type": "string"
    },
    "software": {
      "type": "string"
    },
    "coordinate system": {
      "type": "string"
    },
    "file version": {
      "description": "Version of protocol file. Only 1 is supported for now",
      "type": "integer",
      "const": 1
    },
    "points": {
      "descriptions": "Positions of the synapses to validate",
      "type": "array",
      "items": {
        "type": "array",
        "items": [
          {
            "type": "integer"
          },
          {
            "type": "integer"
          },
          {
            "type": "integer"
          }
        ]
      }
    }
  },
  "required": [
    "file type",
    "file version",
    "points"
  ]
}
```

{% endtab %}
{% endtabs %}

After launching the protocol successfully, you should be able to see a dialog like this:

![Connection Validation Dialog](/files/-MMW7Z8n14mXTWfyJh7L)

We can see from the dialog that each task of this protocol is to review a synaptic connection (supposed to be a PSD) by checking if:

* The position of the connected T-bar is correct
* The T-bar is on a body that looks correct locally
* The position of the PSD is correct
* The PSD is on a body that looks correct

One done with reviewing, you can press the `Complete protocol` button to finish the protocol. If you want to exit the protocol and resume the current progress later, press the `Exit protocol`. The validation results are saved as key values in DVID under `api/node/<uuid>/NeuTu-protocols/key/<protocol_key>`. The protocol key has the form like `/api/node/(uuid)/NeuTu-protocols/key/(username)-connection_validation-(identifier)`.

{% hint style="info" %}
Tips

* Usually you will just review things in order, manually clicking the check boxes, and click "mark review/go to next" when done with each.
* You can click "next" to go out of order, or click directly in the list if you prefer; it's one list so you see pending and complete all at once, and you can go back and change things later easily
* When you click first/next buttons, or goto current, NeuTu will navigate to the x, y, z location of the PSD in the 2d view.
* There are no keyboard shortcuts right now
  {% endhint %}

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://janelia-flyem.gitbook.io/neutu/protocols/connection-validation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
