The *normalised* digest should exclude any fields or
attributes irrelevant to the core contents of the object (e.g. timestamps,
absolute location of the input files on disk etc). In theory then, this
value should be constant for the same data regardless of the particular
machine on which the digest is being computed.

```
ndigest(x, ...)
# S3 method for neuronlistfh
ndigest(x, ...)
# S3 method for dotprops
ndigest(x, absoluteVectors = TRUE, ...)
# S3 method for neuron
ndigest(
x,
fieldsToExclude = c("InputFileName", "CreatedAt", "NodeName", "InputFileStat",
"InputFileMD5"),
...
)
```

- x
Object for which a normalised digest will be computed.

- ...
Additional arguments passed to methods and then on to

`digest`

- absoluteVectors
Whether to check only the absolute value of eigenvectors for equality (default TRUE, see details)

- fieldsToExclude
Character vector naming the neuron fields to exclude

A character string containing the digest of the supplied object
computed by `digest`

.

`ndigest.neuronlistfh`

only considers the `keyfilemap`

and
`df`

(metadata data.frame) when computing the hash value. See
`neuronlistfh`

for the significance of these two fields.

`ndigest.dotprops`

ignores any `mtime`

or `file`

attributes. It also converts tangent vectors to absolute values (when
`absoluteVectors=TRUE`

) because the direction vectors are computed
using an eigenvector decomposition where the sign of the eigenvector is
essentially random and subject to small numerical instabilities. Therefore
it does not usually make sense to rely on the value of vect exactly.

`ndigest.neuron`

ignores the following fields:

InputFileName

CreatedAt

NodeName

InputFileStat

InputFileMD5