{"id":"https://openalex.org/W4292240486","doi":"https://doi.org/10.1137/21m1448641","title":"pyFFS: A Python Library for Fast Fourier Series Computation and Interpolation with GPU Acceleration","display_name":"pyFFS: A Python Library for Fast Fourier Series Computation and Interpolation with GPU Acceleration","publication_year":2022,"publication_date":"2022-08-01","ids":{"openalex":"https://openalex.org/W4292240486","doi":"https://doi.org/10.1137/21m1448641"},"language":"en","primary_location":{"id":"doi:10.1137/21m1448641","is_oa":false,"landing_page_url":"https://doi.org/10.1137/21m1448641","pdf_url":null,"source":{"id":"https://openalex.org/S165512578","display_name":"SIAM Journal on Scientific Computing","issn_l":"1064-8275","issn":["1064-8275","1095-7197"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320508","host_organization_name":"Society for Industrial and Applied Mathematics","host_organization_lineage":["https://openalex.org/P4310320508"],"host_organization_lineage_names":["Society for Industrial and Applied Mathematics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"SIAM Journal on Scientific Computing","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://pyffs.readthedocs.io/","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5019234378","display_name":"Eric Bezzam","orcid":"https://orcid.org/0000-0003-4837-5031"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Eric Bezzam","raw_affiliation_strings":["Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land"],"affiliations":[{"raw_affiliation_string":"Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011012105","display_name":"Sepand Kashani","orcid":"https://orcid.org/0000-0002-0735-371X"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Sepand Kashani","raw_affiliation_strings":["Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land"],"affiliations":[{"raw_affiliation_string":"Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088418993","display_name":"Paul Hurley","orcid":"https://orcid.org/0000-0002-8964-5774"},"institutions":[{"id":"https://openalex.org/I63525965","display_name":"Western Sydney University","ror":"https://ror.org/03t52dk35","country_code":"AU","type":"education","lineage":["https://openalex.org/I63525965"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Paul Hurley","raw_affiliation_strings":["Western Sydney University, Australia"],"affiliations":[{"raw_affiliation_string":"Western Sydney University, Australia","institution_ids":["https://openalex.org/I63525965"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049415924","display_name":"Martin Vetterli","orcid":"https://orcid.org/0000-0002-6122-1216"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Martin Vetterli","raw_affiliation_strings":["Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land"],"affiliations":[{"raw_affiliation_string":"Audiovisual Communications Laboratory, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzer-land","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5051722635","display_name":"Matthieu Simeoni","orcid":"https://orcid.org/0000-0002-4927-3697"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Matthieu Simeoni","raw_affiliation_strings":["Centre for Imaging, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzerland"],"affiliations":[{"raw_affiliation_string":"Centre for Imaging, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5019234378"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":0.1008,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.3739051,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"44","issue":"4","first_page":"C346","last_page":"C366"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10688","display_name":"Image and Signal Denoising Methods","score":0.9941999912261963,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10688","display_name":"Image and Signal Denoising Methods","score":0.9941999912261963,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10271","display_name":"Seismic Imaging and Inversion Techniques","score":0.9725000262260437,"subfield":{"id":"https://openalex.org/subfields/1908","display_name":"Geophysics"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11312","display_name":"Soil Moisture and Remote Sensing","score":0.9692000150680542,"subfield":{"id":"https://openalex.org/subfields/2305","display_name":"Environmental Engineering"},"field":{"id":"https://openalex.org/fields/23","display_name":"Environmental Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.801392674446106},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.6412472724914551},{"id":"https://openalex.org/keywords/acceleration","display_name":"Acceleration","score":0.5510115623474121},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.5498568415641785},{"id":"https://openalex.org/keywords/interpolation","display_name":"Interpolation (computer graphics)","score":0.54664146900177},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.49622446298599243},{"id":"https://openalex.org/keywords/fast-fourier-transform","display_name":"Fast Fourier transform","score":0.48115456104278564},{"id":"https://openalex.org/keywords/fourier-series","display_name":"Fourier series","score":0.48086458444595337},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.4564419388771057},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.42987293004989624},{"id":"https://openalex.org/keywords/series","display_name":"Series (stratigraphy)","score":0.417529821395874},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.39254239201545715},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3617517948150635},{"id":"https://openalex.org/keywords/applied-mathematics","display_name":"Applied mathematics","score":0.335164874792099},{"id":"https://openalex.org/keywords/mathematical-analysis","display_name":"Mathematical analysis","score":0.21007341146469116},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.11135396361351013},{"id":"https://openalex.org/keywords/physics","display_name":"Physics","score":0.08814939856529236},{"id":"https://openalex.org/keywords/animation","display_name":"Animation","score":0.069801926612854}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.801392674446106},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.6412472724914551},{"id":"https://openalex.org/C117896860","wikidata":"https://www.wikidata.org/wiki/Q11376","display_name":"Acceleration","level":2,"score":0.5510115623474121},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.5498568415641785},{"id":"https://openalex.org/C137800194","wikidata":"https://www.wikidata.org/wiki/Q11713455","display_name":"Interpolation (computer graphics)","level":3,"score":0.54664146900177},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.49622446298599243},{"id":"https://openalex.org/C75172450","wikidata":"https://www.wikidata.org/wiki/Q623950","display_name":"Fast Fourier transform","level":2,"score":0.48115456104278564},{"id":"https://openalex.org/C207864730","wikidata":"https://www.wikidata.org/wiki/Q179467","display_name":"Fourier series","level":2,"score":0.48086458444595337},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.4564419388771057},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.42987293004989624},{"id":"https://openalex.org/C143724316","wikidata":"https://www.wikidata.org/wiki/Q312468","display_name":"Series (stratigraphy)","level":2,"score":0.417529821395874},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.39254239201545715},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3617517948150635},{"id":"https://openalex.org/C28826006","wikidata":"https://www.wikidata.org/wiki/Q33521","display_name":"Applied mathematics","level":1,"score":0.335164874792099},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.21007341146469116},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.11135396361351013},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.08814939856529236},{"id":"https://openalex.org/C502989409","wikidata":"https://www.wikidata.org/wiki/Q11425","display_name":"Animation","level":2,"score":0.069801926612854},{"id":"https://openalex.org/C74650414","wikidata":"https://www.wikidata.org/wiki/Q11397","display_name":"Classical mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1137/21m1448641","is_oa":false,"landing_page_url":"https://doi.org/10.1137/21m1448641","pdf_url":null,"source":{"id":"https://openalex.org/S165512578","display_name":"SIAM Journal on Scientific Computing","issn_l":"1064-8275","issn":["1064-8275","1095-7197"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320508","host_organization_name":"Society for Industrial and Applied Mathematics","host_organization_lineage":["https://openalex.org/P4310320508"],"host_organization_lineage_names":["Society for Industrial and Applied Mathematics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"SIAM Journal on Scientific Computing","raw_type":"journal-article"},{"id":"pmh:oai:infoscience.epfl.ch:296925","is_oa":true,"landing_page_url":"https://pyffs.readthedocs.io/","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"research article"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:296925","is_oa":true,"landing_page_url":"https://pyffs.readthedocs.io/","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"research article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W565239305","https://openalex.org/W658512522","https://openalex.org/W1964583293","https://openalex.org/W1971305209","https://openalex.org/W1983348509","https://openalex.org/W2022028092","https://openalex.org/W2050246505","https://openalex.org/W2061171222","https://openalex.org/W2078498319","https://openalex.org/W2103030298","https://openalex.org/W2112177269","https://openalex.org/W2116138376","https://openalex.org/W2123119012","https://openalex.org/W2149213383","https://openalex.org/W2973391561","https://openalex.org/W3003257820","https://openalex.org/W3021149756","https://openalex.org/W3035965352","https://openalex.org/W3037867319","https://openalex.org/W3090728696","https://openalex.org/W3099878876","https://openalex.org/W4252713891","https://openalex.org/W4302472261"],"related_works":["https://openalex.org/W2341492732","https://openalex.org/W3187193180","https://openalex.org/W106542691","https://openalex.org/W4287027380","https://openalex.org/W1699080303","https://openalex.org/W4297799326","https://openalex.org/W3116064965","https://openalex.org/W3193760048","https://openalex.org/W1486009489","https://openalex.org/W3203958278"],"abstract_inverted_index":{"Fourier":[0,19,43,106,126,215],"transforms":[1],"are":[2],"an":[3,27,132,147,179,206,221],"often":[4],"necessary":[5],"component":[6],"in":[7,47,214],"many":[8,24],"computational":[9],"tasks":[10],"and":[11,31,59,68,93,99,174,195],"can":[12,142],"be":[13,37],"computed":[14],"efficiently":[15],"through":[16,120,169],"the":[17,42,51,57,71,96,110,115,124,138,153,186,210],"fast":[18,125],"transform":[20,107],"(FFT)":[21],"algorithm.":[22],"However,":[23],"applications":[25],"involve":[26],"underlying":[28],"continuous":[29],"signal,":[30],"a":[32,82],"more":[33,145],"natural":[34],"choice":[35],"would":[36],"to":[38,49,159],"work":[39],"with,":[40],"e.g.,":[41],"series":[44,127],"(FS)":[45],"coefficients":[46,75,108,119,189],"order":[48,148,180],"avoid":[50],"additional":[52],"overhead":[53],"of":[54,73,117,149,181,190,199,212],"translating":[55],"between":[56],"analog":[58],"discrete":[60,77,105],"domains.":[61],"Unfortunately,":[62],"there":[63],"exists":[64],"very":[65],"little":[66],"literature":[67],"tools":[69],"for":[70,87,104,176,184,202],"manipulation":[72],"FS":[74,89,118,133,188],"from":[76],"samples.":[78],"This":[79],"paper":[80],"introduces":[81],"Python":[83],"library":[84],"called":[85],"pyFFS":[86,113,130,213,217],"efficient":[88,102],"coefficient":[90],"computation,":[91],"convolution,":[92],"interpolation.":[94,163,204],"While":[95],"libraries":[97],"SciPy":[98,154],"NumPy":[100],"provide":[101],"routines":[103],"via":[109],"FFT":[111],"algorithm,":[112],"addresses":[114],"computation":[116],"what":[121],"we":[122,208],"call":[123],"(FFS).":[128],"Moreover,":[129],"includes":[131],"interpolation":[134],"method":[135],"based":[136],"on":[137],"chirp":[139],"Z-transform":[140],"that":[141],"make":[143],"it":[144],"than":[146,152],"magnitude":[150,182,200],"faster":[151,183,201],"equivalent":[155],"when":[156],"one":[157],"wishes":[158],"perform":[160],"distortionless":[161],"bandlimited":[162],"Graphics":[164],"processing":[165],"unit":[166],"(GPU)":[167],"support":[168],"CuPy":[170],"is":[171,218],"readily":[172],"available":[173,219],"allows":[175],"further":[177],"acceleration:":[178],"computing":[185],"2-D":[187,203],"1000":[191,193],"$\\times$":[192],"samples":[194],"nearly":[196],"two":[197],"orders":[198],"As":[205],"application,":[207],"discuss":[209],"use":[211],"optics.":[216],"as":[220],"open":[222],"source":[223],"package":[224],"at":[225,229],"https://github.com/imagingofthings/pyFFS,":[226],"with":[227],"documentation":[228],"https://pyffs.readthedocs.io.":[230]},"counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
