Frequently Asked Questions (FAQ)
Is commercial use allowed?
For inquiries regarding commercial use, please contact the developer.
If you wish to use psiclone commercially, permission from the Japan Science and Technology Agency, the holder of the relevant patents, is mandatory.
For a list of related patents, please refer to the top page.
Edges added to a Geometry object are not visible when drawn with draw_geometry.
By default, each edge is assigned a color ranging from black to white based on its length. Therefore, the longest edge becomes white, and if the background is white, it becomes invisible. For example,
This will draw all edges in black.
Make sure to use a setting that avoids edges being the same color as the background.
What is the geotype option of add_node?
For boundary nodes, specify an integer value for geotype to indicate their boundary.
- For internal nodes that are not on a boundary, use
Geotype.INTERNAL(0) - For the external boundary, use
Geotype.EXTERNAL(1) - For other boundaries, use integers
Geotype.OTHERS(2) or higher
What is the order option of add_node?
For nodes that lie on a boundary, specify an integer or floating-point value corresponding to the orientation of that boundary (counterclockwise circular order).
How should the threshold be determined?
If threshold is small, more fine-grained edges will be generated. Depending on the data, the Reeb graph may become excessively detailed.
For data with extremely large amounts of noise, problems such as long computation times or the COT representation may become too long to extract important information. Conversely, if threshold is too large, the Reeb graph may become overly simplified. At present, there is no standard method for determining threshold, so please adjust it according to your purpose while observing the computation results.
I tried computing in a Jupyter Notebook, but it is slow and freezes
An assertion error occurs and the computation fails
There are patterns, referred to as structurally unstable, for which conversion to a COT representation is difficult. Depending on a combination of factors such as noise in the input data space and how the threshold value is specified, the data may become structurally unstable.
psiclone assumes that the input scalar data is a sufficiently smooth and structurally stable stream function. If the data resolution is sufficient, it is expected to be structurally stable in many cases, but assertion errors may occur for structurally unstable data.
This situation may also be easily triggered by inappropriate settings of the input data space Geometry, or by specifying a threshold that is too large, which can lead to similar situations due to the effects of noise removal.
Depending on the type of error encountered, it may be avoidable with prior adjustments (such as selecting an appropriate threshold), but in general it is difficult to eliminate all structurally unstable data. Therefore, the simplest approach is to simply ignore cases where errors occur using try...except.