Merged
Conversation
4a740e4 to
76d6073
Compare
Contributor
Author
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| jscpd | yes | 17 | no | 2.72s | ||
| prettier | 20 | 0 | 1 | 0 | 0.5s | |
| ✅ JSON | v8r | 20 | 0 | 0 | 6.15s | |
| ruff | yes | yes | 142 | no | 3.07s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.11s | |
| ✅ SPELL | cspell | 172 | 0 | 0 | 4.97s | |
| ✅ YAML | prettier | 4 | 0 | 0 | 0 | 0.47s |
| ✅ YAML | v8r | 4 | 0 | 0 | 4.33s | |
| ✅ YAML | yamllint | 4 | 0 | 0 | 0.39s |
Detailed Issues
⚠️ COPYPASTE / jscpd - 17 errors
Clone found (python):
- src/liblaf/melon/io/paraview/series/_shared.py [6:1 - 18:2] (12 lines, 104 tokens)
src/liblaf/melon/io/paraview/series/_writer.py [16:1 - 28:2]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py [31:5 - 36:6] (5 lines, 81 tokens)
exp/2025/04/30/human-head-anatomy/src/34-muscles.py [38:5 - 43:6]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py [80:7 - 86:15] (6 lines, 82 tokens)
exp/2025/04/30/human-head-anatomy/src/34-muscles.py [99:11 - 105:23]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/31-inspect-volumns.py [17:5 - 23:8] (6 lines, 101 tokens)
exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py [17:5 - 23:4]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/30-inspect-muscles.py [13:21 - 21:8] (8 lines, 77 tokens)
exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py [13:30 - 21:14]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/23-split-components.py [25:6 - 35:2] (10 lines, 92 tokens)
exp/2025/04/30/human-head-anatomy/src/40-gen-expression.py [15:4 - 25:2]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/23-split-components.py [36:5 - 50:4] (14 lines, 139 tokens)
exp/2025/04/30/human-head-anatomy/src/40-gen-expression.py [26:5 - 40:6]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/21-shortest-path-skin.py [34:5 - 47:2] (13 lines, 196 tokens)
exp/2025/04/30/human-head-anatomy/src/22-shortest-path.py [36:5 - 49:2]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/15-find-jaw-pivot.py [6:1 - 17:7] (11 lines, 103 tokens)
exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py [7:1 - 18:5]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/14-register-cranium.py [19:33 - 42:2] (23 lines, 219 tokens)
exp/2025/04/30/human-head-anatomy/src/14-register-mandible.py [19:34 - 42:2]
Clone found (python):
- exp/2025/04/30/human-head-anatomy/src/12-register-skin.py [28:30 - 38:23] (10 lines, 120 tokens)
exp/2025/04/30/human-head-anatomy/src/14-register-mandible.py [20:5 - 29:7]
Clone found (python):
- src/liblaf/melon/tri/_wrapping.py [13:1 - 20:5] (7 lines, 94 tokens)
src/liblaf/melon/ext/wrap/_fast_wrapping.py [16:1 - 23:6]
Clone found (python):
- src/liblaf/melon/transfer/_tri_point.py [61:1 - 74:2] (13 lines, 142 tokens)
src/liblaf/melon/transfer/_tri_point_to_tet.py [36:1 - 49:2]
Clone found (python):
- src/liblaf/melon/transfer/_tri_cell_to_point_category.py [18:36 - 27:7] (9 lines, 108 tokens)
src/liblaf/melon/transfer/_tri_point.py [20:19 - 29:7]
Clone found (python):
- src/liblaf/melon/transfer/_tri_cell_to_point_category.py [28:2 - 37:7] (9 lines, 136 tokens)
src/liblaf/melon/transfer/_tri_point.py [29:7 - 38:7]
Clone found (python):
- src/liblaf/melon/transfer/_tri_cell_to_point_category.py [56:10 - 65:2] (9 lines, 85 tokens)
src/liblaf/melon/transfer/_tri_point_to_tet.py [40:11 - 49:2]
Clone found (python):
- src/liblaf/melon/tetra/_transfer.py [15:33 - 22:17] (7 lines, 89 tokens)
src/liblaf/melon/tri/_transfer.py [21:20 - 28:9]
┌────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python │ 112 │ 3517 │ 35410 │ 17 │ 172 (4.89%) │ 1968 (5.56%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash │ 9 │ 212 │ 1345 │ 0 │ 0 (0%) │ 0 (0%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 121 │ 3729 │ 36755 │ 17 │ 172 (4.61%) │ 1968 (5.35%) │
└────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 17 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (4.61%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (4.61%) over threshold (0%)
at ThresholdReporter.report (/node-deps/node_modules/@jscpd/finder/dist/index.js:612:13)
at /node-deps/node_modules/@jscpd/finder/dist/index.js:110:18
at Array.forEach (<anonymous>)
at /node-deps/node_modules/@jscpd/finder/dist/index.js:109:22
at async /node-deps/node_modules/jscpd/dist/jscpd.js:351:5
⚠️ JSON / prettier - 1 error
.config/linters/pyrightconfig.json 69ms (unchanged)
.config/release-please/config.json 18ms (unchanged)
.github/renovate.json 3ms (unchanged)
.vscode/settings.json 7ms (unchanged)
[error] exp/2025/04/30/human-head-anatomy/data/01-raw/XYZ_ReadyToSculpt_eyesOpen_PolyGroups_GEO.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:74cac07560a0ac93e15b334d49841c637a59a44de0708f7aaf08cbcbf2e8f469
[error] 3 | size 719
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/01-raw/sculptor/cranium.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:766aedc9c892ef6cc830caffe266bcd28fb8fd00d9a144533e2c4739bb266cbd
[error] 3 | size 429
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/01-raw/sculptor/face.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:e458b1bb67aa33ac9db931cb0d6d6d685429cfb7d46417c1b333af46924ad85f
[error] 3 | size 800
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/01-raw/sculptor/mandible.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:f1e16d8631ac4cc730978f0422778d005ce78102daf535fdfe7b745259b86e3a
[error] 3 | size 476
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/01-raw/sculptor/skull.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:4df392ea2d66a5057ceefc7b5191760f6791e48bcfda3b55a3138f91f26989ff
[error] 3 | size 1215
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/11-skin.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:018f3bce8052b47b9a953ec89a9703fdd68c16454ba3e8bd849aab4eb9b6da6d
[error] 3 | size 719
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/12-skin.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:018f3bce8052b47b9a953ec89a9703fdd68c16454ba3e8bd849aab4eb9b6da6d
[error] 3 | size 719
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/13-cranium.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:45e42f3615dfd055ca57fd118c2c4b9a87dd20480fb79b8954b44feaf295cecb
[error] 3 | size 430
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/13-mandible.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:2ad40f18b58f1870f85705d3583e7b09d182bc2a110884a40dee313da812285b
[error] 3 | size 474
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/14-cranium.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:45e42f3615dfd055ca57fd118c2c4b9a87dd20480fb79b8954b44feaf295cecb
[error] 3 | size 430
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/14-mandible.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:2ad40f18b58f1870f85705d3583e7b09d182bc2a110884a40dee313da812285b
[error] 3 | size 474
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/skin-with-mouth-socket.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:5846defd42970713d2bcdd08b798fd2653346de4662129e1fffbe4521b41f1ad
[error] 3 | size 715
[error] 4 |
[error] exp/2025/04/30/human-head-anatomy/data/02-intermediate/skin.landmarks.json: SyntaxError: The input should contain exactly one expression, but the first expression is followed by the unexpected character `h`. (1:9)
[error] > 1 | version https://git-lfs.github.com/spec/v1
[error] | ^
[error] 2 | oid sha256:8a9430700a2b0e825304625d59107487f31f39c67421260dd9949f57b267ad3f
[error] 3 | size 804
[error] 4 |
pyrightconfig.json 2ms (unchanged)
tmp.6NE8UxMvCk/linters/pyrightconfig.json 2ms (unchanged)
tmp.6NE8UxMvCk/renovate-config.json 2ms (unchanged)
⚠️ PYTHON / ruff - 142 errors
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/cubic/src/10-gen.py:26:40
|
24 | for cid, cell in enumerate(tetmesh.cell):
25 | cell: pv.Cell
26 | barycentric: Float[np.ndarray, "N 3"] = melon.sample_barycentric_coords(
| ^^^^^
27 | (cfg.n_samples, 4)
28 | )
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/cubic/src/10-gen.py:29:36
|
27 | (cfg.n_samples, 4)
28 | )
29 | samples: Float[np.ndarray, "N 3"] = melon.barycentric_to_points(
| ^^^^^
30 | einops.repeat(cell.points, "B D -> N B D", N=cfg.n_samples), barycentric
31 | )
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/cubic/src/10-gen.py:32:33
|
30 | einops.repeat(cell.points, "B D -> N B D", N=cfg.n_samples), barycentric
31 | )
32 | is_in: Bool[np.ndarray, " N"] = melon.tri.contains(muscle, samples)
| ^^^^
33 | tetmesh.cell_data["muscle-fraction"][cid] = (
34 | np.count_nonzero(is_in) / cfg.n_samples
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/11-fix-skin.py:25:37
|
23 | skin_right.translate([left_xmax - right_xmin, 0.0, 0.0], inplace=True)
24 | skin: pv.PolyData = pv.merge([skin_right, skin_left])
25 | edge_lengths: Float[np.ndarray, " E"] = melon.tri.compute_edge_lengths(skin)
| ^^^^
26 | skin.clean(tolerance=0.5 * edge_lengths.min(), inplace=True, absolute=True)
27 | melon.save(cfg.output, skin)
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/12-register-skin.py:35:41
|
33 | source.clean(inplace=True)
34 | target: pv.PolyData = melon.load_polydata(cfg.target)
35 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
| ^^^^^
36 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/12-register-skin.py:36:41
|
34 | target: pv.PolyData = melon.load_polydata(cfg.target)
35 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
36 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
| ^^^^^
37 |
38 | free_polygons_floating: Integer[np.ndarray, " F"] = melon.tri.select_groups(
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/12-register-skin.py:38:49
|
36 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
37 |
38 | free_polygons_floating: Integer[np.ndarray, " F"] = melon.tri.select_groups(
| ^^^^
39 | source, cfg.floting
40 | )
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/14-register-cranium.py:27:41
|
25 | source.clean(inplace=True)
26 | target: pv.PolyData = melon.load_polydata(cfg.target)
27 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
| ^^^^^
28 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
29 | result: pv.PolyData = melon.tri.fast_wrapping(
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/14-register-cranium.py:28:41
|
26 | target: pv.PolyData = melon.load_polydata(cfg.target)
27 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
28 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
| ^^^^^
29 | result: pv.PolyData = melon.tri.fast_wrapping(
30 | source,
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/14-register-mandible.py:27:41
|
25 | source.clean(inplace=True)
26 | target: pv.PolyData = melon.load_polydata(cfg.target)
27 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
| ^^^^^
28 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
29 | result: pv.PolyData = melon.tri.fast_wrapping(
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/14-register-mandible.py:28:41
|
26 | target: pv.PolyData = melon.load_polydata(cfg.target)
27 | source_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.source)
28 | target_landmarks: Float[np.ndarray, "L 3"] = melon.load_landmarks(cfg.target)
| ^^^^^
29 | result: pv.PolyData = melon.tri.fast_wrapping(
30 | source,
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/23-split-components.py:22:23
|
20 | def classify(
21 | surface: pv.PolyData, include: pv.PolyData, exclude: pv.PolyData
22 | ) -> Bool[np.ndarray, " N"]:
| ^^^^
23 | nearest_algo: melon.NearestAlgorithm = melon.NearestPointOnSurface(
24 | distance_threshold=np.inf,
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/23-split-components.py:34:34
|
32 | exclude, surface, algo=nearest_algo
33 | )
34 | is_include: Bool[np.ndarray, " N"] = (
| ^^^^
35 | nearest_include["distance"] <= nearest_exclude["distance"]
36 | )
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/23-split-components.py:43:36
|
41 | tetmesh: pv.UnstructuredGrid, surface: pv.PolyData, data_name: str
42 | ) -> pv.UnstructuredGrid:
43 | point_ids: Integer[np.ndarray, " N"] = surface.point_data["point-id"]
| ^^^^
44 | data: Bool[np.ndarray, " N"] = np.zeros((tetmesh.n_points,), dtype=bool)
45 | data[point_ids[surface.point_data[data_name]]] = True
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/23-split-components.py:44:28
|
42 | ) -> pv.UnstructuredGrid:
43 | point_ids: Integer[np.ndarray, " N"] = surface.point_data["point-id"]
44 | data: Bool[np.ndarray, " N"] = np.zeros((tetmesh.n_points,), dtype=bool)
| ^^^^
45 | data[point_ids[surface.point_data[data_name]]] = True
46 | tetmesh.point_data[data_name] = data
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py:31:39
|
30 | for muscle in muscles:
31 | components: Float[np.ndarray, " 3"] = melon.as_trimesh(
| ^^^^
32 | muscle
33 | ).principal_inertia_components
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py:34:36
|
32 | muscle
33 | ).principal_inertia_components
34 | vectors: Float[np.ndarray, "3 3"] = melon.as_trimesh(
| ^^^^^
35 | muscle
36 | ).principal_inertia_vectors
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/32-muscle-direction.py:37:36
|
35 | muscle
36 | ).principal_inertia_vectors
37 | index: Integer[np.ndarray, " 3"] = np.argsort(components)
| ^^^^
38 | muscle.field_data["moment-inertia"] = melon.as_trimesh(muscle).moment_inertia
39 | muscle.field_data["principal-inertia-vectors"] = vectors[index]
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:43:36
|
41 | for muscle in muscles:
42 | muscle_tm: tm.Trimesh = melon.as_trimesh(muscle)
43 | vectors: Float[np.ndarray, "3 3"] = muscle_tm.principal_inertia_vectors
| ^^^^^
44 | components: Float[np.ndarray, " 3"] = muscle_tm.principal_inertia_components
45 | index: Integer[np.ndarray, " 3"] = np.argsort(components)
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:44:39
|
42 | muscle_tm: tm.Trimesh = melon.as_trimesh(muscle)
43 | vectors: Float[np.ndarray, "3 3"] = muscle_tm.principal_inertia_vectors
44 | components: Float[np.ndarray, " 3"] = muscle_tm.principal_inertia_components
| ^^^^
45 | index: Integer[np.ndarray, " 3"] = np.argsort(components)
46 | muscle.field_data["muscle-direction"] = vectors[index[0]]
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:45:36
|
43 | vectors: Float[np.ndarray, "3 3"] = muscle_tm.principal_inertia_vectors
44 | components: Float[np.ndarray, " 3"] = muscle_tm.principal_inertia_components
45 | index: Integer[np.ndarray, " 3"] = np.argsort(components)
| ^^^^
46 | muscle.field_data["muscle-direction"] = vectors[index[0]]
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:74:41
|
72 | cid: int
73 | major_muscle: str | None = None
74 | muscle_direction: Float[np.ndarray, " 3"]
| ^^^^
75 | muscle_fraction: float
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:82:36
|
80 | ) -> Result:
81 | cell: pv.Cell = tetmesh.get_cell(cid)
82 | barycentric: Float[np.ndarray, "N 3"] = melon.sample_barycentric_coords(
| ^^^^^
83 | (n_samples, 4)
84 | )
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:85:32
|
83 | (n_samples, 4)
84 | )
85 | samples: Float[np.ndarray, "N 3"] = melon.barycentric_to_points(
| ^^^^^
86 | einops.repeat(cell.points, "B D -> N B D", N=n_samples), barycentric
87 | )
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:88:29
|
86 | einops.repeat(cell.points, "B D -> N B D", N=n_samples), barycentric
87 | )
88 | is_in: Bool[np.ndarray, " N"] = np.zeros((n_samples,), dtype=bool)
| ^^^^
89 | muscle_direction: Float[np.ndarray, " 3"] = np.zeros((3,))
90 | muscle_fraction: float = 0.0
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:89:41
|
87 | )
88 | is_in: Bool[np.ndarray, " N"] = np.zeros((n_samples,), dtype=bool)
89 | muscle_direction: Float[np.ndarray, " 3"] = np.zeros((3,))
| ^^^^
90 | muscle_fraction: float = 0.0
91 | major_muscle: pv.PolyData | None = None
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head-anatomy/src/33-muscle-fraction.py:94:36
|
92 | major_muscle_fraction: float = 0.0
93 | for muscle in muscles:
94 | contains: Bool[np.ndarray, " N"] = melon.tri.contains(muscle, samples)
| ^^^^
95 | n_contains: int = np.count_nonzero(contains) # pyright: ignore[reportAssignmentType]
96 | if n_contains == 0:
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head-anatomy/src/34-muscles.py:53:36
|
51 | for muscle in muscles:
52 | muscle_tm: tm.Trimesh = melon.as_trimesh(muscle)
53 | vectors: Float[np.ndarray, "3 3"] = muscle_tm.principal_inertia_vectors
| ^^^^^
54 | components: Float[np.ndarray, " 3"] = muscle_tm.principal_inertia_components
55 | vectors = vectors[np.argsort(components)]
|
F722 Syntax error in forward annotation: Expected an expres
(Truncated to 13333 characters out of 65310)
See detailed reports in MegaLinter artifacts
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #81 +/- ##
=======================================
Coverage 57.39% 57.39%
=======================================
Files 87 87
Lines 1427 1427
Branches 105 105
=======================================
Hits 819 819
Misses 595 595
Partials 13 13 ☔ View full report in Codecov by Sentry. |
76d6073 to
b6300b2
Compare
b6300b2 to
dacaba3
Compare
dacaba3 to
68d2dbb
Compare
68d2dbb to
2587d88
Compare
2587d88 to
2ff5ec0
Compare
2ff5ec0 to
3e62710
Compare
liblaf
approved these changes
Nov 16, 2025
Contributor
Author
|
🤖 Created releases: 🌻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🤖 I have created a release beep boop
0.8.5 (2025-11-12)
🐛 Bug Fixes
♻️ Code Refactoring
This PR was generated with Release Please. See documentation.