{"id":16346578,"url":"https://github.com/marcomusy/fearlesshearts","last_synced_at":"2025-10-26T01:31:51.043Z","repository":{"id":113611969,"uuid":"299065471","full_name":"marcomusy/FearlessHearts","owner":"marcomusy","description":"shape interpolation algorithm","archived":false,"fork":false,"pushed_at":"2022-05-02T10:51:42.000Z","size":4759,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T13:21:12.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcomusy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-27T15:51:00.000Z","updated_at":"2022-06-21T16:17:19.000Z","dependencies_parsed_at":"2023-07-07T00:15:23.595Z","dependency_job_id":null,"html_url":"https://github.com/marcomusy/FearlessHearts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcomusy/FearlessHearts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcomusy%2FFearlessHearts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcomusy%2FFearlessHearts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcomusy%2FFearlessHearts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcomusy%2FFearlessHearts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcomusy","download_url":"https://codeload.github.com/marcomusy/FearlessHearts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcomusy%2FFearlessHearts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281047805,"owners_count":26435124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T00:35:41.907Z","updated_at":"2025-10-26T01:31:51.037Z","avatar_url":"https://github.com/marcomusy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![](https://user-images.githubusercontent.com/32848391/94369891-ad9d9680-00ec-11eb-8efc-960416a5a0d0.png)\n\n# Fearless Hearts\n\nCreate a continuous timecourse for the heart development starting from a limited number of samples acquired at different timepoints.\n\nThe algorithm is completely general and can be applied to any dataset.\n\n\n## Datasets\n\nAll the data can be dowloaded from --\u003e https://www.ebi.ac.uk/biostudies/studies/S-BIAD441 (folder `/hearts/`).\n\n\n## Pipeline\n\nFollow the pipeline steps below to reproduce the analysis results.\n\n\n#### `python 0__compress_data.py`\n- _Description:_ can be skipped as data is ready for use. Only here for reference.\n\n![](https://user-images.githubusercontent.com/32848391/94371727-f2c7c580-00f8-11eb-8175-98cd60b0d0cd.png)\n\n\n---\n#### `python 1__manually_align.py`\n- _Description:_ manually adjust alignment of different heart samples to a common frame\n\n![](https://user-images.githubusercontent.com/32848391/94369906-c0b06680-00ec-11eb-916a-29e0556bc937.png)\n\n\n---\n#### `python 2a_make_histos.py`\n- _Description:_ make some histograms of the scalar along some ray\n\n![image](https://user-images.githubusercontent.com/32848391/94369915-c9a13800-00ec-11eb-86e0-0429198c392a.png)\n\n![image](https://user-images.githubusercontent.com/32848391/94370309-86949400-00ef-11eb-9b21-d4163de78c8f.png)\n\n---\n#### `python 2b_probe_vol.py`\n- _Description:_ more visualizations of the volume probing\n\n![image](https://user-images.githubusercontent.com/32848391/94370391-11758e80-00f0-11eb-84b9-828b9d523a9d.png)\n\n\n---\n#### `python 3__generate_rays.py`\n- _Description:_ probe volume and save a polydata which is a cloud of point. Files are produced to the local path. They can be visualized with command e.g.:\n`vedo -n -p 5 -a 0.02 -c w -x1 *2425*.vtk`. If all looks OK move files to `data/wt` or `data/ko`.\n\n![image](https://user-images.githubusercontent.com/32848391/94370678-a2009e80-00f1-11eb-99a7-7dcf8b7582ef.png)\n\n\n---\n#### `python 4a_expand_plot.py`\n- _Description:_ plot scalar values on a specific radius shell for test:\n\n![image](https://user-images.githubusercontent.com/32848391/94370795-569ac000-00f2-11eb-94ea-506aa02bd978.png)\n\n\n---\n#### `python 4b_clm_plot.py`\n- _Description:_ plot the spherical harmonics expansion for the above test:\n\n![image](https://user-images.githubusercontent.com/32848391/94369921-d756bd80-00ec-11eb-9ba3-69464ed5dc7a.png)\n\n\n---\n#### `python 5__write_clm.py`\n- _Description:_ generate and save a numpy array `clm_data.npy` with the `Clm` spherical harmonic coefficients for all the time points\n\n![step5](https://user-images.githubusercontent.com/32848391/94371848-bc3e7a80-00f9-11eb-8f07-16075893844e.gif)\n\n\n---\n#### `python 6__plot_splined_clm.py`\n- _Description:_ make 50 plots of the spherical harm coefficients visualizing the time variable for each one. Pressing return takes to the next radial shell.\n\n![step6](https://user-images.githubusercontent.com/32848391/94371751-1ee34680-00f9-11eb-9aaf-ce93ca54efc4.gif)\n\n\n---\n#### `python 7a_plot_six_clouds.py`\n- _Description:_ plot now for each time point the reconstructed point clouds (using the sph coefficients) with a threshold to cut off points that are below some value\n\n![image](https://user-images.githubusercontent.com/32848391/94371614-14747d00-00f8-11eb-8760-1e1c288df60e.png)\n\n\n---\n#### `python 7b_interp_clouds.py`\n- _Description:_ interpolate the above time points to generate a continous (small stepped) time course. Interpolation is done by splining all the `Clm` coefficients.\n\n![step7b](https://user-images.githubusercontent.com/32848391/94372187-00327f00-00fc-11eb-88b2-dd8f5dbdff51.gif)\n\n\n---\n#### `python 8a_write_volumes.py`\n- _Description:_ generate as many volumes as the nr of interpolated point clouds. Points in space are spatially interpolated onto the regular grid of a Volume object (made of voxels). Isosurfaces are also generated (for 3 different thresholds):\n\n![image](https://user-images.githubusercontent.com/32848391/94372279-88b11f80-00fc-11eb-859f-ba25085c87eb.png)\n\n\n---\n#### `python 8b_write_scaled_isos.py`\n- _Description:_ build isosurfaces for all the generated volumes using some threshold value. The absolute size is also recovered from a fit of the original sizes, to take into account the biological growth of the tissues\n\n![h_timecourse_wt](https://user-images.githubusercontent.com/32848391/94372352-f4938800-00fc-11eb-84e8-9804aae3c27c.gif)\n\n![](https://user-images.githubusercontent.com/32848391/94369930-e5a4d980-00ec-11eb-980c-9b012cc821c4.png)\n\n\n## References\n\nTen years ago, a population of cardiac progenitor cells was identified\nin pharyngeal mesoderm that gives rise to a major part of the amniote heart.\nThese multipotent progenitor cells, termed the second heart field (SHF),\ncontribute progressively to the poles of the elongating heart tube during\nlooping morphogenesis, giving rise to myocardium, smooth muscle, and endothelial cells.\n\n_Arid3b_, a member of the conserved ARID family of transcription\nfactors, is essential for mouse embryonic development but its precise\nroles are poorly understood.\n_Arid3b_ is expressed in the myocardium of the tubular heart and in second heart field\nprogenitors.\n\n_Arid3b_-deficient embryos show cardiac abnormalities,\nincluding a notable shortening of the poles, absence of myocardial\ndifferentiation and altered patterning of the atrioventricular canal,\nwhich also lacks epithelial-to-mesenchymal transition.\nProliferation and death of progenitors as well as early patterning of the heart\nappear normal.\n\n_Arid3b_ is thus required for heart development by regulating\nthe motility and differentiation of heart progenitors. These findings\nidentify Arid3b as a candidate gene involved in the aetiology of human\ncongenital malformations.\n\n- _[“Arid3b is essential for second heart field cell deployment and heart patterning”](https://dev.biologists.org/content/141/21/4168)_, J.J. Sanz-Esquerro et al., Development (2014) 141, 4168-4181 doi:10.1242/dev.109918\n- [The second heart field](https://pubmed.ncbi.nlm.nih.gov/22449840/)\n- [Heart Development (wikipedia)](https://en.wikipedia.org/wiki/Heart_development).\n\n\n[![vedo_powered](https://user-images.githubusercontent.com/32848391/94372929-13e0e400-0102-11eb-938c-bc0274d57108.png)](https://github.com/marcomusy/vedo)\n\n![embl](https://user-images.githubusercontent.com/32848391/94371851-c3658880-00f9-11eb-9c2a-d418adb93d59.gif)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcomusy%2Ffearlesshearts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcomusy%2Ffearlesshearts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcomusy%2Ffearlesshearts/lists"}