-
Notifications
You must be signed in to change notification settings - Fork 74
/
README
2797 lines (1433 loc) · 53.7 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file is part of the Matlab Toolboxes of project Gerardus.
=============================================================
Toolboxes in Gerardus:
=============================================================
* CardiacToolbox
Functions specific to cardiac image processing
* FileFormatToolbox
Functions to create image files or convert image files from
one format to another.
* FiltersToolbox
Filters to enhance or transform images in general, and SCI
NRRD data volumes in particular.
* ItkToolbox
ITK functions running as MEX files in Matlab.
* ManifoldToolbox
Operations with meshes and manifolds, open and closed.
* PointsToolbox
Functions to operate with sets of points.
* ThirdPartyToolbox
Derivative works or third party functions that cannot be
covered by the GPL used elsewhere in Gerardus, or code with an
uncertain licence status.
CardiacToolbox
-------------------------------------------------------------
blockface_correct_frame_shifts.m
blockface_correct_frame_shifts Correct shift between blockface image
frames.
blockface_correct_perspective.m
blockface_correct_perspective Correct perspective of Bewster angle
blockface images.
blockface_create_masks.m
blockface_create_masks User interface to create the elliptical and
polygonal segmentation masks used to correct blockface illumination.
blockface_equalise_illumination.m
BLOCKFACE_EQUALISE_ILLUMINATION Correct illumination inhomogeneities in
blockface photography.
blockface_intraframe_reg.m
BLOCKFACE_INTRAFRAME_REG Register consecutive frames in a list of
blockface images.
correct_rv_crescent_tips.m
CORRECT_RV_CRESCENT_TIPS Correct the segmentation of the Right
Ventricle's crescent tips using the segmentation of the tricuspid and
pulmonary annula
crest_envelope.m
CREST_ENVELOPE Compute the envelope for the Right Ventricle's crest
histology_blockface_manual_correction.m
HISTOLOGY_BLOCKFACE_MANUAL_CORRECTION Manual landmark correction of
3D histology volume to match blockface volume.
histology_blockface_preprocessing.m
histology_blockface_preprocessing Prepare histology and blockface for
registration.
histology_blockface_reg.m
HISTOLOGY_BLOCKFACE_REG Register deformed histology volume to blockface.
histology_intraframe_reg.m
histology_intraframe_reg Registration diffusion of histology slices.
histology_preprocessing.m
HISTOLOGY_PREPROCESSING Prepare slices for intra-histology registration.
is_lv_on_the_left.m
IS_LV_ON_THE_LEFT Check whether the left ventricle is on the left hand
side of the image.
process_misas_patient.m
PROCESS_MISAS_PATIENT Create MetaImage volumes from directory tree of
IMA DICOM files, for project with human hearts provided by Kelvin Wong
scimat_rv_crescent_tips.m
SCIMAT_RV_CRESCENT_TIPS Extract the tips of the crescent-shaped curve
in all slices of the Right Ventricle.
tissue2lvrv.m
TISSUE2LVRV Extract LV and RV cavities from tissue and atrioventricular
surface segmentations
trimatria.m
TRIMATRIA Remove the atria from a whole cardiac tissue segmentation
ventricles_phantom.m
VENTRICLES_PHANTOM Create phantom image of simplified heart ventricles
CgalToolbox
-------------------------------------------------------------
cgal_alpha_shape3.m
CGAL_ALPHA_SHAPE3 Whole alpha-shape of a 3D set of points
cgal_check_self_intersect.m
CGAL_CHECK_SELF_INTERSECT Check for self-intersections in a triangular
mesh
cgal_closest_trifacet.m
CGAL_CLOSEST_TRIFACET Closest triangular facet of a mesh to a point in 3D
cgal_fixed_alpha_shape3.m
CGAL_FIXED_ALPHA_SHAPE3 Individual alpha-shapes of a 3D set of points
cgal_insurftri.m
CGAL_INSURFTRI Find whether a point is inside or outside a closed
surface.
cgal_meshseg.m
CGAL_MESHSEG Surface meshing of an isosurface from a segmentation or
grayscale image.
cgal_surfsubdivision.m
CGAL_SURFSUBDIVISION 3D Surface Approximating Subdivision Methods
cgal_trifacet_area.m
CGAL_TRIFACET_AREA Area of the facets in a triangular mesh
cgal_tri_fillholes.m
CGAL_TRI_FILLHOLES Fill holes in a triangular mesh, with triangles.
cgal_tri_simplify.m
CGAL_TRI_SIMPLIFY Reduce number of faces in triangular mesh using edge
collapse.
DiffusionMRIToolbox
-------------------------------------------------------------
add_Rician_noise_to_simulated_dMRI_data.m
ADD_RICIAN_NOISE_TO_SIMULATED_DMRI_DATA adds Rician noise to simulated
MRI_signals.
dt2image.m
DT2IMAGE Inverts the transform in fit_DT
The suggested usage of this file is to easily check how well a diffusion
tensor fits to your data. Eg:
dt_from_smoldyn_pt1.m
DT_FROM_SMOLDYN_PT1 Cuts down the positions data to only that needed.
dt_from_smoldyn_pt2.m
DT_FROM_SMOLDYN_PT2 Calculates the MRI signal
dt_from_smoldyn_pt3.m
DT_FROM_SMOLDYN_PT3 Calculates DT from MRI signal
PART 3 OF THE CALCULATION OF THE DIFFUSION TENSOR FROM THE SMOLDYN MODEL DATA
This part calculates the diffusion tensor from the MRI signals.
fit_biexponential_tensor.m
FIT_BIEXPONENTIAL_TENSOR Fit the bi-exponential tensor model
fits the function S = S0_fast * e^(b*D_fast) + S0_slow e^(b*D_slow)
fit_DKI_model.m
FIT_DT Fits the diffusion kurtosis model voxelwise to an image
S = S0 exp(-(bD + 1/6 b^2 * K))
fit_DT.m
FIT_DT Fits the diffusion tensor model voxelwise to an image
S = S0 exp(-bD)
fit_DT_YHd_method.m
FIT_DT_YHD_METHOD Calculates the diffusion tensor to a set of diffusion
MRI images
fit_stretched_exponential.m
FIT_STRETCHED_EXPONENTIAL Fit the stretched exponential model of
diffusion to an image
fit_stretched_exponential_tensor.m
global_reference_frame.m
GLOBAL_REFERENCE_FRAME Returns unit vectors for the global reference frame
Fits a straight line through the center of the left ventricle cavity,
and then computes the radial, circumferential, and longitudinal vectors
based on this line.
quiver_image.m
QUIVER_IMAGE Displays a 2D slice of a 3D image with a quiver plot
overlaid on top.
view_tensors.m
VIEW_TENSORS Renders diffusion tensors in 3D, colour coded by HA
weighted_linear_fit.m
WEIGHTED_LINEAR_FIT fits the function Y = MX (matrices) such that the
residuals are minimised after having @func applied to them.
I.e. func(Y) - func(MX) is the problem we are really trying to
solve.
wild_bootstrapping_DTI.m
WILD_BOOTSTRAPPING_DTI Returns uncertainty measures from diffusion tensor
images via wild bootstrapping. See Whitcher 2008 - Using the Wild
Bootstrap to Quantify Uncertainty in Diffusion Tensor Imaging
ElastixToolbox
-------------------------------------------------------------
elastix_affine_crot.m
ELASTIX_AFFINE_CROT Change centre of rotation of Elastix affine
transform.
elastix_affine_matrix2struct.m
ELASTIX_AFFINE_MATRIX2STRUCT Convert homogeneous coordinates matrix
format to elastix struct format.
elastix_affine_struct2matrix.m
ELASTIX_AFFINE_STRUCT2MATRIX Convert any type of affine transform from
elastix struct format to homogeneous coordinates matrix format.
elastix_bspline_grid2param.m
ELASTIX_BSPLINE_GRID2PARAM Convert control points from grid to
TransformParameters vector form.
elastix_bspline_grid.m
ELASTIX_BSPLINE_GRID Control point grid of B-spline transformation.
elastix_cat.m
ELASTIX_CAT Concatenation of elastix transforms.
elastix_colon.m
ELASTIX_COLON Colon operator for elastix transforms.
elastix_compose_afftransf.m
ELASTIX_COMPOSE_AFFTRANSF Composition of two 2D affine transforms.
elastix_delete_param_file.m
ELASTIX_DELETE_PARAM_FILE Delete sequence of transform files.
elastix_fitgeotrans.m
ELASTIX_FITGEOTRANS Transformix struct for image transformation obtained
from matching two sets of landmarks
elastix_length.m
ELASTIX_LENGTH Number of transform levels in an elastix series.
elastix.m
ELASTIX Matlab interface to the image registration program "elastix".
elastix_read_file2param.m
ELASTIX_READ_FILE2PARAM Read file with elastix parameters into struct.
It accepts nested transform files.
elastix_read_reg_output.m
ELASTIX_READ_REG_OUTPUT Read output of registration computed with
elastix.
elastix_transf_imcoord2.m
elastix_transf_imcoord Convert 2D pixel coordinates using
elastix/transformix transform.
elastix_write_param2file.m
elastix_write_param2file Write struct with elastix parameters to file.
It accepts nested transform parameters.
transformix.m
TRANSFORMIX Matlab interface to the image warping program "transformix".
transformix_pts.m
TRANSFORMIX_PTS Matlab interface to the image warping program
"transformix", but for point transformation.
FileFormatToolbox
-------------------------------------------------------------
dcm2mat.m
DCM2MAT Read a batch of DICOM files, collate them and save as a
single volume in a .mat file
dcm2metaimage.m
DCM2METAIMAGE Read a batch of DICOM files, collate them and save as a
single MetaImage volume (one .mha and one .raw file)
dcm2scimat.m
DCM2SCIMAT Load DICOM file or convert DICOM image data into SCIMAT
format.
im2metaimage.m
IM2METAIMAGE Read a batch of image files, collate them and save as a
single MetaImage "file" (actually, one .mha and one .raw file)
imread_list.m
IMREAD_LIST Read list of image files into volume.
im_resize.m
IM_RESIZE Resize a list of image files (.tif, .png, etc) with ImageMagick
convert, directly file to file
load_dcm.m
LOAD_DCM Load array of DICOM filenames as 3D+t image and metainformation
matrix.
load_multi_dcm_dir.m
LOAD_MULTI_DCM_DIR Read metadata from DICOMDIR file.
match_file_lists.m
MATCH_FILE_LISTS Sort and match two lists of filenames by chosen tokens,
removing filenames whose token is not in both lists.
matlab2vox_seg3d.m
MATLAB2VOX_SEG3D Convert Matlab file with Seg3D segmentation to vox
format (for the Tarantula meshing application)
ndpi_focus_points.m
NDPI_FOCUS_POINTS Read focus points coordinates from .ndpi image file
obtained from a Hamamatsu microscope.
nuimagesc.m
NUIMAGESC imagesc() with non-uniform pixel spacing
parsave.m
parsave Save workspace variables to file within a parfor loop.
scimat_im2scimat.m
SCIMAT_IM2SCIMAT Create SCIMAT struct from scratch.
scimat_imagesc.m
SCIMAT_IMAGESC Display 2D image in real world coordinate axes.
scimat_index2world.m
SCIMAT_INDEX2WORLD Convert image indices to real world coordinates for
the SCIMAT image struct that we use in Gerardus.
scimat_load.m
SCIMAT_LOAD Load an image into a SCIMAT struct from a Matlab, MetaImage,
Carl Zeiss LSM, Hamamatsu VMU or regular graphics file (PNG, TIFF, etc).
scimat_resample.m
SCIMAT_RESAMPLE resamples a scimat file given an input and output scimat.
scimat_save.m
SCIMAT_SAVE Save a SCIMAT struct to several file formats.
scimat_scimat2imref.m
SCIMAT_SCIMAT2IMREF Matlab's image reference frame from SCIMAT metadata.
scimat_seg3d2matlab.m
SCIMAT_SEG3D2MATLAB Correct dimensions of data loaded from a *.mat file
created with Seg3D so that it will follow Matlab's convention.
scimat_slice_GUI.m
SCIMAT_SLICE_GUI Create graphical user interface to view slices in
scimat struct. Checkboxes allow for slice visibility to be turned on/off
scimat_tiff2scimat.m
SCIMAT_TIFF2SCIMAT Create SCIMAT struct from TIFF stack.
scimat_varian2scimat.m
scimat_world2index.m
SCIMAT_WORLD2INDEX Convert real world coordinates to image indices for
the SCIMAT image struct that we use in Gerardus.
Function SCIMAT_WORLD2INDEX() converts the coordinates of a voxel given
as real world coordinates [x, y, z, t] into index coordinates
[row, column, slice, frame].
smoldyn2matlab.m
SMOLDYN2MATLAB imports and converts Smoldyn molecule trajectory into
Matlab format.
sortdirbynum.m
SORTDIRBYNUM List the files in a directory ordering them by a numerical
substring field in the file name
vmu2png.m
VMU2PNG Convert a microscope image file from .vmu to .png format.
writemetaimagefile.m
WRITEMETAIMAGEFILE Write a MetaImage file (.mha) with both header and
data.
WriteMhaFile.m
WRITEMHAFILE Write the header part of a MetaImage file (.mha)
WriteRawFile.m
WRITERAWFILE Write the binary part of a MetaImage file (.raw)
FiltersToolbox
-------------------------------------------------------------
amrf_seg.m
AMRF_SEG Adaptive Markov Random Field segmentation.
blockproc3.m
BLOCKPROC3 Block processing for a 3D image
bwbox.m
BWBOX Find tight box around segmentation (and possibly add a margin)
bwregiongrow.m
BWREGIONGROW Fast region grow labelling of binary image from multiple
seeds
bwrmsmallcomp.m
BWRMSMALLCOMP Remove small connected components from a segmentation
bw_sb_interp.m
BW_SB_INTERP Function that performs the shape-base interpolation
following Herman et al. (1992) paper
bwsplitwithsurf.m
BWSPLITWITHSURF Split a volume into connected components separated by a
surface
ccwrap.m
CCWRAP Wrapper that enables CTRL+C interruption of MEX files
col2im3.m
correct_light_blobs_in_microscope_mosaic.m
CORRECT_LIGHT_BLOBS_IN_MICROSCOPE_MOSAIC Correct the colour blob created
by the microscope's light in each tile of a mosaic, e.g. for histology.
forward_TGV.m
forward_TV_2D.m
FORWARD_TV_2D Total variation of a 2D image
Returns the sum of finite differences in 2D, and the residuals
forward_TV.m
FORWARD_TV Total variation of a 3D image
Returns the sum of finite differences in 3D, and the residuals
fspecial3.m
FSPECIAL3 Create predefined 3-dimensional filters
gmthr_seg.m
GMTHR_SEG Segment an image estimating threshold as intersection of two
Gaussians from Gaussian mixture model
im2col3.m
im2dmatrix.m
IM2DMATRIX Sparse distance matrix between 2D or 3D image voxels,
weighted by voxel intensities
imagesc_nD.m
imblend.m
IMBLEND Blend two image stacks to increase the apparent dynamic range
and improve the signal to noise ratio
imcmass.m
IMCMASS Centre of mass of an image.
img_tps_map.m
IMG_TPS_MAP Warp an image using a thin-plate spline transformation
im_modes.m
IM_MODES Estimate typical values (modes) of foreground/background
intensities in a greyscale image.
inverse_TGV.m
INVERSE_TGV Returns the residuals of 2nd order total generalised variation
inverse_TV_2D.m
INVERSE_TV_D Inverse total variation of a 2D image
Returns the inverse of forward_TV_2D
inverse_TV.m
INVERSE_TV Inverse total variation of an image
Returns the inverse of forward_TV
labmathmorph.m
LABMATHMORPH Mathematical morphology operators on a labelled
segmentation, one label at a time
mm_opening.m
MM_OPENING Mathematical Morphology operator: Opening (erosion+dilation)
with removal of small components
scimat_blockproc3.m
SCIMAT_BLOCKPROC3 Block processing for a 3D SCI MAT volume
scimat_box.m
SCIMAT_BOX Compute tight box around SCIMAT segmentation.
scimat_centroids.m
SCIMAT_CENTROIDS Compute centroid of segmentation in each slice.
scimat_crop.m
SCIMAT_CROP Crop a SCIMAT image or segmentation volume of any dimension.
scimat_downsample.m
SCIMAT_DOWNSAMPLE Downsample scimat image by x2.
scimat_estimate_bias_field.m
SCIMAT_ESTIMATE_BIAS_FIELD Estimate MRI bias field.
scimat_gradients.m
SCIMAT_GRADIENTS Compute 1st and 2nd order image gradients
scimat_intersect_plane.m
SCIMAT_INTERSECT_PLANE Intersection of a plane with an image volume.
scimat_lconvhull_smoothing.m
SCIMAT_LCONVHULL_SMOOTHING Mesh and rasterization of the smoothing of a
binary image using a local convex hull.
scimat_lineintersection.m
scimat.m
SCIMAT Struct used in Gerardus to store 2D, 3D or 3D+t images and axis
metainformation.
scimat_ndgrid.m
SCIMAT_NDGRID Generation of arrays for 2D to 4D SCIMAT image volumes.
scimat_optimal_intersecting_plane.m
SCIMAT_OPTIMAL_INTERSECTING_PLANE Optimise intersection plane for SCIMAT
segmentation mask.
scimat_papillary_muscles.m
SCIMAT_PAPILLARY_MUSCLES Extract the papillay muscles from a
segmentation of the Left Ventricle's cavity.
scimat_regionprops.m
SCIMAT_REGIONPROPS Measure properties of image regions on each slice.
scimat_resize3.m
SCIMAT_RESIZE3 Resize a 3D scimat image.
scimat_seg2label_stats.m
SCIMAT_SEG2LABEL_STATS Shape stats for each object in a multi-label
segmentation; objects can be straightened with an skeleton or medial line
before computing some measures.
scimat_seg2voxel_stats.m
SCIMAT_SEG2VOXEL_STATS Shape stats for each voxel in a segmentation
based on a windowed neighbourhood.
scimat_skeleton_prune.m
SCIMAT_SKELETON_PRUNE Prune branches in a segmentation's skeletonization
scimat_squeeze.m
SCIMAT_SQUEEZE Remove dummy dimension from SCIRUNNRRD struct so that it
becomes a SCIMAT struct.
scimat_unsqueeze.m
SCIMAT_UNSQUEEZE Add dummy dimension to SCIMAT struct so that it becomes
a SCIRUNNRRD struct.
scimat_upsample.m
scimat_vertical_orientation_pca_basis.m
SCIMAT_VERTICAL_ORIENTATION_PCA_BASIS Compute a basis from the
Principal Components of a set of voxels, such that the vertical axis is
assigned to the maximum variability, and the basis is right-hand oriented
seg2dmat.m
SEG2DMAT Local neighbourhood distance matrix between segmentation voxels
skeleton_label.m
SKELETON_LABEL Give each branch of a skeleton a different label, and
sort the voxels within each branch.
skeleton_plot.m
SKELETON_PLOT Plot a labelled segmentation and its skeleton
typicalpsf.m
TYPICALPSF Estimate point spread function from microbeads image
ItkToolbox
-------------------------------------------------------------
itk_imfilter.m
ITK_IMFILTER Run ITK filter on a 2D, 3D or 4D image.
itk_pstransform.m
ITK_PSTRANSFORM: Spatial transformation (i.e. warp) of a set of points,
defined from a known landmark correspondence
itk_tri_rasterization.m
ITK_TRI_RASTERIZATION Rasterization of triangular mesh to binary
segmentation
ManifoldToolbox
-------------------------------------------------------------
add_vertex_to_tri.m
ADD_VERTEX_TO_TRI Add vertices to a triangular mesh
arclen2chord.m
ARCLEN2CHORD Sphere arc length distances to Euclidean chord length
distances.
chord2arclen.m
CHORD2ARCLEN Euclidean chord length distances to sphere arc length
distances.
closest_trifacet.m
CLOSEST_TRIFACET Closest triangular facet of a mesh to a point in 3D
congrow.m
CONGROW Grow the local neighbourhoods in a connectivity matrix
delaunay_sphere.m
DELAUNAY_SPHERE Triangulation of a sphere or a surface topologically
equivalent to a sphere so that it can be used as a mesh
dmatrix_con.m
DMATRIX_CON Sparse distance and shortest-path distance matrices between
the nodes of a mesh from a connectivity matrix
dmatrix_mesh.m
DMATRIX_MESH Sparse distance and shortest-path distance matrices between
the nodes of a mesh
dmatrix_sphmesh.m
DMATRIX_SPHMESH Sparse great-circle distance and shortest-path distance
matrices between the nodes of a spherical mesh
graphcc.m
GRAPHCC Split a graph into connected components.
graph_gclosure.m
GRAPH_GCLOSURE Geodetic closure of a subset of vertices on a graph.
lmdscale.m
LMDSCALE Local neighbourhood Multidimensional scaling on a plane
proj_on_sphere.m
PROJ_ON_SPHERE Project a point configuration onto a sphere
quadsurf.m
QUADSURF Quadrangular mesh surface plot
remove_vertex_from_tri.m
REMOVE_VERTEX_FROM_TRI Remove vertices from a triangular mesh
scimat_surface2seg.m
scimat_surface2seg Convert triangular mesh into segmentation.
scimat_tri_to_raster.m
SCIMAT_TRI_TO_RASTER Rasterize a closed triangular mesh.
smdscale.m
SMDSCALE Local neighbourhood Multidimensional scaling on a sphere
sphtri_foldcc.m
SPHTRI_FOLDCC Find connected components of groups of vertices causing a
fold on the sphere
sphtri_signed_vol.m
SPHTRI_SIGNED_VOL Signed volume of the elements of a sphere partitioned
into tetrahedra.
sphtri_vertex_istangled.m
SPHTRI_VERTEX_ISTANGLED Find tangled vertices in a spherical triangular
mesh.
surface_interp.m
surface_interp Interpolate an open or closed surface from a parametrized
scattered set of points.
surface_param.m
surface_param 2D parametrization of a scattered set of 3D points or of
the vertices of a triangular mesh, for open and closed surfaces.
surface_tridomain.m
surface_tridomain Triangular mesh to cover a planar or spherical domain.
tri2sphrad.m
TRI2SPHRAD Estimate radius of sphere with same area as triangular mesh.
tri_ccqp_smacof_nofold_sph_pip.m
TRI_CCQP_SMACOF_NOFOLD_SPH_PIP Constraints in PIP format for CCQP-SMACOF
to ensure that 2D triangules on the sphere preserve positive orientation.
triconncomp.m
TRICONNCOMP Find connected components in mesh
trifacet_area3D.m
TRIFACET_AREA3D Surface area of triangles in triangular mesh.
Function to calculate the surface area of a 3D mesh of triangles. This
function uses Heron's forumla to calculate the sides of each triangle.
[TOTAL_AREA, AREAS, SIDES] = TRIFACET_AREA3D(FACES, VERTICES)
FACES is a 3-column matrix. Each row of FACES contains the indices of
one triangle in the mesh.
trifacet_signed_area.m
TRIFACET_SIGNED_AREA Signed area of the facets in a 2D triangulation.
tri_find_nonmanifold_vertex.m
TRI_FIND_NONMANIFOLD_VERTEX Find indices of non-manifold vertices in a
triangular mesh
trihemisphere.m
TRIHEMISPHERE Triangular mesh on hemisphere with roughly uniformly
distributed points
tri_qcqp_smacof_nofold_2d.m
TRI_QCQP_SMACOF_NOFOLD_2D Constraints for QCQP-SMACOF to ensure that a
2D triangular mesh has no fold-overs.
tri_qcqp_smacof_nofold_2d_pip.m
TRI_QCQP_SMACOF_NOFOLD_2D_PIP Constraints in PIP format for QCQP-SMACOF
to ensure that 2D triangules preserve positive orientation.
tri_squeeze.m
TRI_SQUEEZE Remove disconnected vertices from triangular mesh
vertex_untangle.m
VERTEX_UNTANGLE Find 2D coordinates for a free vertex surrounded
by a polygon of fixed counter-clockwise sorted vertices such that the
free vertex is untangled.
PointsToolbox
-------------------------------------------------------------
bwmesh.m
BWMESH Tetrahedral volumetric and triangular surface mesh of a binary
segmentation.
cons_smacof_pip.m
CONS_SMACOF_PIP SMACOF algorithm with polynomial constraints (PIP file
format).
coords_from_dist_gower.m
COORDS_FROM_DIST_GOWER Compute point coordinates from distances to a set
of landmarks, as described in Gower (1986)
cube_five_tessellation.m
CUBE_FIVE_TESSELLATION Tessellation in 5 tetrahedra of a cube with
perpendicular diagonals on opposite sides of the cube (non-stackable)
cube_stackable_tessellation.m
CUBE_STACKABLE_TESSELLATION Tessellation in tetrahedra of a cube that
can be stacked in a regular mesh
dmatrix2coords.m
DMATRIX2COORDS Point coordinates from distance matrix
dmatrix.m
DMATRIX Matrix of distances between vectors
extmat2rotmat.m
EXTMAT2ROTMAT Convert rotation in extended matrix form into centroid and
matrix pair
findpeaksn.m
FINDPEAKSN Find local peaks (local maxima) in n-dimensional data
gram2dsq.m
GRAM2DSQ Convert Gram matrix to squared distance matrix
graph_nn.m
GRAPH_NN Nearest neighbours from a subset of nodes in a graph to another
subset
intersect_gaussians.m
INTERSECT_GAUSSIANS Intersection of two Gaussians (analytic solution)
intersect_line_plane.m
INTERSECT_LINE_PLANE Find intersection of a line with a plane
iscollinear.m
ISCOLLINEAR Test to determine whether a set of points are collinear
mba_surface_interpolation.m
MBA_SURFACE_INTERPOLATION Scattered data Multilevel B-spline interpolation
pca_align.m
PCA_ALIGN Align a set of points so that its centroid is zero, and the
Principal Components correspond to the Cartesian axes
pca_normalize.m
PCA_NORMALIZE Normalize a set of points so that its centroid is zero,the
Principal Components correspond to the Cartesian axes, and the variance
(eigenvalue) along each Principal Component is one
plotaxes.m