Researcher profile

Hung Chak Ho

· Albert Einstein College of Medicine

0Publications
0KT Citations
0KT h-index
0KT i10-index

KT metrics are calculated only from papers uploaded or published on KnowledgeTrend and citations matched between those KnowledgeTrend papers. Imported metadata and external citation counts are excluded.

Research interests

Research interests have not yet been added.

Academic profiles & contact

Publications

8 research records shown

Trends in prevalence of blindness and distance and near vision impairment over 30 years: an analysis for the Global Burden of Disease Study
2020 · The Lancet Global Health · DOI 10.1016/s2214-109x(20)30425-3

Background To contribute to the WHO initiative, VISION 2020: The Right to Sight, an assessment of global vision impairment in 2020 and temporal change is needed. We aimed to extensively update estimates of global vision loss burden, presenting estimates for 2020, temporal change over three decades between 1990–2020, and forecasts for 2050. Methods We did a systematic review and meta-analysis of population-based surveys of eye disease from January, 1980, to October, 2018. Only studies with samples representative of the population and with clearly defined visual acuity testing protocols were included. We fitted hierarchical models to estimate 2020 prevalence (with 95% uncertainty intervals [UIs]) of mild vision impairment (presenting visual acuity ≥6/18 and <6/12), moderate and severe vision impairment (<6/18 to 3/60), and blindness (<3/60 or less than 10° visual field around central fixation); and vision impairment from uncorrected presbyopia (presenting near vision Findings In 2020, an estimated 43·3 million (95% UI 37·6–48·4) people were blind, of whom 23·9 million (55%; 20·8–26·8) were estimated to be female. We estimated 295 million (267–325) people to have moderate and severe vision impairment, of whom 163 million (55%; 147–179) were female; 258 million (233–285) to have mild vision impairment, of whom 142 million (55%; 128–157) were female; and 510 million (371–667) to have visual impairment from uncorrected presbyopia, of whom 280 million (55%; 205–365) were female. Globally, between 1990 and 2020, among adults aged 50 years or older, age-standardised prevalence of blindness decreased by 28·5% (–29·4 to −27·7) and prevalence of mild vision impairment decreased slightly (–0·3%, −0·8 to −0·2), whereas prevalence of moderate and severe vision impairment increased slightly (2·5%, 1·9 to 3·2; insufficient data were available to calculate this statistic for vision impairment from uncorrected presbyopia). In this period, the number of people who were blind increased by 50·6% (47·8 to 53·4) and the number with moderate and severe vision impairment increased by 91·7% (87·6 to 95·8). By 2050, we predict 61·0 million (52·9 to 69·3) people will be blind, 474 million (428 to 518) will have moderate and severe vision impairment, 360 million (322 to 400) will have mild vision impairment, and 866 million (629 to 1150) will have uncorrected presbyopia. Interpretation Age-adjusted prevalence of blindness has reduced over the past three decades, yet due to population growth, progress is not keeping pace with needs. We face enormous challenges in avoiding vision impairment as the global population grows and ages. Funding Brien Holden Vision Institute, Fondation Thea, Fred Hollows Foundation, Bill & Melinda Gates Foundation, Lions Clubs International Foundation, Sightsavers International, and University of Heidelberg.

Read paper
Causes of blindness and vision impairment in 2020 and trends over 30 years, and prevalence of avoidable blindness in relation to VISION 2020: the Right to Sight: an analysis for the Global Burden of Disease Study
2020 · The Lancet Global Health · DOI 10.1016/s2214-109x(20)30489-7

BACKGROUND: Many causes of vision impairment can be prevented or treated. With an ageing global population, the demands for eye health services are increasing. We estimated the prevalence and relative contribution of avoidable causes of blindness and vision impairment globally from 1990 to 2020. We aimed to compare the results with the World Health Assembly Global Action Plan (WHA GAP) target of a 25% global reduction from 2010 to 2019 in avoidable vision impairment, defined as cataract and undercorrected refractive error. METHODS: We did a systematic review and meta-analysis of population-based surveys of eye disease from January, 1980, to October, 2018. We fitted hierarchical models to estimate prevalence (with 95% uncertainty intervals [UIs]) of moderate and severe vision impairment (MSVI; presenting visual acuity from <6/18 to 3/60) and blindness (<3/60 or less than 10° visual field around central fixation) by cause, age, region, and year. Because of data sparsity at younger ages, our analysis focused on adults aged 50 years and older. FINDINGS: Global crude prevalence of avoidable vision impairment and blindness in adults aged 50 years and older did not change between 2010 and 2019 (percentage change -0·2% [95% UI -1·5 to 1·0]; 2019 prevalence 9·58 cases per 1000 people [95% IU 8·51 to 10·8], 2010 prevalence 96·0 cases per 1000 people [86·0 to 107·0]). Age-standardised prevalence of avoidable blindness decreased by -15·4% [-16·8 to -14·3], while avoidable MSVI showed no change (0·5% [-0·8 to 1·6]). However, the number of cases increased for both avoidable blindness (10·8% [8·9 to 12·4]) and MSVI (31·5% [30·0 to 33·1]). The leading global causes of blindness in those aged 50 years and older in 2020 were cataract (15·2 million cases [9% IU 12·7-18·0]), followed by glaucoma (3·6 million cases [2·8-4·4]), undercorrected refractive error (2·3 million cases [1·8-2·8]), age-related macular degeneration (1·8 million cases [1·3-2·4]), and diabetic retinopathy (0·86 million cases [0·59-1·23]). Leading causes of MSVI were undercorrected refractive error (86·1 million cases [74·2-101·0]) and cataract (78·8 million cases [67·2-91·4]). INTERPRETATION: Results suggest eye care services contributed to the observed reduction of age-standardised rates of avoidable blindness but not of MSVI, and that the target in an ageing global population was not reached. FUNDING: Brien Holden Vision Institute, Fondation Théa, The Fred Hollows Foundation, Bill & Melinda Gates Foundation, Lions Clubs International Foundation, Sightsavers International, and University of Heidelberg.

Read paper
Denoising Diffusion Probabilistic Models
2020 · arXiv (Cornell University) · DOI 10.48550/arxiv.2006.11239

DiffuCpG 1. Introduction In this study, we used a generative AI diffusion model to address missing methylation data. We trained the model with Whole-Genome Bisulfite Sequencing data from 26 acute myeloid leukemia samples and validated it with Reduced Representation Bisulfite Sequencing data from 93 myelodysplastic syndrome and 13 normal samples. Additional testing included data from the Illumina 450k methylation array and Single-Cell Reduced Representation Bisulfite Sequencing on HepG2 cells. Our model, DiffuCpG, outperformed previous methods by integrating a broader range of genomic features, utilizing both short- and long-range interactions without increasing input complexity. It demonstrated superior accuracy, scalability, and versatility across various tissues, diseases, and technologies, providing predictions in both binary and continuous methylation states. In this repository, we deposit the code used to build the diffusion models along with necessary example datasets to train and test a diffusion model for methylation imputation purposes. Docker Usage Install Docker Install Docker using the following link:https://docs.docker.com/engine/install/Recommended system specs: Debian 12 bookworm with 16GB RAM or more.Make sure you have the latest Nvidia GPU driver installed and docker can access your Nvidia GPU. Run Docker images with Tissue-specific Models docker pull yay135/diffucpg_tssUse our example to generate input samples with Hi-C matrix and CIS (Confidence Interval Cross Sample) data.docker run -it yay135/diffucpg_tssthenpython generate_train_test_samples.py The tissue-specific models (pytorch) are for CD34+ cells, GBM and BRCA, they are stored in folders named "model*" in the image. Run the Tissue specific modelsdocker run -it yay135/diffucpg_tssthenpython batch_run.py Run Docker images Example Models docker pull yay135/diffucpgIf you do not have a GPU enabled system, pull a CPU-only imagedocker pull yay135/diffucpg_cpuprepare your input data directory, use the following command to print a example input data directorydocker run --rm yay135/diffucpg -e trueassume your data directory name is "input_data"in windowsdocker run --gpus all -v .\input_data\:/data --rm yay135/diffucpgin unix or linuxdocker run --gpus all -v ./input_data:/data --rm yay135/diffucpg Other docker options -d or --device : select which cuda device to run with, default is 0-m or --mingcpg : scan your methyl array, limit only imputing windows with at least m non-missing methyl values, default is m=10-o or --overlap : set number of impute epochs, shift window locations between epochs, get mean imputed values for each CpG location, default is 2example:docker run --gpus all -v ./input_data:/data --rm yay135/diffucpg -d 1 -m 5 -o 3use cuda device 1, min number of non-missing methyl values in a window is 5, overlap epochs 3 The following tutorials are for non-docker usages. 2. Data and Models Example datasets are available for download using "gdown.sh". The example datasets only contain WGBS methylation data. The model is the DDPM diffusion model, the repository contains a complete implementation for 1-dimensional input. Please refer to https://arxiv.org/abs/2006.11239 and https://huggingface.co/blog/annotated-diffusion for more details. 3. How to use 3.1 System Requirements The number of steps in the diffusion process is set to 2000. Imputing a sample requires 2000 steps. Gpu acceleration is preferred. 16GB of RAM is required. The code is fully tested and operational on the following platform: Distributor ID: DebianDescription: Debian GNU/Linux 12 (bookworm)Release: 12Codename: bookworm 3.2 Clone the Current Project Run the following command to clone the project.git clone https://github.com/yay135/DiffuCpG.git 3.4 Configure Environment Make sure you have the following software installed in your system:Python 3.9+Pytorch 2.0.1+ 3.4 Run Training and Testing python run.pyThe script will download necessary data and install dependencies automatically. 4 Data and Script Details 4.1 RAW Data The methylation arrays downloaded are in the folder "raw", each file is a methylation array. The first 2 columns are "chromosome" and "location". The assembly used for mapping in our project is the "GRCH37 primary assembly". It is also downloaded automatically. The rest of the columns in each file are methylation levels(required) and other biological data (optional) you wish to incorporate to enhance the model. These files in the raw folder are the initial inputs for pipeline,if you wish to use your own data, it must be configured as such before running the pipeline. 4.2 Generate Sample Use script "generate_samples.py" to generate samples for training and testing.The model can not directly read and impute a methylation array file. Instead, each methylation array is divided into windows, each window is 1kb (1000 base pairs) in length, and each training testing sample is generated from a window. Each sample contains at least 5 channels. the first 4 is the sequence one-hot encoding, the 5th is the methylation data. If a base pair location is not a CpG location, the methylation data value for it is "-1". If a CpG's methylation data is missing or waiting for imputaion, its value is also "-1". Other biological data can be added as extra channels. Check out example raw files in the folder "raw" to form your own datasets for training and testing sample generation.For each raw file in the "raw" folder, the first 3 columns are chr, loc, and methylation.The rest of the columns are treated as additional channels and will be added to each sample during generation. '-d' or '--folder': specify raw data folder'-i' or '--index' : which column in a raw file is the methylation array'-t' or '--tol' : how many missing methylation value is tolerated(we recommend 0 for generating training samples and -1 for generating testing samples, 0 will force the script to only select from windows with no missings, -1 will tolerate missing as much as possible.)'-c' or '--chr' : limit which chromosome to use, default is "chr#" to use all chromosomes'-w' or '--winsize' : what window size to use, default is 1000 '-m' or '--mincpg': force generate from window to have a minimum number of CpGs, default is 10 '-n' or '--nsample': number of samples to generate per chromosome '-p' or '--output': samples output folder, default is "out" Use script "generate_samples_concat.py" to generate samples from long-range interacting windows such as Hi-C interactions or computed correlation.Check out the example long range file in the folder "data" to form your own long-range interacting windows for sample generation and concatenation. 4.3 Training Script Use diffusion.py to train and test a DDPM model using the generated samples'-t' or '--train_folder' : the folder containing the training samples'-f' or '--model_folder' : the model folder, will be created if it does not exist'-w' or '--win_size' : window size of each sample, default is 1000'-c' or '--channel': channel size of each sample'-d' or '--cuda_device' : if you have multiple cuda gpus, select which gpu to use, default is 0"-e" or "--epoch" : how many epochs for training, default is 2000"-s" or "--earlystop" : whether to use "early stopping" during training, default is False"-p" or "--patience" : patience for early stopping, default is 10 4.4 Imputation Use diffusion_inpainting.py to perform imputation on generated samples.'-t' or '--test_folder' : the folder containing samples for imputation'-o' or '--out_folder': imputed output folder name, default="inpainting_out"'-w' or '--win_size' : window size of each sample, default is 1000'-c' or '--channel': channel size of each sample'-d' or '--cuda_device' : if you have multiple cuda gpus, select which gpu to use, default is 0 Team If you have any questions or concerns about the project, please contact the following team member: Fengyao Yan fxy134@miami.edu

Read paper
Global, Regional, and National Cancer Incidence, Mortality, Years of Life Lost, Years Lived With Disability, and Disability-Adjusted Life-Years for 29 Cancer Groups, 1990 to 2016
2018 · JAMA Oncology · DOI 10.1001/jamaoncol.2018.2706

Importance: The increasing burden due to cancer and other noncommunicable diseases poses a threat to human development, which has resulted in global political commitments reflected in the Sustainable Development Goals as well as the World Health Organization (WHO) Global Action Plan on Non-Communicable Diseases. To determine if these commitments have resulted in improved cancer control, quantitative assessments of the cancer burden are required. Objective: To assess the burden for 29 cancer groups over time to provide a framework for policy discussion, resource allocation, and research focus. Evidence Review: Cancer incidence, mortality, years lived with disability, years of life lost, and disability-adjusted life-years (DALYs) were evaluated for 195 countries and territories by age and sex using the Global Burden of Disease study estimation methods. Levels and trends were analyzed over time, as well as by the Sociodemographic Index (SDI). Changes in incident cases were categorized by changes due to epidemiological vs demographic transition. Findings: In 2016, there were 17.2 million cancer cases worldwide and 8.9 million deaths. Cancer cases increased by 28% between 2006 and 2016. The smallest increase was seen in high SDI countries. Globally, population aging contributed 17%; population growth, 12%; and changes in age-specific rates, -1% to this change. The most common incident cancer globally for men was prostate cancer (1.4 million cases). The leading cause of cancer deaths and DALYs was tracheal, bronchus, and lung cancer (1.2 million deaths and 25.4 million DALYs). For women, the most common incident cancer and the leading cause of cancer deaths and DALYs was breast cancer (1.7 million incident cases, 535 000 deaths, and 14.9 million DALYs). In 2016, cancer caused 213.2 million DALYs globally for both sexes combined. Between 2006 and 2016, the average annual age-standardized incidence rates for all cancers combined increased in 130 of 195 countries or territories, and the average annual age-standardized death rates decreased within that timeframe in 143 of 195 countries or territories. Conclusions and Relevance: Large disparities exist between countries in cancer incidence, deaths, and associated disability. Scaling up cancer prevention and ensuring universal access to cancer care are required for health equity and to fulfill the global commitments for noncommunicable disease and cancer control.

Read paper
Smoking prevalence and attributable disease burden in 195 countries and territories, 1990–2015: a systematic analysis from the Global Burden of Disease Study 2015
2017 · The Lancet · DOI 10.1016/s0140-6736(17)30819-x

BACKGROUND: The scale-up of tobacco control, especially after the adoption of the Framework Convention for Tobacco Control, is a major public health success story. Nonetheless, smoking remains a leading risk for early death and disability worldwide, and therefore continues to require sustained political commitment. The Global Burden of Diseases, Injuries, and Risk Factors Study (GBD) offers a robust platform through which global, regional, and national progress toward achieving smoking-related targets can be assessed. METHODS: We synthesised 2818 data sources with spatiotemporal Gaussian process regression and produced estimates of daily smoking prevalence by sex, age group, and year for 195 countries and territories from 1990 to 2015. We analysed 38 risk-outcome pairs to generate estimates of smoking-attributable mortality and disease burden, as measured by disability-adjusted life-years (DALYs). We then performed a cohort analysis of smoking prevalence by birth-year cohort to better understand temporal age patterns in smoking. We also did a decomposition analysis, in which we parsed out changes in all-cause smoking-attributable DALYs due to changes in population growth, population ageing, smoking prevalence, and risk-deleted DALY rates. Finally, we explored results by level of development using the Socio-demographic Index (SDI). FINDINGS: Worldwide, the age-standardised prevalence of daily smoking was 25·0% (95% uncertainty interval [UI] 24·2-25·7) for men and 5·4% (5·1-5·7) for women, representing 28·4% (25·8-31·1) and 34·4% (29·4-38·6) reductions, respectively, since 1990. A greater percentage of countries and territories achieved significant annualised rates of decline in smoking prevalence from 1990 to 2005 than in between 2005 and 2015; however, only four countries had significant annualised increases in smoking prevalence between 2005 and 2015 (Congo [Brazzaville] and Azerbaijan for men and Kuwait and Timor-Leste for women). In 2015, 11·5% of global deaths (6·4 million [95% UI 5·7-7·0 million]) were attributable to smoking worldwide, of which 52·2% took place in four countries (China, India, the USA, and Russia). Smoking was ranked among the five leading risk factors by DALYs in 109 countries and territories in 2015, rising from 88 geographies in 1990. In terms of birth cohorts, male smoking prevalence followed similar age patterns across levels of SDI, whereas much more heterogeneity was found in age patterns for female smokers by level of development. While smoking prevalence and risk-deleted DALY rates mostly decreased by sex and SDI quintile, population growth, population ageing, or a combination of both, drove rises in overall smoking-attributable DALYs in low-SDI to middle-SDI geographies between 2005 and 2015. INTERPRETATION: The pace of progress in reducing smoking prevalence has been heterogeneous across geographies, development status, and sex, and as highlighted by more recent trends, maintaining past rates of decline should not be taken for granted, especially in women and in low-SDI to middle-SDI countries. Beyond the effect of the tobacco industry and societal mores, a crucial challenge facing tobacco control initiatives is that demographic forces are poised to heighten smoking's global toll, unless progress in preventing initiation and promoting cessation can be substantially accelerated. Greater success in tobacco control is possible but requires effective, comprehensive, and adequately implemented and enforced policies, which might in turn require global and national levels of political commitment beyond what has been achieved during the past 25 years. FUNDING: Bill & Melinda Gates Foundation and Bloomberg Philanthropies.

Read paper
Global, Regional, and National Cancer Incidence, Mortality, Years of Life Lost, Years Lived With Disability, and Disability-Adjusted Life-years for 32 Cancer Groups, 1990 to 2015
2016 · JAMA Oncology · DOI 10.1001/jamaoncol.2016.5688

IMPORTANCE: Cancer is the second leading cause of death worldwide. Current estimates on the burden of cancer are needed for cancer control planning. OBJECTIVE: To estimate mortality, incidence, years lived with disability (YLDs), years of life lost (YLLs), and disability-adjusted life-years (DALYs) for 32 cancers in 195 countries and territories from 1990 to 2015. EVIDENCE REVIEW: Cancer mortality was estimated using vital registration system data, cancer registry incidence data (transformed to mortality estimates using separately estimated mortality to incidence [MI] ratios), and verbal autopsy data. Cancer incidence was calculated by dividing mortality estimates through the modeled MI ratios. To calculate cancer prevalence, MI ratios were used to model survival. To calculate YLDs, prevalence estimates were multiplied by disability weights. The YLLs were estimated by multiplying age-specific cancer deaths by the reference life expectancy. DALYs were estimated as the sum of YLDs and YLLs. A sociodemographic index (SDI) was created for each location based on income per capita, educational attainment, and fertility. Countries were categorized by SDI quintiles to summarize results. FINDINGS: In 2015, there were 17.5 million cancer cases worldwide and 8.7 million deaths. Between 2005 and 2015, cancer cases increased by 33%, with population aging contributing 16%, population growth 13%, and changes in age-specific rates contributing 4%. For men, the most common cancer globally was prostate cancer (1.6 million cases). Tracheal, bronchus, and lung cancer was the leading cause of cancer deaths and DALYs in men (1.2 million deaths and 25.9 million DALYs). For women, the most common cancer was breast cancer (2.4 million cases). Breast cancer was also the leading cause of cancer deaths and DALYs for women (523 000 deaths and 15.1 million DALYs). Overall, cancer caused 208.3 million DALYs worldwide in 2015 for both sexes combined. Between 2005 and 2015, age-standardized incidence rates for all cancers combined increased in 174 of 195 countries or territories. Age-standardized death rates (ASDRs) for all cancers combined decreased within that timeframe in 140 of 195 countries or territories. Countries with an increase in the ASDR due to all cancers were largely located on the African continent. Of all cancers, deaths between 2005 and 2015 decreased significantly for Hodgkin lymphoma (-6.1% [95% uncertainty interval (UI), -10.6% to -1.3%]). The number of deaths also decreased for esophageal cancer, stomach cancer, and chronic myeloid leukemia, although these results were not statistically significant. CONCLUSION AND RELEVANCE: As part of the epidemiological transition, cancer incidence is expected to increase in the future, further straining limited health care resources. Appropriate allocation of resources for cancer prevention, early diagnosis, and curative and palliative care requires detailed knowledge of the local burden of cancer. The GBD 2015 study results demonstrate that progress is possible in the war against cancer. However, the major findings also highlight an unmet need for cancer prevention efforts, including tobacco control, vaccination, and the promotion of physical activity and a healthy diet.

Read paper
The Global Burden of Cancer 2013
2015 · JAMA Oncology · DOI 10.1001/jamaoncol.2015.0735

IMPORTANCE: Cancer is among the leading causes of death worldwide. Current estimates of cancer burden in individual countries and regions are necessary to inform local cancer control strategies. OBJECTIVE: To estimate mortality, incidence, years lived with disability (YLDs), years of life lost (YLLs), and disability-adjusted life-years (DALYs) for 28 cancers in 188 countries by sex from 1990 to 2013. EVIDENCE REVIEW: The general methodology of the Global Burden of Disease (GBD) 2013 study was used. Cancer registries were the source for cancer incidence data as well as mortality incidence (MI) ratios. Sources for cause of death data include vital registration system data, verbal autopsy studies, and other sources. The MI ratios were used to transform incidence data to mortality estimates and cause of death estimates to incidence estimates. Cancer prevalence was estimated using MI ratios as surrogates for survival data; YLDs were calculated by multiplying prevalence estimates with disability weights, which were derived from population-based surveys; YLLs were computed by multiplying the number of estimated cancer deaths at each age with a reference life expectancy; and DALYs were calculated as the sum of YLDs and YLLs. FINDINGS: In 2013 there were 14.9 million incident cancer cases, 8.2 million deaths, and 196.3 million DALYs. Prostate cancer was the leading cause for cancer incidence (1.4 million) for men and breast cancer for women (1.8 million). Tracheal, bronchus, and lung (TBL) cancer was the leading cause for cancer death in men and women, with 1.6 million deaths. For men, TBL cancer was the leading cause of DALYs (24.9 million). For women, breast cancer was the leading cause of DALYs (13.1 million). Age-standardized incidence rates (ASIRs) per 100 000 and age-standardized death rates (ASDRs) per 100 000 for both sexes in 2013 were higher in developing vs developed countries for stomach cancer (ASIR, 17 vs 14; ASDR, 15 vs 11), liver cancer (ASIR, 15 vs 7; ASDR, 16 vs 7), esophageal cancer (ASIR, 9 vs 4; ASDR, 9 vs 4), cervical cancer (ASIR, 8 vs 5; ASDR, 4 vs 2), lip and oral cavity cancer (ASIR, 7 vs 6; ASDR, 2 vs 2), and nasopharyngeal cancer (ASIR, 1.5 vs 0.4; ASDR, 1.2 vs 0.3). Between 1990 and 2013, ASIRs for all cancers combined (except nonmelanoma skin cancer and Kaposi sarcoma) increased by more than 10% in 113 countries and decreased by more than 10% in 12 of 188 countries. CONCLUSIONS AND RELEVANCE: Cancer poses a major threat to public health worldwide, and incidence rates have increased in most countries since 1990. The trend is a particular threat to developing nations with health systems that are ill-equipped to deal with complex and expensive cancer treatments. The annual update on the Global Burden of Cancer will provide all stakeholders with timely estimates to guide policy efforts in cancer prevention, screening, treatment, and palliation.

Read paper

Co-authors

Rakhi Dandona

Public Health Foundation of India

6 shared publications
Florian Fischer

Bielefeld University

5 shared publications
Tim Driscoll

The University of Sydney

4 shared publications
Farshad Farzadfar

Tehran University of Medical Sciences

4 shared publications
Simon I Hay

University of Washington

4 shared publications
Kenji Shibuya

The University of Tokyo

3 shared publications
Christina Fitzmaurice

University of Washington

3 shared publications
Al Artaman

University of Manitoba

3 shared publications
Seth Flaxman

Carnegie Mellon University

3 shared publications
Young‐Ho Khang

Ulsan College

3 shared publications
Jost B Jonas

Heidelberg University

3 shared publications
Rupert Bourne

Anglia Ruskin University

3 shared publications