# Variability of V1, V2, and V3: Wiki
This wiki documents the "HCP Lines" project, whose goal is to analyze the retinotopic maps of the [Human Connectome Project](https://db.humanconnectome.org/) (HCP) [7 Tesla Retinotopy Dataset](https://doi.org/10.1167/18.13.23). The project includes a rich trove of data annotating the retinotopy dataset. Primarily, this includes hand-drawn ROI boundaries for V1, V2, and V3 along with hand-drawn iso-eccentricity contours for each hemisphere. These contours as well as various processed versions of them and additional derived data are documented on this wiki.
## What data are available?
The following kinds of data are available on a per-subject, per-anatomist, or per-line-set basis. Any data that is per-line-set is per subject and anatomist (e.g., there is one set of hand-drawn lines per subject and anatomist / per line-set).
**Traces and Paths**. Note that the following list of data includes a number of *line-sets*, each of which has slightly different properties and positions in the processing workflow. Both internally in the relevant Python code and in the files on this OSF page, line-sets are represented by two objects: one describing the line **"traces"** (or "path-traces") and one describing the **"paths"**. The difference is this: traces store the 2D points for each line in the 2D space that the anatomists used to draw the lines in the first place. The paths, on the other hand, store these traces in a format that can be easily projected to any 3D surface (such as the white, pial, inflated, or midgray surfaces). To do this, it stores each point by encoding the surface-mesh triangle in which the point lies along with the barycentric coordinates of the point in that triangle. Additionally, the paths must store not just the end-points of the drawn lines but also the intersections of the drawn-lines with each triangle-edge in the mesh--this way, lines can be reconstructed along the cortical surface instead of through it.
**The Data**.
1. **Data per Line-Set** (one for each hemisphere-anatomist pair)
1. **Raw Lines** are the lines originally drawn by the anatomist onto the subject. There are 12 lines drawn on each subject. These lines store the pixels clicked by the anatomist and must be combined with the **raw projections** in order understand the context of these clicks. Note that there is not "mean" anatomists fo the raw lines, but other data have "mean" anatomist entries.
2. **Native Lines** are the sets of lines after minimal pre-processing such as making sure that end-points for iso-eccentricity lines intersect with the outer V3 boundary lines.
3. **FSAverage Lines** are the native lines but projected to the FreeSurfer *fsaverage* surface.
4. **FSAverage500 Lines** are the same as the fsaverage lines, but the traces have been split into exactly 500 points. This is useful for making average sets of lines across anatomists.
5. **Anatomist Comments** are any comments the anatomist noted while drawing the line-set for a particular hemisphere.
6. **Anatomist Confidence** are flags for each line, noted by the anatomist, of whether or not they were confident in drawing the line in question.
7. **Native Sectors** are traces/paths that form closed loops around the various visual sectors (such as *V1v0* for V1-ventral between 0° and 0.5° of eccentricity).
8. **Native Areas** are like the native sectors but that the loops surrround entire visual areas such as V2.
9. **Labels** are the visual area or visual sector labels for each vertex; i.e., each vertex will have a value corresponding to what visual are or visual sector it is in.
10. **Surface Areas** are the surface are calculations for each sector or ROI based on the lines.
2. **Data per Hemisphere**
1. **Raw Projections** are the 3D-sphere-to-2D-flatmap projections used to create the 2D plots onto which the anatomists drew contours. These are intended to be combined with the **raw lines**.
2.
3. **Other Data**
1. **Processing Errors** are a list of errors, organized by subject and anatomist, that arose during processing of the raw lines.
2. **Exclusions** is a list of hemispheres that should be excluded from analysis due to errors; the list includes entries of the form (*anatomist*, *subject*, *hemispherer*).
3.
## How to access the project data
Data for this project can be accessed in two ways. First, all data are available on this OSF page (the [Files](https://osf.io/gqnp8/files/) link in the menu-bar). Descriptions of these files are provided below. Secondarily, the [neuropythy](https://github.com/noahbenson/neuropythy) Python library contains an interface that automatically downloads these data from the OSF site, caches them locally, and presents them as a set of Python data-structures. This is the recommended way of accessing the data and is also documented below.
### Using neuropythy to access the data
If you already have neuropythy installed,