Get from Ico-github-logo

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
gptoolbox

  • Toolbox Fast Marching - A...
  • cprintf.m
  • compute_distance_landmark.m
  • compute_edge_energy.m
  • compute_geodesic.m
  • compute_heuristic_landmark.m
  • display_eccentricity.m
  • generate_constrained_map.m
  • load_potential_map.m
  • perform_circular_fast_mar...
  • perform_farthest_landmark...
  • perform_farthest_point_sa...
  • perform_fmstar_2d.m
  • perform_fmstar_3d.m
  • perform_front_propagation...
  • perform_geodesic_interpol...
  • pick_start_end_point.m
  • plot_constrained_path_pla...
  • plot_fast_marching_2d.m
  • plot_fast_marching_3d.m
  • plot_volumetric_data.m
  • clamp.m
  • compute_cuvilinear_abscice.m
  • compute_distance_to_points.m
  • compute_edges.m
  • compute_gaussian_filter.m
  • compute_grad.m
  • compute_vertex_ring.m
  • imageplot.m
  • mmax.m
  • nb_dims.m
  • num2string_fixeddigit.m
  • perform_contour_extraction.m
  • perform_convolution.m
  • perform_curve_extraction.m
  • perform_curve_resampling.m
  • perform_image_resize.m
  • perform_tensor_recomp.m
  • perform_vf_normalization.m
  • plot_mesh.m
  • prod_vf_sf.m
  • progressbar.m
  • read_off.m
  • triangulation2adjacency.m
  • write_ply.m
  • Hungarian(Perf)
  • MLSD2DTransform(varargin)
    MLSD2DTRANSFORM Generates a 2D MLSD structure.
  • MLSD2DWarp(varargin)
    MLSD2DWARP Transforming an image warping a grid of points.
  • MLSD2DlinesPrecompute(var...
    MLSD2DLINESPRECOMPUTE Generates a 2D MLSD structure.
  • MLSD2DpointsPrecompute(va...
    MLSD2DPOINTSPRECOMPUTE Generates a 2D MLSD structure.
  • MLSDeformImage(img,p,step...
    MLSDEFORMPOINTS Deform a set of point interactively
  • MLSDeformPoints(v,p,type,...
    MLSDEFORMPOINTS Deform a set of point interactively
  • TriScatteredInterpVector(...
  • add_gptoolbox_tab_complet...
  • add_shadow(T,L,varargin)
  • adjacency_dihedral_angle_...
  • adjacency_edge_cost_matri...
  • adjacency_list(F,b)
  • adjacency_matrix(E)
  • affine_fit(X,W)
    Copyright (c) 2013, Adrien Leygue
  • affine_null_space(A,b,var...
  • all_pairs_distances(V,U)
  • alpha_complex(varargin)
  • animated_tetramesh(T,X,Y,Z)
  • animated_trisurf(F,X,Y,Z)
  • annulus(s,r,varargin)
  • apply_ambient_occlusion(t...
  • arap(varargin)
  • arap_energy(V,F,U,varargin)
  • arap_gradient(V,F,U,varar...
  • arap_hessian(V,F,varargin)
  • arap_linear_block(varargin)
  • arap_rhs(varargin)
  • avgedge(V,F)
  • axisangle2matrix(w,a)
  • axisangle2quat(W,TH)
  • axisanglebetween(u,v,nan_...
  • bake_onto_vertices(S,B,V,F)
  • barycenter(V, F)
  • barycentric_coordinates(P...
  • betti(F,varargin)
  • bfs_orient(F)
  • biharmonic_bounded(V,F,b,...
  • biharmonic_coordinates(V,...
  • biharmonic_distance(V,F,i...
  • biharmonic_embedding(V,F,...
  • binomialFilter(sz)
    KERNEL = binomialFilter(size)
  • blue()
  • blur(im, nlevs, filt)
  • blurDn(im, nlevs, filt)
  • bone_heat(V,F,C,P,BE,CE)
  • bone_parents(BE)
  • bone_visible(V,F,s,d)
  • boundary_conditions(V,F,C...
  • boundary_faces(T)
  • bounding_box(V,varargin)
  • box_height_field(im,varar...
  • buildGpyr(im, ht, filt, e...
  • buildLpyr(im, ht, filt1, ...
  • buildSCFpyr(im, ht, order...
    [PYR, INDICES, STEERMTX, HARMONICS] = buildSCFpyr(IM, HEIGHT, ORDER, TWIDTH)
  • buildSCFpyrLevs(lodft,log...
    [PYR, INDICES] = buildSCFpyrLevs(LODFT, LOGRAD, XRCOS, YRCOS, ANGLE, HEIGHT, NBANDS)
  • buildSFpyr(im, ht, order,...
  • buildSFpyrLevs(lodft,log_...
  • buildSpyr(im, ht, filtfil...
    [PYR, INDICES, STEERMTX, HARMONICS] = buildSpyr(IM, HEIGHT, FILTFILE, EDGES)
  • buildSpyrLevs(lo0,ht,lofi...
  • buildWpyr(im, ht, filt, e...
  • bwmesh(A,varargin)
  • bwstencil(im,varargin)
  • cache_test(A,B)
  • cage2tet( cage_name, ...
  • callback_active_contour(x...
    callback_active_contour - callback for conjugate gradient
  • catOBJs(input_files, outp...
  • cat_meshes(V,F,varargin)
  • cbrewer(cname, ncol, inte...
    CBREWER - This function produces a colorbrewer table (rgb data) for a
  • cconv2(a,b,ctr)
  • cdt(varargin)
  • centroid(V,F,varargin)
  • check_face_vertex(vertex,...
    check_face_vertex - check that vertices and faces have the correct size
  • circumradius(V,T)
  • clean(V,F,varargin)
  • clean_dir(dir_arg)
    CLEAN_DIR Clean an entire directory of models
  • clean_tetgen_mesh(input_f...
  • clear_class(class_name)
  • clip(im, minValOrRange, m...
  • cmyk2rgb(cmyk)
  • collapse_close_points(C,E...
  • columnize(mtx)
  • combine(IV,IF,EV,EF)
  • combn(V,N)
    COMBN - all combinations of elements
  • compute_alpha_map(aname, ...
    compute_alpha_map - set up alphamap
  • compute_bending_invariant...
    compute_bending_invariant - compute bending invariants
  • compute_eccentricity_tran...
    compute_eccentricity_transform - compute the eccentricity of a binary shape
  • compute_edge_face_ring(face)
    compute_edge_face_ring - compute faces adjacent to each edge
  • compute_geodesic_mesh(D, ...
    compute_geodesic_mesh - extract a discrete geodesic on a mesh
  • compute_heuristic_multire...
    % compute coarse resolution map
  • compute_levelset_shape(na...
    compute_levelset_shape - compute some basic level set shapes
  • compute_saddle_points(Q,D...
    compute_saddle_points - compute saddle points of a Voronoi segmentation
  • compute_shape_boundary(M)
    compute_shape_boundary - extract boundary points
  • compute_voronoi_triangula...
    compute_voronoi_triangulation - compute a triangulation
  • compute_voronoi_triangula...
    compute_voronoi_triangulation_mesh - compute a triangulation
  • conformalized_mean_curvat...
  • conic(varargin)
  • conncomp(G)
  • connectedComponent(TT,TAG)
    CONNECTEDCOMPONENT Compute the connected components of a subset of triangles
  • connectedComponentV(VV,TAG)
    CONNECTEDCOMPONENTV Compute the connected components of a subset of vertices
  • connected_components(F)
  • convert_distance_color(D,M)
    convert_distance_color - convert a distance function to a color image
  • cookie_cutter(P,E)
  • coordinate_constraint(V,C)
  • corrDn(im, filt, edges, s...
  • cotangent(V,F,varargin)
  • cotmatrix(V,F)
  • cotmatrix3(V,T)
  • cotmatrix_embedded(V,F)
  • cotmatrix_intrinsic(l,F,n...
  • covariance_scatter_matrix...
  • create_cache(cache_name)
  • create_flat_triangular_me...
    good mesh to catch possible bugs in geodesic algorithms
  • create_hedgehog_mesh(N, s...
    "smoothness" should be specified between 0(smooth, convex mesh) and 1 (a lot of sharp features)
  • create_irregular_grid( xR...
    commented this out so dart_threshold==0 case would be exactly same vertex
  • create_irregular_grid_wit...
  • create_regular_grid(xRes,...
    Creates list of triangle vertex indices for a rectangular domain,
  • create_subdivision_patter...
    regular subdivision pattern of a triangle
  • crop(M,n,c)
    crop - crop an image to reduce its size
  • crouzeix_raviart_cotmatri...
  • crouzeix_raviart_grad(V,F)
  • crouzeix_raviart_massmatr...
  • cspy(S,epsilon)
  • cube(x,y,z)
  • curvature(P,varargin)
  • curve_smooth(S,E,varargin)
    Conformal mean curvature flow for curves
  • cut_edges(F,E)
  • default_mosek_param()
  • default_quadprog_param()
  • deform_mls(varargin)
  • deform_skeleton(C,BE,P,dQ)
  • delaunayize(V,F,varargin)
  • delta_mush(V,F,U0,varargin)
  • denoise(noisy_signal,prio...
  • depends(f,depth)
  • depth_bars(im,D,d,varargin)
  • depth_darken(im,D,varargin)
  • df_build(V,C)
    DF_BUILD Build a volumetric distance field and spatial index that can be used
  • df_build_fast(V,C)
    DF_BUILD_FAST Build a volumetric distance field and spatial index that can be
  • df_query( DF, p)
    DF_QUERY Use the spatial index build with df_build to provide approximate NN
  • diag_blk_inv(M,k)
  • dihedral_angles(V,T,varar...
  • dijk(A,s,t)
    DIJK Shortest paths from nodes 's' to nodes 't' using Dijkstra algorithm.
  • dijkstra_shepard(V,F,C,p)
  • discrete_gaussian_curvatu...
  • display_segmentation(B,M)
    display_segmentation - display a level set segmentation
  • dith(im,K,offset)
  • div(V,F)
  • div3(V,T)
  • divgrad(M,options)
    divgrad - compute either gradient or divergence.
  • divmatrix(V,F)
  • doublearea(V,F)
  • doublearea_intrinsic(l)
  • dpsimplify(p,tol)
    Recursive Douglas-Peucker Polyline Simplification, Simplify
  • draw_boxes(BN,BX,varargin)
  • dualquatlbs(V,DQ,W)
  • eat_comments(file_pointer...
  • edge_lengths(V,F)
  • edges(F)
  • encage(V,CV,CF,varargin)
  • engraving(im,w,t,s,l)
  • entropy2(mtx,binsize)
  • equilateral_tiling(x)
  • et(V,F,E)
    ET Compute the relation edge to triangle of a manifold mesh.
  • eucdist2(varargin)
    EUCDIST2 Compute 2-D Euclidean distance transform.
  • exactgeodesic(V,F,id,w)
    "release" is faster and "debug" does additional checks
  • expand_axis(f,ah)
  • explode_tetramesh(T,V,steps)
  • exterior_edges(F)
  • extract_coordinates_from_...
    this elegant way is incompatible with the older versions of matlab
  • extrude(V,F,varargin)
  • faces_first(V,T,F)
  • faces_in_polygon(V,F,X,Y,...
  • facet_adjacency_matrix(F,...
  • facet_laplacian(V,F)
  • factorial(num)
    RES = factorial(NUM)
  • farthest_points(V,k,varar...
  • fast_mass_springs(V,E,b,b...
  • fd_grad(side)
  • fd_laplacian(side)
  • figgif(filename,varargin)
  • fill_holes(SV,SF)
  • find_cache()
  • find_ears(F)
  • fit_rigid(V,U)
  • fit_rotation(S)
  • fit_rotations(S,varargin)
  • fit_rotations_mex()
  • fixNEIGH(TT,TN)
  • flip_ears(V,F,varargin)
  • flip_edges(F,E,varargin)
  • forward_kinematics(C,BE,P...
  • fphong()
  • fsoft()
  • gaussmap(V,F)
  • geodesic_best_source(algo...
    finds best source and distance to the best source
  • geodesic_convert_surface_...
    internal geodesic function
  • geodesic_create_surface_p...
  • geodesic_delete(object)
    delete mesh, algorithm, or everything at once
  • geodesic_new_algorithm(me...
  • geodesic_new_mesh(points,...
  • geodesic_propagate(algori...
  • geodesic_trace_back(algor...
  • get_control_points(V,F)
  • get_pencil_curve(f)
  • get_pencil_curves(tol)
  • get_scribbles(im,varargin)
  • getlayers(mesh, nlayers)
    GETLAYERS Get layers from a manifold mesh stored as a half-edge
  • getlayershe(mesh, outside...
    GETLAYERSHE Does the same as getlayers except instead of finding layers by
  • getoptions(options, name,...
    getoptions - retrieve options parameter
  • getpoints(N,force,mark)
    GETPOINTS Allow to get from the current figure a set of N points
  • glue_reverse(V,F)
  • gold()
  • gptoolbox_version()
  • grad(V,F)
  • grad3(V,T)
  • gray2rgb(im,map,n)
  • green_coordinates(C,E,eta)
  • group_sum_matrix(G,k)
  • half_space_intersect(V,F,...
  • hatch(im,levels,thickness)
  • hausdorff(VA,FA,VB,FB)
  • hds(F,nlayers)
    Halfedge datastructure from the list of triangles
  • heat_geodesic(varargin)
  • heat_map(varargin)
  • hex2rgb(HEX)
    HEX2RGB - convert hexadecimal color strings to RGB values
  • histo(mtx, nbins, binCtr)
  • histoMatch(mtx, N, X)
  • icp(A,B,varargin)
  • imGradient(im, edges)
  • imStats(im1,im2)
    imStats(IM1,IM2)
  • image_laplacian(varargin)
  • imdir(dir_name)
  • imgrid(im,varargin)
  • imtrim(im,varargin)
  • imupsample(oim,varargin)
  • imwrite_gif(S,filename,va...
  • in_element(V,F,P,varargin)
  • in_elements(F,T)
  • in_mesh(V,F,Q)
  • inequality_constraints_fr...
  • inflate(varargin)
  • innerProd(mtx)
    RES = innerProd(MTX)
  • input_medit(V,F,C)
  • interleave_rows(A,B)
  • internalangles( V, F)
    INTERNALANGLES Compute internal angles per face (in degrees)
  • internalangles_intrinsic(l)
    INTERNALANGLES_INTRINSIC Compute internal angles per face (in degrees) using
  • interpolate_cbrewer(cbrew...
    % INTERPOLATE_CBREWER - interpolate a colorbrewer map to ncolors levels
  • intrinsic_delaunay_cotmat...
  • is_boundary_facet(E,F)
  • is_delaunay(V,F,varargin)
  • is_planar(V,epsilon)
  • is_vertex_nonmanifold(F)
  • is_writable(name)
  • isolines(V,F,S,iso)
  • isolines_map(varargin)
  • isometric_curve_flow(V,va...
  • iterative_laplacian_mesh_...
  • kharmonic(V,F,b,bc,k)
  • kroneye(A,n)
  • kurt2(mtx, mn, v)
  • laplacian_smooth(V,F,L_me...
  • lapsmoothF(TT,S,a,it)
    LAPSMOOTHF Laplacian smoothing for a scalar field defined on faces
  • last_command(varargin)
  • lbs(V,T,W)
  • levin(ntscIm)
    LEVIN Compute an image Laplacian according to the *code* accompanying
  • lexmin(H,f,varargin)
  • limit_faces(F,L,exclusive)
  • lineSegmentIntersect(XY1,...
    LINESEGMENTINTERSECT Intersections of line segments.
  • linear_elasticity(V,F,b,b...
  • linear_sweep(V,F,sweep,va...
  • linesolve_with_fixed(A,b,...
    LINSOLVE_WITH_FIXED solves linear system Ax=b with
  • lischinski(L,varargin)
  • load_image(type, n, options)
    load_image - load benchmark images.
  • load_mesh(filename,varargin)
  • local_max(F,S,ep)
  • local_min(F,S,ep)
  • loop(V,F,iter)
    LOOP perform loop subdivision
  • loop_exact_eval(V,F,f,bc,...
  • lplot(x,xrange)
    lplot(VEC, XRANGE)
  • lpyrHt(pind)
  • lscm(V,F,b,bc,Aeq,Beq)
  • lu_lagrange(ATA,C,J,S)
  • luq(A,do_pivot,tol)
    PURPOSE: calculates the following decomposition
  • manifold_patches(F)
  • mark_extrema(varargin)
  • mask2poly(mask, indTime, ...
    http://ltfat.sourceforge.net/
  • massmatrix(V,F, type)
  • massmatrix3(V,T, type)
  • massmatrix_embedded(V,F, ...
  • massmatrix_intrinsic(l,F,...
  • matrixnormalize(M)
  • maxPyrHt(imsz, filtsz)
    HEIGHT = maxPyrHt(IMSIZE, FILTSIZE)
  • maxnz(X)
  • mean2(mtx)
  • mean_value_laplacian(V,F)
  • median_filter(im)
  • medit(varargin)
  • merl_quadprog(varargin)
  • mesh_boolean_winding_numb...
  • meshfix(V,F)
  • min_quad_with_fixed(A,B,k...
  • min_quad_with_fixed_activ...
  • minkowski_sum(VA,FA,VB,FB)
  • minnz(X)
  • mkAngle(sz, phase, origin)
  • mkAngularSine(sz, harmoni...
    IM = mkAngularSine(SIZE, HARMONIC, AMPL, PHASE, ORIGIN)
  • mkDisc(sz, rad, origin, t...
  • mkFract(dims, fract_dim)
    IM = mkFract(SIZE, FRACT_DIM)
  • mkGaussian(sz, cov, mn, a...
    IM = mkGaussian(SIZE, COVARIANCE, MEAN, AMPLITUDE)
  • mkImpulse(sz, origin, amp...
    IM = mkImpulse(SIZE, ORIGIN, AMPLITUDE)
  • mkR(sz, expt, origin)
  • mkRamp(sz, dir, slope, in...
    IM = mkRamp(SIZE, DIRECTION, SLOPE, INTERCEPT, ORIGIN)
  • mkSine(sz, per_freq, dir_...
    IM = mkSine(SIZE, PERIOD, DIRECTION, AMPLITUDE, PHASE, ORIGIN)
  • mkSquare(sz, per_freq, di...
    IM = mkSquare(SIZE, PERIOD, DIRECTION, AMPLITUDE, PHASE, ORIGIN, TWIDTH)
  • mkZonePlate(sz, ampl, ph)
  • modulateFlipShift(lfilt)
    [HFILT] = modulateFlipShift(LFILT)
  • moebius_strip(u,v)
  • monotonic_biharmonic(vara...
  • monotonicity_matrix(S,F,v...
  • moveEV(V, E, S_E)
  • moveFV(V,F,S)
    MOVEFV Move a scalar field defined on faces to vertices by averaging
  • moveVF(F,S)
    moveVF
  • msm_to_hb
  • murali_funkhouser(V,F,var...
  • mvc(V,C)
  • myaa(varargin)
    MYAA Render figure with anti-aliasing.
  • named_filter(name)
    KERNEL = NAMED_FILTER(NAME)
  • natural_neighbor(V,C)
  • near_mesh(V,F,Q,epsilon)
  • neumannmatrix(mmesh,V, nl...
    NEUMANNMATRIX Computes matrices for computing neumann boundary conditions.
  • nextFig(maxfigs, skip)
    nextFig (MAXFIGS, SKIP)
  • nonmanifold_edges(F)
  • normal_derivative(V,F)
  • normalizerow( A )
  • normals(V,F,varargin)
  • normrow( A )
  • offset_curve(P, offset)
  • on_boundary(F)
  • orange()
  • ordered_outline(F)
  • orient_outward(V,F,C)
  • outline(F)
  • outline_loop(F,varargin)
  • over(A,alpha_A,B,alpha_B)
  • packpng(G,filename,depth)
  • partition(W,k,S,WS)
  • patcht(FF,VV,TF,VT,I,Opti...
    This function PATCHT, will show a triangulated mesh like Matlab function
  • path_to_eltopo()
  • path_to_libigl()
  • path_to_medit()
  • path_to_meshfix()
  • path_to_qslim()
  • path_to_tetgen()
  • path_to_triangle()
  • per_edge_normals(V,F)
  • per_vertex_frames(V,F,var...
  • per_vertex_normals(V,F,va...
  • perform_active_contour(D0...
    perform_active_contour - perform active contour resolution
  • perform_blurring(M, sigma...
    perform_blurring - gaussian blurs an image
  • perform_conjugate_gradien...
    perform_conjugate_gradient - perform conjugate gradient
  • perform_edge_collapse(V,F...
  • perform_farthest_point_sa...
    perform_farthest_point_sampling - samples points using farthest seeding strategy
  • perform_farthest_point_sa...
    perform_farthest_point_sampling - samples points using farthest seeding strategy
  • perform_fast_marching(W, ...
    perform_fast_marching - launch the Fast Marching algorithm, in 2D or 3D.
  • perform_fast_marching(W, ...
    perform_fast_marching - launch the Fast Marching algorithm, in 2D or 3D.
  • perform_fast_marching_mes...
    perform_fast_marching_mesh - launch the Fast Marching algorithm on a 3D mesh.
  • perform_histogram_equaliz...
    perform_histogram_equalization - perform histogram equalization
  • perform_lloyd_mesh(vertex...
    perform_lloyd_mesh - perform lloyd relaxation to sample point on a mesh
  • perform_redistancing(D, o...
    perform_redistancing - redistance a function
  • pgmRead( fname )
  • pgmWrite(mtx, fname, rang...
    RANGE = pgmWrite(MTX, FILENAME, RANGE, TYPE, COMMENT)
  • photoshop_imresize(im,z)
  • photoshop_imshow(im,z)
  • pick_curves(mask)
    pick_curves - ask for the user to build a set of curves
  • pixelAxes(dims, zoom)
  • planar_patches(V,F,varargin)
  • planarize(V,F,varargin)
  • plane_project(V,F)
  • plot_brewer_cmap()
    Plots and identifies the various colorbrewer tables available.
  • plot_edges(V,E,varargin)
  • plot_fast_marching_mesh(v...
    plot_fast_marching_mesh - plot the result of the fast marching on a mesh.
  • plotpoints(X,symbol)
    PLOTPOINTS This function allow to plot a series of points
  • plotpointsLabeled(X,symbo...
    PLOTPOINTSLABELED Plot a set of points labeling them
  • plotshape(X, closed, symbol)
    PLOTSHAPE This function allow to plot a single shape
  • png2mesh( filename, lap...
  • png2objandtga( filename...
    PNG2OBJANDTGA triangulate a png file based on its alpha mask and spit out
  • png2poly(filename,smooth_...
  • pointOp(im, lut, origin, ...
  • point_inside_polygon(V)
  • point_visible(V,F,o,heuri...
  • points2dnormalize(Pi,must...
    POINTS2DNORMALIZE Normalize 2d points
  • poly2VEH(poly)
  • poly2mesh(filename,minimu...
  • prebiharmonic( W,L,a,t,k)
    PREBIHARMONIC Compute the pre-biharmonic kernel SGP 2011 - Raif Rustamov -
  • progressbar(n,N,w)
    PROGRESSBAR - display a progress bar
  • project_point_to_line_seg...
  • project_to_lines(P,S,D,va...
  • publish_html(filename, ou...
    publish_html - publish a file to HTML format
  • pyrBand(pyr, pind, band)
    RES = pyrBand(PYR, INDICES, BAND_NUM)
  • pyrBandIndices(pind,band)
    RES = pyrBandIndices(INDICES, BAND_NUM)
  • pyrLow(pyr,pind)
  • qslim(V,F,t,varargin)
  • quadrature_points(V,F,k)
  • quat2mat(q)
  • quatmultiply( q, varargin )
    QUATMULTIPLY Calculate the product of two quaternions.
  • quatslerp(Q0,Q1,t)
  • quattrans2udq(Q,T)
  • randcycle(A)
  • randdither(im)
  • random_color(n,preset)
  • random_points_on_mesh(V,F...
  • randsphere(n,varargin)
    RANDSPHERE randomly sample n points on a sphere
  • range2(mtx)
  • ray_mesh_intersect(o, d, ...
    RAY_MESH_INTERSECT Ray/mesh intersection using the algorithm proposed by
  • ray_polygon_intersect(o,d...
    RAY_POLYGON_INTERSECT 2D Ray/polygon intersection
  • rconv2(a,b,ctr)
  • rcosFn(width,position,val...
  • read3DS(filename)
  • readBDL(filename)
    READBDL Read mesh(es) from a .bdl bundle file
  • readDMAT(filename)
  • readEDGE(edge_file_name)
  • readELE(ele_file_name)
  • readFACE(filename,varargin)
  • readIPI(filename)
  • readLOG(filename)
  • readMESH( filename )
  • readMSH(filename)
  • readNEIGH(filename)
  • readNODE(node_file_name)
  • readOBJ(filename,varargin)
  • readOBJfast(filename,vara...
  • readOFF( filename )
  • readPLY(filename)
  • readPOLY_pyramid(filename)
  • readPOLY_triangle(filename)
  • readSDF(filename)
  • readSEL(filename)
  • readSTL(filename,varargin)
  • readSVG(filename)
  • readTGF(filename)
  • readVOX(filename)
  • readWRL(filename)
    readWRL - load a mesh from a VRML file
  • read_mesh(file)
  • read_ply(filename)
    read_ply - read data from PLY file.
  • reconLpyr(pyr, ind, levs,...
  • reconSCFpyr(pyr, indices,...
    RES = reconSCFpyr(PYR, INDICES, LEVS, BANDS, TWIDTH)
  • reconSFpyr(pyr, pind, lev...
  • reconSFpyrLevs(pyr,pind,l...
    RESDFT = reconSFpyrLevs(PYR,INDICES,LOGRAD,XRCOS,YRCOS,ANGLE,NBANDS,LEVS,BANDS)
  • reconSpyr(pyr, pind, filt...
  • reconSpyrLevs(pyr,pind,lo...
    RES = reconSpyrLevs(PYR,INDICES,LOFILT,BFILTS,EDGES,LEVS,BANDS)
  • reconWpyr(pyr, ind, filt,...
  • region_boundary_condition...
  • regular_tetrahedral_mesh(...
  • relative_coordinates(V,F)
  • remesh_at_handles(V,F,C,P...
  • remesh_planar_patches(V,F...
  • remove_degenerate_faces(V,F)
  • remove_duplicate_simplice...
  • remove_duplicate_vertices...
  • remove_unreferenced(V,F)
  • repdiag(A,d)
  • report_mosek_error(r,res)
  • resample_polygon(P,E,h)
  • rescale(x,a,b)
  • retarget(C,E,P,dQ,SC)
  • reuleaux_triangle(sam)
  • rgb2cmyk(rgb)
  • roifillpyramid(I,BW)
  • sample_discrete(D,n)
  • sample_edges(V,E,samples_...
  • sample_interior(V,F,n,var...
  • saveTightFigure(h,outfile...
    SAVETIGHTFIGURE(H,OUTFILENAME) Saves figure H in file OUTFILENAME without
  • schur_complement(AFUN,B,C...
  • screw(R1,t1,R2,t2)
  • segment_segment_squared_d...
  • select_region(t,P)
  • setPyrBand(pyr, pind, ban...
    NEWPYR = setPyrBand(PYR, INDICES, NEWBAND, BAND_NUM)
  • sharp_edges(V,F,varargin)
  • shell(V,F,th,varargin)
  • shepard(V,C,P,E,CE,p)
  • shift(mtx, offset)
  • showIm( im, range, zoom, ...
  • showLpyr(pyr, pind, range...
    RANGE = showLpyr (PYR, INDICES, RANGE, GAP, LEVEL_SCALE_FACTOR)
  • showSpyr(pyr, pind, range...
    RANGE = showSpyr (PYR, INDICES, RANGE, GAP, LEVEL_SCALE_FACTOR)
  • showWpyr(pyr, pind, range...
    RANGE = showWpyr (PYR, INDICES, RANGE, GAP, LEVEL_SCALE_FACTOR)
  • showvoronoi(D,V,E,RP,RD,c...
  • signed_distance_direction...
  • skeleton_extraction(V,F)
  • skew2(mtx, mn, v)
  • skinning_transformations(...
  • slerp(A,B,t)
  • slice_isolines(V,F,SV,val...
  • slice_tets(V,T,plane,vara...
  • sliding_comparison(A,B)
  • snap_points(C,V,varargin)
  • snap_points_to_close_edge...
  • snf(D)
  • solid(V,F,varargin)
  • solid_angle(V,F,O,legacy)
  • sp0Filters()
    Steerable pyramid filters. Transform described in:
  • sp1Filters()
    Steerable pyramid filters. Transform described in:
  • sp3Filters()
    Steerable pyramid filters. Transform described in:
  • sp5Filters()
    Steerable pyramid filters. Transform described in:
  • sphericon(r)
  • spinv(A,varargin)
  • split_edges(V,F,E)
  • spnull(S, tol)
  • spspaces(A,opt,tol)
    PURPOSE: finds left and right null and range space of a sparse matrix A
  • spyrBand(pyr,pind,level,b...
    [LEV,IND] = spyrBand(PYR,INDICES,LEVEL,BAND)
  • spyrHigh(pyr,pind)
    RES = spyrHigh(PYR, INDICES)
  • spyrHt(pind)
  • spyrLev(pyr,pind,level)
  • spyrNumBands(pind)
    [NBANDS] = spyrNumBands(INDICES)
  • ssim(img1, img2, K, windo...
  • ssim_index(img1, img2, K,...
  • stable_camva(a)
  • stacktimes(S,V)
  • stam_order(F,A)
  • statistics(V,F,varargin)
  • steer(basis,angle,harmoni...
    RES = STEER(BASIS, ANGLE, HARMONICS, STEERMTX)
  • steer2HarmMtx(harmonics, ...
    MTX = steer2HarmMtx(HARMONICS, ANGLES, REL_PHASES)
  • stiff_points_lbs(V,C,P,SE...
  • stlread(filename)
    This function reads an STL file in binary format into matrixes X, Y and
  • stlwrite(filename, varargin)
    STLWRITE Write STL file from patch or surface data.
  • stretch_bones_lbs(V,C,BE,...
  • strin(str,strs,caseins)
    STRINI Check if a string is contained in a set
  • strip(P,E)
  • subMtx(vec, sz, offset)
    MTX = subMtx(VEC, DIMENSIONS, START_INDEX)
  • subdivided_sphere(iters,v...
  • surf_to_mesh(X,Y,Z)
  • tabcomplete(funcName, var...
    tabcomplete Sets tab completion for the specified function
  • takeo_arap(varargin)
  • takeo_asap(V,F,b,bc)
  • tempprefix(D)
  • tetgen(SV,SF,varargin)
  • texture_coords(V,flip_y)
  • texture_map(V,F,TC,im_in,...
  • tilefigs(tile,border)
    tile figure windows usage: tilefigs ([nrows ncols],border_in pixels)
  • timeit(f, num_outputs)
    TIMEIT Measure time required to run function.
  • total_signed_curvature(P)
  • total_signed_occurrences(F)
  • tri2tet(input_name,output...
  • tri2tgf(input_name,output...
  • triangle(varargin)
  • triangles_from_strip(S)
  • triangulate_curves(P,vara...
  • triangulate_poly_pyramid(...
  • tricontour(V,F,w,speedup)
  • triinterp(V,F,w,speedup)
  • tsurf(F,V,varargin)
  • tsurf_cad(F,V,varargin)
  • tt(F)
  • udq2quattrans(UDQ)
  • uiopen(type,direct)
    UIOPEN overloaded for custom Files. Do not change the file name of this
  • uniformly_sample(V,un,var...
  • uniformly_sample_edges(V,...
  • union2tet(surface_name,ca...
  • unique_images(dir_name)
  • unpackpng(varargin)
  • untangle(V,F,varargin)
  • unzip_corners(A)
  • upBlur(im, nlevs, filt)
  • upConv(im,filt,edges,step...
  • upsample(V,F,varargin)
    % Add a new vertex at each face barycenter
  • var2(mtx, mn)
  • vector_area_matrix(F)
  • vhs(im,varargin)
  • vol3d(varargin)
  • volume(V,T)
  • volume_intrinsic(l)
  • voronoi_tetgen(P,varargin)
  • voxel_grid(V,side,varargin)
  • voxel_surface(W,varargin)
  • voxelize(V,F,side,varargin)
  • vt(V,F)
    VT Compute the Vertex-Face topology
  • vtxpolyfit(V,mmesh,vtxset...
    VTXPOLYFIT produces #V x m matrix of polynomial coefficients, m =
  • vv(V,F)
    VV Compute the Vertex-Vertex topology of a manifold mesh
  • wachspress_laplacian(V,F)
  • wedding_cake(P,E,h)
  • winding_number(V,F,O,vara...
  • wpyrBand(pyr,pind,level,b...
  • wpyrHt(pind)
  • wpyrLev(pyr,pind,level)
  • write3DS(filename,V,F)
  • writeBB(filename,D,type)
  • writeBDL(filename,V,F)
  • writeDAE(filename,varargin)
  • writeDMAT(filename,W,ascii)
  • writeELE(filename,E,varar...
  • writeMESH( filename, V,T,...
  • writeMSH(filename,V,T,F)
  • writeNODE(filename,V,vara...
  • writeOBJ(filename, V,F,UV...
  • writeOFF(filename, V,F,UV...
  • writePLY(filename,V,F,mode)
  • writePOLY_pyramid(poly_fi...
  • writePOLY_tetgen(poly_fil...
  • writePOLY_triangle(varargin)
  • writeSEL(filename,S)
  • writeSMF(filename,V,F)
  • writeSTL(filename, V,F)
  • writeTGF(filename,V,E)
  • zconv2(a,b,ctr)
  • deform
  • repdiag_matrix
  • example1.m
    this simple exampe shows the general principles of geodesic toolbox
  • example2.m
    This example shows how to work with multiple meshes and algorithms simultaneously.
  • example3.m
    You can place sources and destinations at any place of the mesh surface.
  • example4.m
    Advanced tuning: to save time, you can limit the propagation.
  • example5.m
    Simple application: drawing approximate piece-wise linear isodistance curves (isolines).
  • Contents.m
    matlabPyrTools: Image and Multi-scale Pyramid Tools
  • compilePyrTools.m
    This is a script file for compiling the mex versions of the Steerable
  • pwd2path.m
    PWD2PATH()
  • matlabPyrTools.m
    %%% Some examples using the tools in this distribution.
  • pyramids.m
  • mls_demo.m
  • preserve_history.m
  • batch_landmarks_error.m
  • batch_propagation_mesh.m
  • batch_shape_meshing.m
  • compile_mex.m
    compile mex file
  • testFM2dAniso.m
  • perform_front_propagation...
  • test_active_contour.m
    test for active contours
  • test_anisotropic.m
    test for anisotropic propagation in 2D
  • test_anisotropic_feth.m
    test for Fethalah code and Prados code
  • test_anisotropic_fm.m
    test for a simple anisotropic metric
  • test_anisotropic_fm_old.m
    test for a simple anisotropic metric
  • test_bending_invariants.m
    computation of bending invariants
  • test_bug.m
  • test_circular.m
  • test_circular_fast_marchi...
  • test_circular_prior.m
  • test_constrained_map.m
    test for propagation constrained to a sub-set of points
  • test_distance_approximati...
    test for influence of sampling strategy on the
  • test_distance_compression.m
    test for distance function compression
  • test_eccentricity.m
    compute the eccentricity of a 2D shape
  • test_eucldist.m
    test for euclidean distance
  • test_farthest_sampling_2d.m
    test for farthest point sampling
  • test_farthest_sampling_3d.m
    test for farthest point sampling for volumetric mesh
  • test_farthest_sampling_me...
    test for farthest point sampling on 3D meshes
  • test_farthest_sampling_sh...
    test for meshing the inside of an object
  • test_fast_marching_2d.m
  • test_fast_marching_3d.m
  • test_fmstar_2d.m
  • test_fmstar_3d.m
  • test_fmstar_error.m
  • test_fmstar_landmark.m
  • test_fmstar_path_planing.m
    test for constrainted path planing using an heuristic.
  • test_fmstar_weight_2d.m
  • test_geodesic_interpolati...
    test for data interpolation using geodesic distances
  • test_geodesic_vs_euclidean.m
    compare geodesic with euclidean distance inside a 2D shape
  • test_heuristic_mesh.m
    test for heuristically driven computations on meshes
  • test_influence.m
    test for computation influence
  • test_landmark.m
    test for landmark heuristic computation
  • test_landmark_error.m
    test for influence of sampling strategy on the
  • test_multiple_paths_2d.m
  • test_multiple_paths_3d.m
    test for multiple path extraction in 3D
  • test_path_planing.m
    test for constrainted path planing.
  • test_propagation_2d.m
    shows an animation of a propagation
  • test_propagation_mesh.m
    test for front propagation on 3D meshes
  • test_propagation_shape.m
    test for propagation and geodesic extraction on 2D planar shape
  • test_redistancing.m
    test for the re-distancing of a distance function
  • test_segmentation.m
  • test_skeleton.m
    test for skeleton and distance transform
  • test_vol3d.m
    volumetric data vizualization
  • test_voronoi_segmentation.m
    test for precise Voronoi cell extraction on meshes, together with Lloyd relaxation
  • test_voronoi_triangulation.m
    test for Voronoi cells extractions
  • toolbox_fast_marching.m
  • harmonic.m
    See kharmonic.m
  • ambient_occlusion.m
    AMBIENT_OCCLUSION Compute ambient occlusion per given point
  • collapse_small_triangles.m
    Given a triangle mesh (V,F) compute a new mesh (VV,FF) which contains the
  • compile_gptoolbox_mex.m
    See libigl documentation. In short, Libigl is a header-only library by
  • decimate_cgal.m
    DECIMATE_CGAL Decimate a mesh (V,F) using CGAL's Polyhedron edge_collapse
  • decimate_libigl.m
    DECIMATE_LIBIGL Decimate a closed manifold mesh (V,F)
  • eltopo.m
    ELTOPO Given a surface mesh (V0,F) in a self-intersecting state (may be many
  • impaste.m
    IMPASTE paste an image from the current clipboard.
  • intersect_other.m
    INTERSECT_OTHER Given a triangle mesh (V,F) and another mesh (U,G) find all
  • in_element_aabb.m
    IN_ELEMENT_AABB Use an axis-aligned bounding box tree to determine if a set
  • mesh_boolean.m
    MESH_BOOLEAN Compute boolean csg operations on "solid", consistently oriented
  • outer_hull.m
    OUTER_HULL Compute the "outer hull" of a potentially non-manifold mesh (V,F)
  • point_mesh_squared_distan...
    Compute distances from a set of points P to a triangle mesh (V,F)
  • read_mesh_from_xml.m
    READ_MESH_FROM_XML Read a mesh from an xml file written using
  • reorient_facets.m
    REORIENT_FACETS Reorient faces of a triangle mesh (V,F) so that the left-hand
  • selfintersect.m
    SELFINTERSECT Given a triangle mesh (V,F) compute a new mesh (VV,FF) which is the same as
  • signed_distance.m
    SIGNED_DISTANCE Compute signed distance from points P to a mesh (V,F)
  • signed_distance_isosurface.m
    SIGNED_DISTANCE_ISOSURFACE Compute the contour of an iso-level of the
  • snap_rounding.m
    SNAP_ROUNDING Snap a list of possible intersecting segments with
  • autohelp.m
    this script concatenates the help documentation for all the .m files in this
  • finish.m
    Custom finish.m which is called on `quit`, saves history and current
  • startup.m
    Custom startup which loads last working directory and workspace
  • View all files
5.0
5.0 | 7 ratings Rate this file 223 Downloads (last 30 days) File Size: 24.9 MB File ID: #49692 Version: 1.1
image thumbnail

gptoolbox

by

 

12 Feb 2015 (Updated )

Useful functions for geometry processing, constrainted optimization and image processing.

| Watch this File

File Information
Description

https://github.com/alecjacobson/gptoolbox/
This is a toolbox of useful matlab functions for geometry processing. There are also tools related to constrainted optimization and image processing. Typically these are utility functions that are not stand alone applications.
Here's an incomplete list of cool features this matlab toolbox contains:

 - wrappers for TetGen, Triangle, QSlim, meshfix
 - mesh smoothing
 - mesh clean up (remove duplicates, remove unreferenced)
 - geodesic distances on triangle and tetrahedral meshes
 - mesh quantities and queries (normals, discrete gaussian curvature, list boundary edges, topology, angles, dihedral angles etc.)
 - mesh deformation (as-rigid-as-possible (ARAP), moving least-squares, etc.)
 - mesh parameterization (harmonic, least squares conformal, ARAP, etc.)
 - automatic skinning weight computation (bounded biharmonic weights, bone heat)
 - 2D triangle mesh from binary image
 - Input/Output for many mesh formats (.obj,.off,.stl,.wrl,.ply,.mesh,.node,.ele,.poly,.smf,.bdl,.face)
 - discrete differential geometry operators for triangle and tetrahedral meshes (cotangent Laplacian, gradient, divergence)
 - quadratic programming, active set solver
 - scribble-based image colorization, diffusion curves
 - exact (un)signed distance field computation for meshes
 - constructive solid geometry operations on meshes, booleans
 - accelerated point location in triangle and tetrahedral meshes
 - image dithering
 - deep matlab function dependency

Acknowledgements

Toolbox Graph inspired this file.

Required Products Aerospace Toolbox
Image Processing Toolbox
MATLAB release MATLAB 8.4 (R2014b)
Other requirements Most of gptoolbox is pure matlab. There are a few functions that expect the image processing toolbox or aerospace toolbox to be installed. There are also a few mex functions which have other dependencies: stl, eigen, libigl, boost, cgal, cork.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
06 Dec 2016 Fritz

Fritz (view profile)

@Helen Khambay

You have to get the newest stable versions of eigen and libigl:
http://eigen.tuxfamily.org/index.php?title=Main_Page
https://github.com/libigl/libigl

You may deinstall MinGW? Not sure.
You can find more examples for other cpp functions of the gptoolbox here:
https://github.com/alecjacobson/gptoolbox/issues?q=is%3Aissue+is%3Aclosed

Then try following code:
---------------------------------------
clearvars

eigen_version='26667be4f70b';
path_to_eigen=['C:\dev\eigen-eigen-' eigen_version];

path_to_libigl='C:\dev\libigl';

MEXOPTS={'-v','-largeArrayDims','-DMEX'};

EIGEN_INC= ['-I' path_to_eigen];

LIBIGL_INC=['-I' path_to_libigl '\include'];
LIBIGL_FLAGS='-DIGL_SKIP';
LIBIGL_LIB={'-DIGL_SKIP'};
LIBIGL_LIBMATLAB='-DIGL_SKIP';
LIBIGL_LIBCGAL='-DIGL_SKIP';
LIBIGL_LIBCORK='-DIGL_NO_CORK';
LIBIGL_BASE={LIBIGL_INC, LIBIGL_FLAGS,LIBIGL_LIB{:}, LIBIGL_LIBMATLAB};

mex( ...
MEXOPTS{:}, ...
LIBIGL_BASE{:},EIGEN_INC, ...
'point_mesh_squared_distance.cpp');

05 Dec 2016 Helen Khambay

Hello, Can someone please help me compile the point_mesh_squared_distance.cpp with mex as I want to use the hausdorff function. I have installed MinGW but get the error message "point_mesh_squared_distance.cpp:5:34: fatal error: igl/matlab/MexStream.h: No such file or directory compilation terminated."
I am a novice at using MATLAB.
Many thanks in advance...

Comment only
05 Oct 2016 Fritz

Fritz (view profile)

@Rik
It also works on a windows machine.

At first you have to compile the point_mesh_squared_distance.cpp with mex if you want to use the hausdorff function.

Comment only
05 Oct 2016 Rik

Rik (view profile)

It may be useful, but since I work on a Windows machine, I can't use the hausdorff script.

This submission misses two things:
1) a list of function with a one-line explanation to facilitate searching
2) a mention in the description that some things that will not work on Windows.

Comment only
05 Jul 2016 Fritz

Fritz (view profile)

Great toolbox! Thanks a lot!

Some ideas:
Small examples in description of the functions would be useful.

You could reduce the file size of the zip file by compressing the "gptoolbox-logo.pdf".

04 May 2016 Chiyu Jiang

Very helpful tool box! Great job! Thanks for sharing!

19 Mar 2016 Xiao Sidao

good job!

25 Sep 2015 AP

AP (view profile)

Wonderful job and thanks for sharing with the community.

My application is that I have a closed triangulated surface in 3D. I want to use the signed distance function and apply it to a uniform 3D Cartesian grid in which the 3D triangulated closed surface lies. In other words, this 3D surface is immersed in the Cartesian uniform grid. I was able to successfully compile and build the mex file.

Would you let me know how I should use the function and find the signed distance function for my application assuming V and F are the vertices, faces of the surface and x, y, z are the coordinates of the uniform Cartesian grid. I would be very grateful.

13 Feb 2015 Anton Semechko

Anton Semechko (view profile)

This is a very useful toolbox for anyone working with surface meshes. Thanks for sharing!

12 Feb 2015 Josef

Josef (view profile)

Updates
12 Dec 2016 1.1

Logo thumbnail

Contact us