{"id":105,"date":"2020-01-10T21:08:35","date_gmt":"2020-01-10T21:08:35","guid":{"rendered":"https:\/\/mauromaggioni.duckdns.org\/?page_id=105"},"modified":"2022-05-14T18:19:51","modified_gmt":"2022-05-14T18:19:51","slug":"code","status":"publish","type":"page","link":"https:\/\/mauromaggioni.duckdns.org\/?page_id=105","title":{"rendered":"Code"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"105\" class=\"elementor elementor-105\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-66288f9e elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"66288f9e\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4f33b80c\" data-id=\"4f33b80c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0b6b581 elementor-tabs-view-vertical elementor-widget elementor-widget-tabs\" data-id=\"0b6b581\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1191\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1191\" aria-expanded=\"false\">Learning Interaction Kernels in Particle Systems<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1192\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1192\" aria-expanded=\"false\">Geometric Multi-Resolution Analysis (GMRA)<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1193\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1193\" aria-expanded=\"false\">Diffusion Geometry<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1194\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1194\" aria-expanded=\"false\">Diffusion Wavelets<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1195\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"5\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1195\" aria-expanded=\"false\">Multiscale SVD<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1196\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"6\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1196\" aria-expanded=\"false\">Hyperspectral Imaging<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1197\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"7\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1197\" aria-expanded=\"false\">Multiscale Analysis of Plane Arrangements<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1198\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"8\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1198\" aria-expanded=\"false\">Compressed Sensing Inversion for GMRA<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1199\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"9\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1199\" aria-expanded=\"false\">Simple Demos for Spectral Graph Theory<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1191\" aria-expanded=\"false\">Learning Interaction Kernels in Particle Systems<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1191\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1191\" tabindex=\"0\" hidden=\"false\"><p>Code implementing the algorithms used in the <a href=\"https:\/\/mauromaggioni.duckdns.org\/publications\/?tgid=13&amp;yr=&amp;type=&amp;usr=&amp;auth=#tppubs\">papers<\/a> on estimating interaction kernels in particle- and agent-based systems is available <a href=\"https:\/\/github.com\/MingZhongCodes\/LearningDynamics\"><u>here<\/u><\/a>&nbsp;(maintained by M. Zhong).<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1192\" aria-expanded=\"false\">Geometric Multi-Resolution Analysis (GMRA)<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1192\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1192\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"GMRA\"><\/a>Geometric Multi-Resolution Analysis (GMRA) Code<\/h2>\n<p>See the paper <a href=\"http:\/\/www.sciencedirect.com\/science\/article\/pii\/S1063520311000868\">Geometric Multi-Resolution Analysis<\/a>, W.K. Allard, G. Chen and M Maggioni. Preprint <a href=\"http:\/\/arxiv.org\/abs\/1105.4924\">here<\/a>, as well as the related &#8220;compressive sampling&#8221; for GMRA paper <a href=\"http:\/\/arxiv.org\/abs\/1204.3337\"><em>Approximation of Points on Low-Dimensional Manifolds Via Random Linear Projections<\/em><\/a>, M. Iwen, M. Maggioni.<\/p>\n<h3>Matlab code for GMRA and Geometric Wavelet Analysis and Transforms.<\/h3>\n<p>Last version of the code: <a href=\"\/Code\/GMRA.zip\">Geometric Multi-Resolution Analysis<\/a> [Updated on 2\/24\/17].<\/p>\n<h3>Instructions:<\/h3>\n<p>Unzip in a directory, preserving the subdirectory structure. Open Matlab, go in the installation directory and run <i>Startup_GMRA<\/i>. This will add the required paths to Matlab.<br>\n<i>RunExamples<\/i> contains examples for running the GMRA code.<\/p>\n<p>Important note: The code includes the <i>Diffusion Geometry package<\/i> on which it depends. If you have Diffusion Geometry already installed, please delete the Diffusion Geometry subdirectory that gets installed with this packa.ge The code depends on Data Sets (for running certain examples). The code requires <a href=\"http:\/\/www.cise.ufl.edu\/research\/sparse\/SuiteSparse\/\">SuiteSparse<\/a> and <a href=\"http:\/\/glaros.dtc.umn.edu\/gkhome\/metis\/metis\/overview\">METIS<\/a> to be installed; it comes with precompiled versions for OS X and Linux 64bit, in which case the installation of these packages is not required.<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1193\" aria-expanded=\"false\">Diffusion Geometry<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1193\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1193\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"DiffusionGeom\"><\/a>Diffusion Geometry Code<\/h2>\nSee the paper <em><a href=\"http:\/\/www.pnas.org\/content\/102\/21\/7426.long\">Geometric diffusions as a tool for harmonic analysis and structure definition of data. part i: Diffusion maps<\/a> <\/em>, RR Coifman, S Lafon, A Lee, M Maggioni, B Nadler, FJ Warner, and SW Zucker. Proc. of Nat. Acad. Sci., 102:7426&#8211;7431, May 2005.\n<h3>Matlab code for Diffusion Geometry.<\/h3>\nLatest version of the code: <a href=\"\/Code\/DiffusionGeometry.zip\">Diffusion geometry<\/a> [Updated on 7\/22\/17]. This version now includes covertree for fast nearest neighbor searches. It may not (yet) be compatible with all Linux versions.\n\nPrevious version of the code: <a href=\"Code\/DiffusionGeometry_01.zip\">Diffusion geometry<\/a> [Updated on 11\/12\/14].\n<h3>Instructions:<\/h3>\nUnzip in a directory, preserving the subdirectory structure. Open Matlab, go in the installation directory and run Startup_DiffusionGeometry.\n\nRunExamples contains examples for running the GraphDiffusion code, for constructing nearest neighbor graphs and computing eigenvectors of the Laplacian on such graphs.\n\nThe main script for constructing graphs and computing Laplacians and their eigenfunctions is called <em>GraphDiffusion<\/em>. Type <em>help GraphDiffusion<\/em> at the Matlab prompt to see the options, and run the example there (diffusion on a circle) to test installation.\n<h3>Important note regarding examples and data sets:<\/h3>\nSome of the examples rely on data sets, publicly available on the web, in the appropriate format: you may find them, and their source, below.\n<h3>Important note regarding nearest neighbor:<\/h3>\nThe package supports either the <em>nn_search<\/em> and <em>range_search<\/em> functions of the <a href=\"http:\/\/www.dpi.physik.uni-goettingen.de\/tstool\/\">TSToolbox<\/a> and the <em>ANNsearch<\/em> functions of the <a href=\"http:\/\/www.cs.umd.edu\/~mount\/ANN\/\">Approximate Nearest Neighbor Searching Library<\/a> by D. Mount and S. Arya.\nMEX files for some platforms are already included in the Diffusion Geometry package, in the &#8216;NearestNeighbors&#8217; directory. If MEX files for your machine are not included, you should compile those files and make those available to Matlab by modifying its search paths as needed.\n\nPlease let me know if you encounter problems with the installation, or report successes under different systems. Thanks.<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1194\" aria-expanded=\"false\">Diffusion Wavelets<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1194\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1194\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"DiffusionWavelets\"><\/a>Diffusion Wavelets Code<\/h2>\n<p>See the paper <em><a href=\"Papers\/DiffusionWavelets.pdf\">Diffusion wavelets<\/a><\/em>, RR Coifman and M Maggioni. <a href=\"http:\/\/www.sciencedirect.com\/science\/article\/pii\/S106352030600056X\">Appl. Comp. Harm. Anal., 21(1):53&#8211;94<\/a>, July 2006.<\/p>\n<h3>Matlab code for Diffusion Wavelets. A new, much faster version is in the works.<\/h3>\n<p>This was originally a joint effort with <a href=\"http:\/\/www.math.ucdavis.edu\/~bremer\/\">James C. Bremer Jr.<\/a> and <a href=\"http:\/\/www.math.ucla.edu\/~aszlam\/\">Arthur D. Szlam<\/a>.<\/p>\n<p>Last version of the code: <a href=\"\/Code\/DiffusionWavelets.zip\">Diffusion wavelets<\/a> [Updated on 7\/13\/11].<\/p>\n<h3>Instructions:<\/h3>\n<p>Unzip in a directory, preserving the subdirectory structure. Open Matlab, go in the installation directory and run Startup_DiffusionWavelets.<\/p>\n<p>RunExamples contains examples for running the DWPTree code that constructs diffusion wavelet trees on graphs.<\/p>\n<h3>Important note regarding examples and data sets:<\/h3>\n<p>The code, especially the examples, rely on the Diffusion Geometry package above and on the data sets below. All notes\/comments that apply to the Diffusion Geometry package apply here as well.<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"5\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1195\" aria-expanded=\"false\">Multiscale SVD<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1195\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1195\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"MSVD\"><\/a>Multiscale SVD Code<\/h2>\n<p>See the paper <a href=\"http:\/\/dspace.mit.edu\/handle\/1721.1\/72597\"><em>Multiscale Geometric Methods for Data Sets I: Multiscale SVD, Noise and Curvature<\/em><\/a>, A. V. Little, M. Maggioni, L. Rosasco. This paper summarizes the work in <a href=\"http:\/\/dukespace.lib.duke.edu\/dspace\/handle\/10161\/3863\">A.V. Little&#8217;s thesis<\/a> (May 2011) on multi scale singular values for noisy point clouds. This extends the analysis of the constructions and results in our previous work <em>Multiscale Estimation of Intrinsic Dimensionality of Data Sets<\/em> (A.V. Little and Y.-M. Jung and M. Maggioni, Proc. AAAI, 2009) and <em>Estimation of intrinsic dimensionality of samples from noisy low-dimensional manifolds in high dimensions with multiscale SVD<\/em> (A.V. Little and J. Lee and Y.-M. Jung and M. Maggioni, Proc. SSP, 2009}.<\/p>\n<p>Latest version of the code: <a href=\"\/Code\/MSVD.zip\">Multiscale SVD Code<\/a> [Updated on 11\/29\/12].<\/p>\n<h3>Instructions:<\/h3>\n<p>Unzip in a directory, preserving the subdirectory structure. Open Matlab, go in the installation directory and run Startup_MSVD.<\/p>\n<p>RunExamples contains examples for running the MSVD code, including several examples in the paper.<\/p>\n<p>Important note: The code requires the DiffusionGeometry package to be properly installed, as well as the Data Sets (for running certain examples).<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"6\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1196\" aria-expanded=\"false\">Hyperspectral Imaging<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1196\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"6\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1196\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"DiffusionGeom\">Nonlinear Diffusion for Hyperspectral Images<\/a><\/h2>\n                                            This is the <a href=\"https:\/\/jmurphy.math.tufts.edu\/Code\/HSI_DiffusionLearning_v1.0.zip\">code<\/a> for the algorithms introduced in the paper <a href=\"https:\/\/arxiv.org\/abs\/1704.07961\">Unsupervised Clustering and Active Learning of Hyperspectral Images with Nonlinear Diffusion<\/a> with <a href=\"http:\/\/math.tufts.edu\/people\/facultyMurphy.htm\">J.M. Murphy<\/a>, and to reproduce the results therein (these require the data sets made available on <a href=\"https:\/\/jmurphy.math.tufts.edu\/Code\/\">this page<\/a>, maintained by J.M.Murphy)<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"7\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1197\" aria-expanded=\"false\">Multiscale Analysis of Plane Arrangements<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1197\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"7\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1197\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"MAPA\"><\/a>Multiscale Analysis of Plane Arrangement<\/h2>\nSee <a href=\"http:\/\/www.math.sjsu.edu\/~gchen\/mapa.html\">Multiscale Analysis of Plane Arrangements<\/a> on <a href=\"http:\/\/www.math.sjsu.edu\/~gchen\/\">Guanliang Chen&#8217;s&#8217; webpage<\/a>.<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"8\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1198\" aria-expanded=\"false\">Compressed Sensing Inversion for GMRA<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1198\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"8\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1198\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"GMRA_CS\"><\/a>Compressed Sensing Inversion for GMRA Code<\/h2>\n<p>See the paper <a href=\"http:\/\/imaiai.oxfordjournals.org\/content\/early\/2013\/02\/13\/imaiai.iat001.abstract\">Approximation of points on low-dimensional manifolds via random linear projections<\/a>, M. A. Iwen and M Maggioni. Preprint <a href=\"http:\/\/arxiv.org\/abs\/1204.3337\">here<\/a>.<\/p>\n<h3>Matlab code for Compressive Sensing inversion for GMRA.<\/h3>\n<p>Last version of the code: <a href=\"\/Code\/IGWT_CS.zip\">Compressive Sensing Inversion for GMRA<\/a> [Updated on 6\/19\/13].<\/p>\n<h3>Instructions:<\/h3>\n<p>Note: The code requires the Diffusion toolbox and all the packages required for that (in particular, Diffusion Geometry; see the GMRA code section), and the <a href=\"http:\/\/www.lx.it.pt\/~mtf\/SpaRSA\/\">SpaRSA<\/a> toolbox for the performance comparisons<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"9\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1199\" aria-expanded=\"false\">Simple Demos for Spectral Graph Theory<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1199\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"9\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1199\" tabindex=\"0\" hidden=\"hidden\"><h2><a name=\"ClassDemo\">Some demo code I use in a class on Spectral Graph Theory<\/a><\/h2>\n                                            \n                                            <p>This code allows to take a black and white picture with points, and constructing an associated proximity graph, and then computing and displaying eigenvalues\/eigenfunctions of the Laplacian on such graph. You need to first download and install the general code for Diffusion Geometry above and then download and install this <a href=\"Teaching\/Math378\/Math378_Demo1.zip\">code for running the demo I ran in class<\/a>, with some images already prepared. <\/p>\n                                            <p>The script for the demo is called GraphEigenFcnsEx_01.m, and it is fairly extensively commented. I will be happy to add your own examples here!<\/p><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-731fc5fd elementor-widget elementor-widget-text-editor\" data-id=\"731fc5fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><a name=\"DataSets\"><\/a>Some data sets<\/h2><p>Data Sets: <a href=\"\/Code\/DataSets.zip\">Example Data Sets<\/a> [Updated on 6\/7\/11].<\/p><p>I include here data sets from a variety of sources, transformed to Matlab format and typically pre-processed, for use with the Diffusion Geometry Code.<br \/>They include variations\/subsets of the <a href=\"http:\/\/yann.lecun.com\/exdb\/mnist\/\">MNIST data base<\/a>, <a href=\"http:\/\/cbcl.mit.edu\/software-datasets\/FaceData2.html\">CBCL Face Data<\/a>, Science News articles (prepared by J. Solka), <a href=\"http:\/\/vision.ucsd.edu\/~leekc\/ExtYaleDatabase\/ExtYaleB.html\"> Yale Face B database<\/a>.<br \/>Please refer to the original data on these sites if you plan to use this data, as the parts included here are only for the purpose of running examples with the packages above.<\/p><p>They may be installed in any directory and that directory should be added to the Matlab path, so that the packages above may find them (this works for the most recent versions of Matlab).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Learning Interaction Kernels in Particle Systems Geometric Multi-Resolution Analysis (GMRA) Diffusion Geometry Diffusion Wavelets Multiscale SVD Hyperspectral Imaging Multiscale Analysis of Plane Arrangements Compressed Sensing Inversion for GMRA Simple Demos for Spectral Graph Theory Learning Interaction Kernels in Particle Systems Code implementing the algorithms used in the papers on estimating interaction kernels in particle- and&hellip; <a class=\"more-link\" href=\"https:\/\/mauromaggioni.duckdns.org\/?page_id=105\">Continue reading <span class=\"screen-reader-text\">Code<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-105","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=105"}],"version-history":[{"count":16,"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/105\/revisions"}],"predecessor-version":[{"id":1707,"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/105\/revisions\/1707"}],"wp:attachment":[{"href":"https:\/\/mauromaggioni.duckdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}