---
name: "clmoptics"
section: "1"
platform: "linux"
package: "mcl"
version: "1:22-282+ds-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/clmoptics"
---

# clmoptics(1)

clm\_optics - implementation of the OPTICS reachability ordering

clmoptics is not in actual fact a program. This manual page documents the behaviour and options of the clm program when invoked in mode *optics*. The options **-h**, **--apropos**, **--version**, **-set**, **--nop** are accessible in all **clm** modes. They are described in the **clm** manual page.

**clm optics** -imx \<fname\> \[options\]

**clm optics** **-imx** fname (*input graph file name*) **-max-eps** \<num\> (*maximum distance considered*) **-min-eps** \<num\> (*minimum similarity considered*) **-min-pts** \<int\> (*minimum eps-neighbourhood size*) **\[-icl** fname (*input clustering name*)**\]** **\[-o** fname (*output name*)**\]** **\[-ps** fname (*PostScript output name*)**\]** **\[-psx** fname (*scaling factor x axis*)**\]** **\[-psy** fname (*scaling factor y axis*)**\]** **\[-ps-rows** \<num\> (*split reachability plot into \<num\> rows*)**\]** **\[--ps-labels** (*show identifiers in PS output*)**\]** **\[-h** (*print synopsis, exit*)**\]** **\[--apropos** (*print synopsis, exit*)**\]** **\[--version** (*print version, exit*)**\]**

This programs computes the reachability ordering according to the **OPTICS** clustering method. It can additionally output a PostScript plot of the reachability landscape. This plot can be annotated with a user-supplied clustering. The program does not implement the clustering method that is associated with **OPTICS**. It is part of **mcl-edge** primarily as a visualisation aid.

**-imx** fname (*input file*)\
 The input file, encoding a graph in native format.

**-max-eps** \<num\> (*maximum distance considered*)\
 **-min-eps** \<num\> (*minimum similarity considered*)\
 **-min-pts** \<int\> (*minimum eps-neighbourhood size*)\
 These encode the **OPTICS** parameters. Use **-max-eps** if the edge weights encode a distance (for example the Euclidean distance between points), use **-min-eps** if the edge weights encode a similarity.

**-o** fname (*output file name*)\
 **-ps** fname (*PostScript file name*)\
 **-icl** fname (*input clustering name*)\
 The **-o** *fname* option controls the name of the file in which the reachability values are written. By default these values are written to STDOUT.

If **-ps** *fname* is supplied the program will additionally output a visualisation of the reachability landscape plot in a PostScript file.

It is possible, in addition to **-ps**, to specify a clustering with **-icl** *fname*. Each vertical bar in the landscape plot will be coloured according to cluster membership, that is, nodes in the same cluster will have the same colour. This can be a useful way to visualise separation properties of clusterings.

**-psx** fname (*scaling factor x axis*)\
 **-psy** fname (*scaling factor y axis*)\
 **--ps-labels** (*show identifiers in PS output*)\
 **-ps-rows** \<num\> (*split reachability plot into \<num\> rows*)\
 By default the PostScript output will be scaled to fit onto an A3 page. The scaling options **-psx** and **-psy** can be used as additional scaling factors. By default these are set `1.0`.

The **--ps-labels** can be used to annotate each vertical bar in the landscape plot with the **mcl-edge** identifier of the corresponding node.

The **-ps-rows** option sets the number of rows. This is the primary option affect the width of a bar.

Stijn van Dongen.

**[mclfamily(7)](/mclfamily/7.md)** for an overview of all the documentation and the utilities in the mcl family.
