{"id":24667605,"url":"https://github.com/torkamanilab/frequency_analyzer","last_synced_at":"2025-10-15T05:33:51.638Z","repository":{"id":57432255,"uuid":"44780583","full_name":"TorkamaniLab/frequency_analyzer","owner":"TorkamaniLab","description":"A command-line tool for isolating frequencies found in accelerometer data.","archived":false,"fork":false,"pushed_at":"2023-07-06T21:04:07.000Z","size":820,"stargazers_count":1,"open_issues_count":2,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-11T10:51:50.583Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TorkamaniLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-23T00:08:49.000Z","updated_at":"2017-08-09T17:58:52.000Z","dependencies_parsed_at":"2022-09-17T03:51:22.061Z","dependency_job_id":null,"html_url":"https://github.com/TorkamaniLab/frequency_analyzer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorkamaniLab%2Ffrequency_analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorkamaniLab%2Ffrequency_analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorkamaniLab%2Ffrequency_analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TorkamaniLab%2Ffrequency_analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TorkamaniLab","download_url":"https://codeload.github.com/TorkamaniLab/frequency_analyzer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235679293,"owners_count":19028344,"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","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":"2025-01-26T08:17:56.284Z","updated_at":"2025-10-08T04:31:13.456Z","avatar_url":"https://github.com/TorkamaniLab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frequency Analyzer\n\n    A tool for analyzing, grouping, and visualizing frequencies found in \n    raw accelerometer data (i.e. from a smartwatch).\n\n```bash\n$ pip install frequency_analyzer\n```\n\nFor a full list of options see the help menu `--help`.\n\n![A sample graph](/sample_analysis.png)\n\n## How do I use it?\n\n**Typical Usage:**\n\n    frequency_analyzer --graph -i raw__data.csv -o results.csv\n\nThis usage pattern will take `raw_data.csv` and do the analysis on it, save the results to `results.csv` and graph the output. It's pretty simple.\n\n**Crazy Usage:**\n\n    frequency_analyzer -gver -i raw_data.csv -o results.csv -k 0.6 -a z:45,y:10,z:35 -l 3 -g\n\nThis usage, which I think uses every option, will take `raw_data.csv`, do the analysis, save the results to `results.csv` and graph the result (just like above). It will also save all intermediate data sets to the `cwd `, detail it's progress with verbose output, ignore gravity in the calculations, transform the resulting data by the angles `z:45, y:10, z:35`, compute 3 levels of the discrete wave transform, and consider all frequencies over 60% of the max as significant.\n\n## What does it do?\n\nImagine the kind of accelerometer data captured by your phone or smartwatch as you move. This tool takes that raw data and presents it as a series of frequency profiles and pulls out what it deems as 'significant frequencies'. This is useful if you're looking to see what frequencies make up the signal you're trying to analyze. It also calculates some handy values for each frequency grouping to give you even more information about what makes up your signal.\n\n## What kind of data does it use?\n\nfrequency_analyzer accepts 3d acclerometer input data in csv format. The data \nmust have a time unit as the first column and then be in x, y, z order immediately \nfollowing.\n\nAccording to the `--format` option:\n\n    Time,X,Y,Z\n    0,213,-435,54\n    20,332,-3245,4\n    ...\n\nTimes may be either absolute (i.e. from the Unix Epoch) or local (beginning from zero).\nFrequency analyzer expects the acceleration values to be in milliG's. See `--help` for\nmore information. The header may also be ommited if the `--no-header` option is provided.\n\nFrequency Analyzer has the ability to save it's intermediate data via the `--save` option.\nWhen this option is provided, Frequency Analyzer will write intermediate csv and graph \nimages to the current working directory.\n\nIf you wish to see the results of Frequency Analyzer graphically and interactivly, supplying\nthe `--graph` option will display an interactive figure of the data. This figure includes\nthe graph of the frequency domain of the data as well as the position waves in all 3 dimensions.\n\nIf the acceleration data was collected when the acclerometer was not in line with the inertial \nframe of the earth, and the transformation angles are known, then supplying the `--angle` option,\nand providing the appropriate transformation angles and sequence will allow Frequency Analyzer to\nremove the earth's gravity from the calculations. If it is not known, then supply the `--no-gravity`\noption and Frequency Analyzer will not attempt to remove the earth's gravity from the reference \nframe measurements or transform the data to the earth's inertial frame.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorkamanilab%2Ffrequency_analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorkamanilab%2Ffrequency_analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorkamanilab%2Ffrequency_analyzer/lists"}