Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR - Singular normal matrix. Network is no longer connected! #30

Open
kangahdesmond opened this issue Dec 22, 2024 · 1 comment
Open
Labels
question Further information is requested

Comments

@kangahdesmond
Copy link

2024-12-22 14:07:39,913 - INFO - ITERATION: 0
2024-12-22 14:07:39,914 - ERROR - Singular normal matrix. Network is no longer connected!
Traceback (most recent call last):
File "/home/deskay/miniconda3/envs/sarvey/bin/sarvey", line 8, in
sys.exit(main())
File "/home/deskay/miniconda3/envs/sarvey/lib/python3.10/site-packages/sarvey/sarvey_mti.py", line 311, in main
run(config=config, args=args, logger=logger)
File "/home/deskay/miniconda3/envs/sarvey/lib/python3.10/site-packages/sarvey/sarvey_mti.py", line 120, in run
proc_obj.runConsistencyCheck()
File "/home/deskay/miniconda3/envs/sarvey/lib/python3.10/site-packages/sarvey/processing.py", line 357, in runConsistencyCheck
spatial_ref_id, point_id, net_par_obj = parameterBasedNoisyPointRemoval(
File "/home/deskay/miniconda3/envs/sarvey/lib/python3.10/site-packages/sarvey/unwrapping.py", line 978, in parameterBasedNoisyPointRemoval
raise ValueError
ValueError, how can i solve this

@Andreas-Piter
Copy link
Member

Dear @kangahdesmond, the reason for this error is that the spatial network of points is not connected in step 1 - Consistency Check. Arcs with a high noise level are removed to avoid error propagation. In case too many arcs are removed, the network is not connected anymore. Hence network inversion yields a singular normal matrix.

How to fix this issue?
Please check out the figures which are created during step1. How is the distribution of first-order points? How many bad arcs are present in the first-order point network?
Try different values for the following parameters to achieve the following goals:

  1. Achieve a good spatial distribution of the first-order points
    Modify:
    coherence_p1: 0.9, // lower this, if most grid cells are empty
    grid_size: 200, // lower this to achieve a finer grid.

  2. Try to avoid that the network gets unconnect during removal of bad arcs
    Modify:
    num_nearest_neighbours: 30, // You can e.g. reduce this to 10
    arc_unwrapping_coherence: 0.6, // If most of the arcs are bad, then decrease this value to e.g. 0.5 or 0.4
    min_num_arc: 3, // Setting this to 2 or 1 removes the redundancy in the network and should only be applied with care.

Please provide the logfile and the figures from the respective step (here step1). It will make it easier for us to help you with an issue ;-)
Best, Andreas

@Andreas-Piter Andreas-Piter added the question Further information is requested label Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants