{"id":25895592,"url":"https://github.com/diamondlightsource/durin","last_synced_at":"2025-03-02T22:32:08.142Z","repository":{"id":31129053,"uuid":"126972645","full_name":"DiamondLightSource/durin","owner":"DiamondLightSource","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-19T16:30:11.000Z","size":107,"stargazers_count":1,"open_issues_count":11,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-03-19T17:50:00.369Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DiamondLightSource.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}},"created_at":"2018-03-27T10:54:41.000Z","updated_at":"2022-03-11T14:47:29.000Z","dependencies_parsed_at":"2023-11-16T15:58:47.896Z","dependency_job_id":null,"html_url":"https://github.com/DiamondLightSource/durin","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdurin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdurin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdurin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiamondLightSource%2Fdurin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiamondLightSource","download_url":"https://codeload.github.com/DiamondLightSource/durin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241582515,"owners_count":19985845,"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-03-02T22:32:07.459Z","updated_at":"2025-03-02T22:32:08.112Z","avatar_url":"https://github.com/DiamondLightSource.png","language":"C","readme":"Durin\n=====\n\nXDS plugin for reading HDF5 files following the NeXuS format or those written by Dectris Eiger detectors.\n\nSee:\n* https://www.nexusformat.org\n* https://www.dectris.com/features/features-eiger-x/hdf5-and-nexus\n* https://strucbio.biologie.uni-konstanz.de/xdswiki\n\n## Get Durin\n\nLatest release at https://github.com/DiamondLightSource/durin/releases/tag/2019v1\n\n## Usage\nIn your XDS.INP add:\n```\nLIB=[path to durin-plugin.so]\nNAME_TEMPLATE_OF_DATA_FRAMES=[data_path]/data_images_??????.h5\n```\nXDS will instruct the plugin to load `[data_path]/data_images_master.h5` and this must be the\nEiger master file or the NeXus file for the data collection.\n\nIt is generally assumed that the files `[data_path]/data_images_data_xxxxxx.h5` contain the actual\ndatasets and the master file contains HDF5 external links to these, but that is not required, so long as\nthe master file contains an `NXdata` or `NXdetector` group with either a dataset named `data` or a\nseries of datasets named `data_000001`, `data_000002`, etc.\n\n\n## Requirements\n* HDF5 Library (https://www.hdfgroup.org/downloads)\n\n\n## Building\n\n### Building HDF5 library\nThe HDF5 library used when building durin must have been compiled with specific switches enabled\nto allow the durin plugin to be built and used.\n\nDownload the HDF5 source code (https://www.hdfgroup.org/downloads/hdf5/source-code) and extract\nto any directory (referred to as `/hdf5_dir`), and run the following commands.\n```\ncd /hdf5_dir\nmkdir build\ncd build\nexport CFLAGS=-fPIC\n../configure --enable-threadsafe --enable-deprecated-symbols --enable-hl --enable-unsupported\nmake\nmake check\nmake install\n```\nThe hdf5 tools and libraries should now be located in `/hdf5_dir/build/hdf5`\n\nFor reference, the plugin requires the thread-safe switch and the optimised chunk read function.\nThe chunk read function may be defined in the high level library instead of the regular library,\ndepending on the exact HDF5 version downloaded (hence the --enable-deprecated-symbols _and_ --enable-hl).\nThe unsupported flag enables building with both threadsafe and high-level enabled.\n\n\n### Building durin plugin\nThe plugin makefile will use the \"h5cc\" compiler wrapper, provided by the HDF5 library, which\nmust be on your PATH.\nDownload or clone the plugin source code (https://github.com/DiamondLightSource/durin)\ninto any directory (referred to as `/durin_dir`) and run the following commands.\n```\ncd /durin_dir\nPATH=/hdf5_dir/build/hdf5/bin:$PATH\nmake\n```\nThe plugin is located at `/durin_dir/build/durin-plugin.so` and should be added to the\nXDS.INP file as `LIB=/durin_dir/build/durin-plugin.so`\n\n\n\n## Example XDS.INP\n```\nDETECTOR=PILATUS MINIMUM_VALID_PIXEL_VALUE=0 OVERLOAD=4096\nLIB=/opt/durin/build/durin-plugin.so\nSENSOR_THICKNESS= 0.450\n!SENSOR_MATERIAL / THICKNESS Si 0.450\n!SILICON= 3.953379\nDIRECTION_OF_DETECTOR_X-AXIS= 1.00000 0.00000 0.00000\nDIRECTION_OF_DETECTOR_Y-AXIS= 0.00000 1.00000 0.00000\nDETECTOR_DISTANCE= 194.633000\nORGX= 1041.30 ORGY= 1160.90\nROTATION_AXIS= 0.00000 -1.00000 -0.00000\nSTARTING_ANGLE= -30.000\nOSCILLATION_RANGE= 0.100\nX-RAY_WAVELENGTH= 0.97891\nINCIDENT_BEAM_DIRECTION= -0.000 -0.000 1.022\nFRACTION_OF_POLARIZATION= 0.999\nPOLARIZATION_PLANE_NORMAL= 0.000 1.000 0.000\nNAME_TEMPLATE_OF_DATA_FRAMES= ../image_9264_??????.h5\nTRUSTED_REGION= 0.0 1.41\nDATA_RANGE= 1 600\nJOB=XYCORR INIT COLSPOT IDXREF DEFPIX INTEGRATE CORRECT\n```\n\nN.B. the master file is needed, not the .nxs one which follows the\nstandard.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fdurin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiamondlightsource%2Fdurin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiamondlightsource%2Fdurin/lists"}