This file type is designed to store any kind of unstructured network (such as delaunay tesselations or more generally cell complexes). In DisPerSE, its usage is restricted to networks of simplices though, and it is mainly used to store ascending and descending manifolds (voids and walls for instance) and persistence pairs as output by mse or Delaunay tessellations as output by delaunay_nD (skeleton files can also be converted to networks using *skelconv -to NDnet*). Within network files, networks are represented by setz of vertices and cells of any dimension. A n-cell is a cell of dimension *n*, which is therefore described, in the case of a simplicial network, as a set of *n+1* vertices index. In the case of a simplicial *complex*, only the highest dimensional cell have to be explicitly given, but other type of cells may also be specified. Indeed, extended manifolds for instance are not described as complexes: an ascending 0-manifold in 3D is a set of tetrahedrons (3-cells), triangles (representing ascending 1-manifolds on its boundary), segments (ascending 2-manifolds on its boundary) and vertices (ascending 3-manifolds / critical points). Note that additional information can also be associated to each type of cell (see below).

The base network format is NDnet which is used internally, but this format may be converted to several other more or less complex formats of network files adapted to different applications (see option *-to* in program netconv, a list of available formats is displayed when running the program without argument).

**Available formats**:

- -
**NDnet**(Read / Write):

This is the format of the network files created or red by mse. It is a relatively complex binary format (it is actually more complex than needed as it is designed to store generic non-simplicial networks) that contains all the information on the geometry and topology of unstructured networks as well as additional data associated to each type of cells.

- -
**NDnet_ascii**(Read / Write):

This ASCII format contains the same amount of information as*NDnet*files, but restricted to simplicial networks. It is easy to read and write so it may be used to write reasonably sized networks used as input for*mse*.

- -
**PLY**and**PLY_ascii**(Read binary only / Write):

This is a rather popular and simple binary or ASCII format that can be used as an interface with other software.

- -
**vtk**,**vtk_ascii**,**vtu**and**vtu_ascii**(Write only):

These formats are binary and ASCII legacy and XML VTK formats that are readable by several 3D visualization tools, such as VisIt or ParaView for instance.

**Additional data**: In addition to the topology and geometry of the network, arbitrary additional information may be associated to each type of cell. Run *netconv filename -info* for a list of additional data available in the network file *filename*. By default, the name of additional data added by mse is relatively explicit, it includes (see also the *additional data* section of the skeleton file format description):

- -
**field_value**/**log_field_value**:

The value of the field and its logarithm. The tag*field_value*corresponds to the input function for*mse*, whose Morse-Smale complex is to be computed.

- -
**cell**:

The*type*and*index*of a cell in the original network (prefix may be added). The value is a double precision floating number whose integer part is the index of the cell and decimal part its type. For instance, the 156th vertex (i.e. 0-cell) in the cell complex is represented as 156.0, while the 123th tetrahedron is 123.3. Note that the index of the 0-cell correpond to the index of the pixel / vertices in the original network from which the skeleton was computed.

- -
**type**:

This usually corresponds to the critical index of a critical point (for instance, vertices of persistence pairs networks), or the type of a persistence pair (i.e. the minimum critical index of the CP in the pair, for segments of persistence pairs networks).

- -
**index**

Usually the index of a vertex (e.g. for persistence pairs, additional segment data tagged*up_index*and*down_index*correspond to the indices of the vertices with lowest and highest critical index in the persistence pair respectively).

- -
**persistence**/**persistence_ratio**/**persistence_nsigmas**:

The persistence (expressed as a difference, ratio or in*number of sigmas*) of the persistence pair containing the corresponding critical point. A negative or null value indicates that*persistence*is not relevant to this particular cell.

- -
**parent_index**/**parent_log_index**(vertices only):

For persistence pairs type networks, for each vertex representing an extremum (i.e. minima and maxima), the index of the vertex that corresponds to the other extremum into which it would be merged if its persistence pair was canceled (indices start at 0). This can be used to reconstruct the tree of the hierarchy of maxima and minima. The value is -1 for non extrema critical points. The difference between the two versions is that the second (*parent_log_index*) is the hierarchy computed from the logarithm of the field. The second version is useful only for discrete point samples whose MS-complex is obtained from the delaunay tessellation computed with*delaunay_nD*. Practically,*parent_log_index*can be used whenever persistence pairs are cancelled in order of increasing ratio (option*-nsig*in*mse*), and*parent_index*whenever persistence pairs are cancelled in order of increasing difference (option*-cut*in*mse*).

- -
**source_cell**/**source_index**:

For networks representing manifolds (voids, walls, ... obtained with option -dumpManifolds of mse), this represents for each simplex the critical point from which the manifold it belongs to originates (for instance, the minimum corresponding to a void, or the saddle point corresponding to a filament). In*source_cell*, the critical points is represented by its cell in the initial cell complex (see**cell**above), while*source_index*gives the index of the critical point in the skeleton file or persistence pair network obtained with mse (options*-dumpArcs*and*-ppairs*). See also here and there in the tutorial section.