{"id":15494460,"url":"https://github.com/addisonelliott/nifticlib","last_synced_at":"2025-06-21T00:07:52.557Z","repository":{"id":139442371,"uuid":"81914963","full_name":"addisonElliott/nifticlib","owner":"addisonElliott","description":"Nifticlib is a C I/O library for reading and writing files in the nifti-1 data format. nifti-1 is a binary file format for storing medical image data, e.g. magnetic resonance image (MRI) and functional MRI (fMRI) brain images.","archived":false,"fork":false,"pushed_at":"2017-07-25T17:20:47.000Z","size":265,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T17:13:54.568Z","etag":null,"topics":["c","fmri","fmri-image-slices","library","medical","medical-imaging","mri","mri-images","nifti","nifti-format"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/addisonElliott.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":"2017-02-14T06:53:12.000Z","updated_at":"2025-02-15T13:56:55.000Z","dependencies_parsed_at":"2023-04-03T22:17:36.830Z","dependency_job_id":null,"html_url":"https://github.com/addisonElliott/nifticlib","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/addisonElliott/nifticlib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonElliott%2Fnifticlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonElliott%2Fnifticlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonElliott%2Fnifticlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonElliott%2Fnifticlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/addisonElliott","download_url":"https://codeload.github.com/addisonElliott/nifticlib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonElliott%2Fnifticlib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261039081,"owners_count":23100969,"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":["c","fmri","fmri-image-slices","library","medical","medical-imaging","mri","mri-images","nifti","nifti-format"],"created_at":"2024-10-02T08:14:18.598Z","updated_at":"2025-06-21T00:07:47.501Z","avatar_url":"https://github.com/addisonElliott.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"About this Repository\n-------------------\nThis repository is based from the NIFTIlib project. It contains changes to allow for building a static/shared library in Windows using Microsoft Visual Studio.\n\nNifti-1 C libraries\n-------------------\n\nVersion 2.0.0 beta release Jul  2010\nVersion 1.1.0 beta release Aug  2008\nVersion 1.0.0 beta release Dec  2007\nVersion 0.6 beta release Aug  2007\nVersion 0.5 beta release May  2007\nVersion 0.4 beta release Sept. 2006\nVersion 0.3 beta release April 2006\nVersion 0.2 beta release August 12, 2005\nVersion 0.1 beta release March 11, 2005\n\nniftilib code is released into the public domain.\n\n\nLibrary directories\n-------------------\nznzlib   -- low level library for handling read/write of compressed files.\n\nniftilib -- core i/o routines for reading and writing nifti-1 format files.\n\t    Primarily routines to read/write and manipulate the header field\n\t    information, including orientation matrices.  Volume-wise,\n            timecourse-wise, access to image data.  \n\nnifticdf -- functions to compute cumulative distributions and their inverses\n\nfsliolib -- i/o routines for reading and writing nifti-1 format files, higher\n            level than niftilib, includes routines for reading the data blob by\n            volume, timecourse, etc., and, addresses image orientation issues.\n            *** work in progress, subject to significant revision.....\n\nutils    -- directory containing library utility programs (nifti_tool)\n\n\n\n\nDestination directories\n-----------------------\nbin      -- destination directory for installed programs\ninclude  -- destination directory for library header files\nlib      -- destination directory for compiled libraries\ndocs     -- destination directory Doxygen html (created via \"make doc\")\n\n\n\nExample directories\n-------------------\nexamples  -- directory containing sample code using nifti reference library\nreal_easy -- code snippets to read nifti-1 files, not using nifti ref. lib.\n\n\nOther directories\n-----------------\nTesting   -- directory containing code to test the libraries\npackaging -- spec file for building RPMs, and template package\n             description for Dev-Cpp (http://www.bloodshed.net/devcpp.html)\n\n\n\nInstructions to build\n---------------------\n### Linux\nThere is a Makefile for the project precompiled which can be used.\nRun the following command to make the library:\n```\nmake all\n```\nThe results will be in the directories: bin/ include/ lib/\n\n**Note:** If the Makefile causes errors, then you should use CMake to build the library. The details are given below.\n\n### Windows\nCMake is the tool that will be used to build the library on Windows.\nFollow these instructions to build using CMake on Windows:\n\n1. Start CMake-gui.\n2. Select the source folder as the NIFTIclib directory.\n3. Select the build folder to be an empty folder where the results of the build will be contained. \n  * The recommended location is the folder build within the source folder. \n4. Click Configure\n  * __Note:__ A message box may appear asking if you want to create the build directory. Select Yes.\n5. Next, a dialog box should appear requesting the desired generator to use to build the library. Select the compiler you want to use to build this library. \n  * Visual Studio has 32-bit and 64-bit compilers so make sure to select the desired one. (Win64 is for 64-bit) \n6. If everything was successful, then you should have a bunch of red background items in a list. These are the configuration options for building the application. Many of these can be left untouched but I will cover the more common ones you should check.\n  * BUILD_SHARED_LIBS - If checked, this creates a shared library. Otherwise, the library is linked statically.\n  * CMAKE_INSTALL_PREFIX - When compiling the library, there is usually an install phase where it will take the necessary binaries/libraries and place them in one install directory. This provides a clean directory with just the necessary items from the build. Change this to the location where you would like to keep that information.\n  * ZLIB_INCLUDE_DIR and ZLIB_LIBRARY_DEBUG or ZLIB_LIBRARY_RELEASE - Zlib is a third-party library very commonly used for compression of data. It is used in NIFTIclib for extracting GZ files. CMake will make an attempt to search for a Zlib library but it may be unsuccesful. You will want to make sure that the INCLUDE_DIR is set to a valid directory and that either ZLIB_LIBRARY_DEBUG or ZLIB_LIBRARY_RELEASE is set to a valid library file (file extensions: *.lib, *.so, *.a).\n7. Once the configuration values are set to desired values, click Configure again to finalize any changes. \n8. Click Generate and this will create the project that is used to make the libraries.\n9. This part is compiler specific but I will give a general outline of what needs to be done.\n  * In Cygwin, MinGW, and GCC compilers, you will redirect to the build directory and run these commands:\n  ```\n  make\n  make install  (Installs in CMAKE_INSTALL_PREFIX)\n  ```\n  * In Visual Studio, you will open up a solution containing all of the projects that will be built. Click Build -\u003e Build Solution. This should build the project. Afterwards, go to the INSTALL project in Visual Studio, right-click and select Build. This will install the libraries in the CMAKE_INSTALL_PREFIX.\n  \nDone! The results will be in the directories: bin/ include/ lib/ of the build directory. It will also be located in the CMAKE_INSTALL_PREFIX if the install command was run.\n  \n  \nUsing the Library in Projects\n---------------------\nUsing NIFTIclib in projects is like using any other static/shared library in a project. You include the header files in your project and use them as needed. Next, you link to the library file (.lib, .so, .a, etc). Finally, if a shared library was built, the DLLs are what will contain the actual information. DLLs are searched for at runtime. The necessary DLLs will need to be in your PATH variable or in the directory of the executable.\n\n**Note:** If you are using static libraries in your project, make sure to define `NIFTILIB_STATIC` before including ANY header file. It is usually best to define NIFTILIB_STATIC in the project settings so that it will be done automatically.\n\nFor more information\n--------------------\n\nSee the niftilib webpage at http://niftilib.sourceforge.net/\n\nSee the NIFTI webpage at http://nifti.nimh.nih.gov/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddisonelliott%2Fnifticlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faddisonelliott%2Fnifticlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddisonelliott%2Fnifticlib/lists"}