Mapping human microglial morphological diversity via handcrafted and deep learning-derived image features.
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
C · 508 lines · 15 KB · LGPL-2.1
- #ifdef __cplusplus
- # error "A C++ compiler has been selected for C."
- #endif
- #if defined(__18CXX)
- # define ID_VOID_MAIN
- #endif
- /* Version number components: V=Version, R=Revision, P=Patch
- Version date components: YYYY=Year, MM=Month, DD=Day */
- #if defined(__INTEL_COMPILER) || defined(__ICC)
- # define COMPILER_ID "Intel"
- # if defined(_MSC_VER)
- # define SIMULATE_ID "MSVC"
- # endif
- /* __INTEL_COMPILER = VRP */
- # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
- # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
- # if defined(__INTEL_COMPILER_UPDATE)
- # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
- # else
- # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
- # endif
- # if defined(__INTEL_COMPILER_BUILD_DATE)
- /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
- # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
- # endif
- # if defined(_MSC_VER)
- /* _MSC_VER = VVRR */
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
- # endif
- #elif defined(__PATHCC__)
- # define COMPILER_ID "PathScale"
- # define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
- # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
- # if defined(__PATHCC_PATCHLEVEL__)
- # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
- # endif
- #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
- # define COMPILER_ID "Embarcadero"
- # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
- # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
- # define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF)
- #elif defined(__BORLANDC__)
- # define COMPILER_ID "Borland"
- /* __BORLANDC__ = 0xVRR */
- # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
- # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
- #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
- # define COMPILER_ID "Watcom"
- /* __WATCOMC__ = VVRR */
- # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
- # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
- # if (__WATCOMC__ % 10) > 0
- # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
- # endif
- #elif defined(__WATCOMC__)
- # define COMPILER_ID "OpenWatcom"
- /* __WATCOMC__ = VVRP + 1100 */
- # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
- # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
- # if (__WATCOMC__ % 10) > 0
- # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
- # endif
- #elif defined(__SUNPRO_C)
- # define COMPILER_ID "SunPro"
- # if __SUNPRO_C >= 0x5100
- /* __SUNPRO_C = 0xVRRP */
- # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
- # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
- # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
- # else
- /* __SUNPRO_CC = 0xVRP */
- # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
- # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
- # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
- # endif
- #elif defined(__HP_cc)
- # define COMPILER_ID "HP"
- /* __HP_cc = VVRRPP */
- # define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
- # define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
- # define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
- #elif defined(__DECC)
- # define COMPILER_ID "Compaq"
- /* __DECC_VER = VVRRTPPPP */
- # define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
- # define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
- # define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
- #elif defined(__IBMC__) && defined(__COMPILER_VER__)
- # define COMPILER_ID "zOS"
- /* __IBMC__ = VRP */
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
- #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
- # define COMPILER_ID "XL"
- /* __IBMC__ = VRP */
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
- #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
- # define COMPILER_ID "VisualAge"
- /* __IBMC__ = VRP */
- # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
- # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
- #elif defined(__PGI)
- # define COMPILER_ID "PGI"
- # define COMPILER_VERSION_MAJOR DEC(__PGIC__)
- # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
- # if defined(__PGIC_PATCHLEVEL__)
- # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
- # endif
- #elif defined(_CRAYC)
- # define COMPILER_ID "Cray"
- # define COMPILER_VERSION_MAJOR DEC(_RELEASE)
- # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
- #elif defined(__TI_COMPILER_VERSION__)
- # define COMPILER_ID "TI"
- /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
- # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
- # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
- # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
- #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
- # define COMPILER_ID "Fujitsu"
- #elif defined(__TINYC__)
- # define COMPILER_ID "TinyCC"
- #elif defined(__SCO_VERSION__)
- # define COMPILER_ID "SCO"
- #elif defined(__clang__) && defined(__apple_build_version__)
- # define COMPILER_ID "AppleClang"
- # if defined(_MSC_VER)
- # define SIMULATE_ID "MSVC"
- # endif
- # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
- # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
- # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
- # if defined(_MSC_VER)
- /* _MSC_VER = VVRR */
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
- # endif
- # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
- #elif defined(__clang__)
- # define COMPILER_ID "Clang"
- # if defined(_MSC_VER)
- # define SIMULATE_ID "MSVC"
- # endif
- # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
- # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
- # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
- # if defined(_MSC_VER)
- /* _MSC_VER = VVRR */
- # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
- # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
- # endif
- #elif defined(__GNUC__)
- # define COMPILER_ID "GNU"
- # define COMPILER_VERSION_MAJOR DEC(__GNUC__)
- # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
- # if defined(__GNUC_PATCHLEVEL__)
- # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
- # endif
- #elif defined(_MSC_VER)
- # define COMPILER_ID "MSVC"
- /* _MSC_VER = VVRR */
- # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
- # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
- # if defined(_MSC_FULL_VER)
- # if _MSC_VER >= 1400
- /* _MSC_FULL_VER = VVRRPPPPP */
- # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
- # else
- /* _MSC_FULL_VER = VVRRPPPP */
- # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
- # endif
- # endif
- # if defined(_MSC_BUILD)
- # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
- # endif
- #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
- # define COMPILER_ID "ADSP"
- #if defined(__VISUALDSPVERSION__)
- /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
- # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
- # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
- # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
- #endif
- #elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
- # define COMPILER_ID "IAR"
- #elif defined(SDCC)
- # define COMPILER_ID "SDCC"
- /* SDCC = VRP */
- # define COMPILER_VERSION_MAJOR DEC(SDCC/100)
- # define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(SDCC % 10)
- #elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
- # define COMPILER_ID "MIPSpro"
- # if defined(_SGI_COMPILER_VERSION)
- /* _SGI_COMPILER_VERSION = VRP */
- # define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
- # define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
- # else
- /* _COMPILER_VERSION = VRP */
- # define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
- # define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
- # define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
- # endif
- /* These compilers are either not known or too old to define an
- identification macro. Try to identify the platform and guess that
- it is the native compiler. */
- #elif defined(__sgi)
- # define COMPILER_ID "MIPSpro"
- #elif defined(__hpux) || defined(__hpua)
- # define COMPILER_ID "HP"
- #else /* unknown compiler */
- # define COMPILER_ID ""
- #endif
- /* Construct the string literal in pieces to prevent the source from
- getting matched. Store it in a pointer rather than an array
- because some compilers will just produce instructions to fill the
- array rather than assigning a pointer to a static array. */
- char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
- #ifdef SIMULATE_ID
- char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
- #endif
- #ifdef __QNXNTO__
- char const* qnxnto = "INFO" ":" "qnxnto[]";
- #endif
- #define STRINGIFY_HELPER(X) #X
- #define STRINGIFY(X) STRINGIFY_HELPER(X)
- /* Identify known platforms by name. */
- #if defined(__linux) || defined(__linux__) || defined(linux)
- # define PLATFORM_ID "Linux"
- #elif defined(__CYGWIN__)
- # define PLATFORM_ID "Cygwin"
- #elif defined(__MINGW32__)
- # define PLATFORM_ID "MinGW"
- #elif defined(__APPLE__)
- # define PLATFORM_ID "Darwin"
- #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
- # define PLATFORM_ID "Windows"
- #elif defined(__FreeBSD__) || defined(__FreeBSD)
- # define PLATFORM_ID "FreeBSD"
- #elif defined(__NetBSD__) || defined(__NetBSD)
- # define PLATFORM_ID "NetBSD"
- #elif defined(__OpenBSD__) || defined(__OPENBSD)
- # define PLATFORM_ID "OpenBSD"
- #elif defined(__sun) || defined(sun)
- # define PLATFORM_ID "SunOS"
- #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
- # define PLATFORM_ID "AIX"
- #elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
- # define PLATFORM_ID "IRIX"
- #elif defined(__hpux) || defined(__hpux__)
- # define PLATFORM_ID "HP-UX"
- #elif defined(__HAIKU__)
- # define PLATFORM_ID "Haiku"
- #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
- # define PLATFORM_ID "BeOS"
- #elif defined(__QNX__) || defined(__QNXNTO__)
- # define PLATFORM_ID "QNX"
- #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
- # define PLATFORM_ID "Tru64"
- #elif defined(__riscos) || defined(__riscos__)
- # define PLATFORM_ID "RISCos"
- #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
- # define PLATFORM_ID "SINIX"
- #elif defined(__UNIX_SV__)
- # define PLATFORM_ID "UNIX_SV"
- #elif defined(__bsdos__)
- # define PLATFORM_ID "BSDOS"
- #elif defined(_MPRAS) || defined(MPRAS)
- # define PLATFORM_ID "MP-RAS"
- #elif defined(__osf) || defined(__osf__)
- # define PLATFORM_ID "OSF1"
- #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
- # define PLATFORM_ID "SCO_SV"
- #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
- # define PLATFORM_ID "ULTRIX"
- #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
- # define PLATFORM_ID "Xenix"
- #elif defined(__WATCOMC__)
- # if defined(__LINUX__)
- # define PLATFORM_ID "Linux"
- # elif defined(__DOS__)
- # define PLATFORM_ID "DOS"
- # elif defined(__OS2__)
- # define PLATFORM_ID "OS2"
- # elif defined(__WINDOWS__)
- # define PLATFORM_ID "Windows3x"
- # else /* unknown platform */
- # define PLATFORM_ID ""
- # endif
- #else /* unknown platform */
- # define PLATFORM_ID ""
- #endif
- /* For windows compilers MSVC and Intel we can determine
- the architecture of the compiler being used. This is because
- the compilers do not have flags that can change the architecture,
- but rather depend on which compiler is being used
- */
- #if defined(_WIN32) && defined(_MSC_VER)
- # if defined(_M_IA64)
- # define ARCHITECTURE_ID "IA64"
- # elif defined(_M_X64) || defined(_M_AMD64)
- # define ARCHITECTURE_ID "x64"
- # elif defined(_M_IX86)
- # define ARCHITECTURE_ID "X86"
- # elif defined(_M_ARM)
- # if _M_ARM == 4
- # define ARCHITECTURE_ID "ARMV4I"
- # elif _M_ARM == 5
- # define ARCHITECTURE_ID "ARMV5I"
- # else
- # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
- # endif
- # elif defined(_M_MIPS)
- # define ARCHITECTURE_ID "MIPS"
- # elif defined(_M_SH)
- # define ARCHITECTURE_ID "SHx"
- # else /* unknown architecture */
- # define ARCHITECTURE_ID ""
- # endif
- #elif defined(__WATCOMC__)
- # if defined(_M_I86)
- # define ARCHITECTURE_ID "I86"
- # elif defined(_M_IX86)
- # define ARCHITECTURE_ID "X86"
- # else /* unknown architecture */
- # define ARCHITECTURE_ID ""
- # endif
- #else
- # define ARCHITECTURE_ID ""
- #endif
- /* Convert integer to decimal digit literals. */
- #define DEC(n) \
- ('0' + (((n) / 10000000)%10)), \
- ('0' + (((n) / 1000000)%10)), \
- ('0' + (((n) / 100000)%10)), \
- ('0' + (((n) / 10000)%10)), \
- ('0' + (((n) / 1000)%10)), \
- ('0' + (((n) / 100)%10)), \
- ('0' + (((n) / 10)%10)), \
- ('0' + ((n) % 10))
- /* Convert integer to hex digit literals. */
- #define HEX(n) \
- ('0' + ((n)>>28 & 0xF)), \
- ('0' + ((n)>>24 & 0xF)), \
- ('0' + ((n)>>20 & 0xF)), \
- ('0' + ((n)>>16 & 0xF)), \
- ('0' + ((n)>>12 & 0xF)), \
- ('0' + ((n)>>8 & 0xF)), \
- ('0' + ((n)>>4 & 0xF)), \
- ('0' + ((n) & 0xF))
- /* Construct a string literal encoding the version number components. */
- #ifdef COMPILER_VERSION_MAJOR
- char const info_version[] = {
- 'I', 'N', 'F', 'O', ':',
- 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
- COMPILER_VERSION_MAJOR,
- # ifdef COMPILER_VERSION_MINOR
- '.', COMPILER_VERSION_MINOR,
- # ifdef COMPILER_VERSION_PATCH
- '.', COMPILER_VERSION_PATCH,
- # ifdef COMPILER_VERSION_TWEAK
- '.', COMPILER_VERSION_TWEAK,
- # endif
- # endif
- # endif
- ']','\0'};
- #endif
- /* Construct a string literal encoding the version number components. */
- #ifdef SIMULATE_VERSION_MAJOR
- char const info_simulate_version[] = {
- 'I', 'N', 'F', 'O', ':',
- 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
- SIMULATE_VERSION_MAJOR,
- # ifdef SIMULATE_VERSION_MINOR
- '.', SIMULATE_VERSION_MINOR,
- # ifdef SIMULATE_VERSION_PATCH
- '.', SIMULATE_VERSION_PATCH,
- # ifdef SIMULATE_VERSION_TWEAK
- '.', SIMULATE_VERSION_TWEAK,
- # endif
- # endif
- # endif
- ']','\0'};
- #endif
- /* Construct the string literal in pieces to prevent the source from
- getting matched. Store it in a pointer rather than an array
- because some compilers will just produce instructions to fill the
- array rather than assigning a pointer to a static array. */
- char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
- char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
- /*--------------------------------------------------------------------------*/
- #ifdef ID_VOID_MAIN
- void main() {}
- #else
- int main(int argc, char* argv[])
- {
- int require = 0;
- require += info_compiler[argc];
- require += info_platform[argc];
- require += info_arch[argc];
- #ifdef COMPILER_VERSION_MAJOR
- require += info_version[argc];
- #endif
- #ifdef SIMULATE_ID
- require += info_simulate[argc];
- #endif
- #ifdef SIMULATE_VERSION_MAJOR
- require += info_simulate_version[argc];
- #endif
- (void)argv;
- return require;
- }
- #endif
CMakeCCompilerId.c at commit 3b8f2a6, under LGPL-2.1 · at the source
Overview
- Ksilink, Strasbourg, France
- LIFE & BRAIN GmbH, Cellomics Unit, Bonn, Germany
- Institute of Reconstructive Neurobiology, University of Bonn Medical Faculty & University Hospital Bonn, Bonn, Germany
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repository
Its files are read in the Code ↔ Paper reader above.
Ksilink/PhenoLink
3b8f2a62dbb2c2156f0f8f62db468ded906e8a07, 4 August 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
198 files
- CMakeFiles/
3.3.0/ , C, 508 linesCompilerIdC/ CMakeCCompilerId.c - CMakeFiles/
3.3.0/ , C++, 498 linesCompilerIdCXX/ CMakeCXXCompilerId.cpp - Core/
Cloud/ , C++, 197 linesPhenoLinkDir.cpp - Core/
Cloud/ , C/C++, 4 linesPhenoLinkDir.h - Core/
Dll.h , C/C++, 77 lines - Core/
ImageContainers.cpp , C++, 1,000 lines - Core/
ImageContainers.h , C/C++, 293 lines - Core/
RegistrableFloatType.h , C/C++, 179 lines - Core/
RegistrableImageType.cpp , C++, 8 lines - Core/
RegistrableImageType.h , C/C++, 1,957 lines - Core/
RegistrableIntegralType. , C/C++, 170 linesh - Core/
RegistrableSecondOrderTy , C/C++, 16 linespe.h - Core/
RegistrableStdContainerT , C/C++, 211 linesype.h - Core/
RegistrableStdContainerT , C/C++, 268 linesypeSpecial.h - Core/
RegistrableTypes.cpp , C++, 19 lines - Core/
RegistrableTypes.h , C/C++, 1,058 lines - Core/
checkoutdataloaderplugin , C++, 68 linesinterface.cpp - Core/
checkoutdataloaderplugin , C/C++, 57 linesinterface.h - Core/
checkouterrorhandler.cpp , C++, 36 lines - Core/
checkouterrorhandler.h , C/C++, 26 lines - Core/
checkoutprocess.cpp , C++, 1,115 lines - Core/
checkoutprocess.h , C/C++, 246 lines - Core/
checkoutprocesspluginint , C++, 575 lineserface.cpp - Core/
checkoutprocesspluginint , C/C++, 558 lineserface.h - Core/
ck_mongo.cpp , C++, 4 lines - Core/
ck_mongo.h , C/C++, 24 lines - Core/
imageinfos.cpp , C++, 710 lines - Core/
imageinfos.h , C/C++, 219 lines - Core/
matrixdatamodel.cpp , C++, 114 lines - Core/
matrixdatamodel.h , C/C++, 65 lines - Core/
networkmessages.cpp , C++, 20 lines - Core/
networkmessages.h , C/C++, 25 lines - Core/
networkprocesshandler.cp , C++, 1,481 linesp - Core/
networkprocesshandler.h , C/C++, 201 lines - Core/
phenolinkimage.cpp , C++, 359 lines - Core/
phenolinkimage.h , C/C++, 15 lines - Core/
pluginmanager.cpp , C++, 172 lines - Core/
pluginmanager.h , C/C++, 16 lines - Core/
screensloader.cpp , C++, 7 lines - Core/
screensloader.h , C/C++, 20 lines - Core/
sequenceinteractor.cpp , C++, 1,996 lines - Core/
sequenceinteractor.h , C/C++, 205 lines - Core/
threadedprocess.cpp , C++, 11 lines - Core/
threadedprocess.h , C/C++, 22 lines - Core/
wellplatemodel.cpp , C++, 4,476 lines - Core/
wellplatemodel.h , C/C++, 607 lines - Core/
zmq/ , C++, 8 linesmdbroker.cpp - Core/
zmq/ , C++, 157 linesmdwrkapi.cpp - Core/
zmq/ , C++, 126 lineszmsg.cpp - Gui/
ImageDisplay/ , C++, 188 linesflowlayout.cpp - Gui/
ImageDisplay/ , C/C++, 58 linesflowlayout.h - Gui/
ImageDisplay/ , C++, 82 linesgraphicspixmapitem.cpp - Gui/
ImageDisplay/ , C/C++, 37 linesgraphicspixmapitem.h - Gui/
ImageDisplay/ , C++, 228 linesgraphicssignitem.cpp - Gui/
ImageDisplay/ , C/C++, 55 linesgraphicssignitem.h - Gui/
ImageDisplay/ , C++, 1,479 linesimageform.cpp - Gui/
ImageDisplay/ , C/C++, 173 linesimageform.h - Gui/
ImageDisplay/ , C++, 32 linesimagegraphicsview.cpp - Gui/
ImageDisplay/ , C/C++, 25 linesimagegraphicsview.h - Gui/
ImageDisplay/ , C++, 358 linesscrollzone.cpp - Gui/
ImageDisplay/ , C/C++, 59 linesscrollzone.h - Gui/
ScreensDisplay/ , C++, 290 linesgraphicsscreensitem.cpp - Gui/
ScreensDisplay/ , C/C++, 53 linesgraphicsscreensitem.h - Gui/
ScreensDisplay/ , C++, 20 linesscreensgraphicsview.cpp - Gui/
ScreensDisplay/ , C/C++, 31 linesscreensgraphicsview.h - Gui/
ScreensDisplay/ , C++, 73 lineswellcolorisation.cpp - Gui/
ScreensDisplay/ , C/C++, 59 lineswellcolorisation.h - Gui/
ScreensDisplay/ , C++, 394 lineswellrepresentationitem.c pp - Gui/
ScreensDisplay/ , C/C++, 73 lineswellrepresentationitem.h - Gui/
Tags/ , C++, 723 linestagger.cpp - Gui/
Tags/ , C/C++, 97 linestagger.h - Gui/
Tags/ , C++, 1,026 linestaggerplate.cpp - Gui/
Tags/ , C/C++, 86 linestaggerplate.h - Gui/
Widgets/ , C++, 77 linesoverlayfilter.cpp - Gui/
Widgets/ , C/C++, 32 linesoverlayfilter.h - Gui/
ctkWidgets/ , C++, 838 linesctkBasePopupWidget.cpp - Gui/
ctkWidgets/ , C/C++, 224 linesctkBasePopupWidget.h - Gui/
ctkWidgets/ , C/C++, 108 linesctkBasePopupWidget_p.h - Gui/
ctkWidgets/ , C++, 145 linesctkCheckBoxPixmaps.cpp - Gui/
ctkWidgets/ , C/C++, 104 linesctkCheckBoxPixmaps.h - Gui/
ctkWidgets/ , C++, 401 linesctkCheckableComboBox.cpp - Gui/
ctkWidgets/ , C/C++, 84 linesctkCheckableComboBox.h - Gui/
ctkWidgets/ , C++, 81 linesctkCheckableComboBoxEven tPlayer.cpp - Gui/
ctkWidgets/ , C/C++, 49 linesctkCheckableComboBoxEven tPlayer.h - Gui/
ctkWidgets/ , C++, 116 linesctkCheckableComboBoxEven tTranslator.cpp - Gui/
ctkWidgets/ , C/C++, 57 linesctkCheckableComboBoxEven tTranslator.h - Gui/
ctkWidgets/ , C++, 457 linesctkCheckableHeaderView.c pp - Gui/
ctkWidgets/ , C/C++, 148 linesctkCheckableHeaderView.h - Gui/
ctkWidgets/ , C++, 689 linesctkCheckableModelHelper. cpp - Gui/
ctkWidgets/ , C/C++, 157 linesctkCheckableModelHelper. h - Gui/
ctkWidgets/ , C++, 393 linesctkCollapsibleGroupBox.c pp - Gui/
ctkWidgets/ , C/C++, 105 linesctkCollapsibleGroupBox.h - Gui/
ctkWidgets/ , C++, 243 linesctkColorDialog.cpp - Gui/
ctkWidgets/ , C/C++, 152 linesctkColorDialog.h - Gui/
ctkWidgets/ , C++, 311 linesctkColorPickerButton.cpp - Gui/
ctkWidgets/ , C/C++, 152 linesctkColorPickerButton.h - Gui/
ctkWidgets/ , C++, 895 linesctkDoubleRangeSlider.cpp - Gui/
ctkWidgets/ , C/C++, 285 linesctkDoubleRangeSlider.h - Gui/
ctkWidgets/ , C++, 665 linesctkDoubleSlider.cpp - Gui/
ctkWidgets/ , C/C++, 276 linesctkDoubleSlider.h - Gui/
ctkWidgets/ , C++, 801 linesctkPathLineEdit.cpp - Gui/
ctkWidgets/ , C/C++, 289 linesctkPathLineEdit.h - Gui/
ctkWidgets/ , C++, 71 linesctkPathLineEditEventPlay er.cpp - Gui/
ctkWidgets/ , C/C++, 50 linesctkPathLineEditEventPlay er.h - Gui/
ctkWidgets/ , C++, 93 linesctkPathLineEditEventTran slator.cpp - Gui/
ctkWidgets/ , C/C++, 55 linesctkPathLineEditEventTran slator.h - Gui/
ctkWidgets/ , C++, 716 linesctkPathListButtonsWidget .cpp - Gui/
ctkWidgets/ , C/C++, 157 linesctkPathListButtonsWidget .h - Gui/
ctkWidgets/ , C/C++, 74 linesctkPathListButtonsWidget _p.h - Gui/
ctkWidgets/ , C++, 849 linesctkPathListWidget.cpp - Gui/
ctkWidgets/ , C/C++, 323 linesctkPathListWidget.h - Gui/
ctkWidgets/ , C++, 560 linesctkPopupWidget.cpp - Gui/
ctkWidgets/ , C/C++, 133 linesctkPopupWidget.h - Gui/
ctkWidgets/ , C/C++, 67 linesctkPopupWidget_p.h - Gui/
ctkWidgets/ , C++, 331 linesctkProxyStyle.cpp - Gui/
ctkWidgets/ , C/C++, 85 linesctkProxyStyle.h - Gui/
ctkWidgets/ , C++, 859 linesctkRangeSlider.cpp - Gui/
ctkWidgets/ , C/C++, 214 linesctkRangeSlider.h - Gui/
ctkWidgets/ , C++, 140 linesctkValueProxy.cpp - Gui/
ctkWidgets/ , C/C++, 97 linesctkValueProxy.h - Gui/
dashoptions.cpp , C++, 303 lines - Gui/
dashoptions.h , C/C++, 69 lines - Gui/
experimentworkbenchcontr , C++, 586 linesol.cpp - Gui/
experimentworkbenchcontr , C/C++, 75 linesol.h - Gui/
guiserver.cpp , C++, 316 lines - Gui/
guiserver.h , C/C++, 37 lines - Gui/
mainwindow.cpp , C++, 3,646 lines - Gui/
mainwindow.h , C/C++, 399 lines - Gui/
mainwindow_datatables.cp , C++, 847 linesp - Gui/
mainwindow_overlay.cpp , C++, 516 lines - Gui/
mainwindow_startprocesse , C++, 1,237 liness.cpp - Gui/
mainwindow_wellplate.cpp , C++, 1,044 lines - Gui/
optioneditor.cpp , C++, 981 lines - Gui/
optioneditor.h , C/C++, 199 lines - Gui/
processprogresswidget.cp , C++, 14 linesp - Gui/
processprogresswidget.h , C/C++, 22 lines - Gui/
screensmodel.cpp , C++, 266 lines - Gui/
screensmodel.h , C/C++, 53 lines - Main/
ZMQThread.h , C/C++, 60 lines - Main/
checkouqueuserver.h , C/C++, 156 lines - Main/
checkout_arrow.h , C/C++, 500 lines - Main/
checkout_python.h , C/C++, 59 lines - Main/
checkouthttpserver.h , C/C++, 113 lines - Main/
enc_fast_lossless.cc , C++, 3,847 lines - Main/
enc_fast_lossless.h , C/C++, 72 lines - Main/
main.cpp , C++, 196 lines - Main/
mainCli.cpp , C++, 685 lines - Main/
mainCli.h , C/C++, 46 lines - Main/
mainCpTranscode.cpp , C++, 1,032 lines - Main/
mainHttpServer.cpp , C++, 829 lines - Main/
mainHttpServerTests.cpp , C++, 71 lines - Main/
mainQueueServer.cpp , C++, 1,540 lines - Main/
mainServer.cpp , C++, 213 lines - Main/
mainUploader.cpp , C++, 258 lines - Main/
mainUploader.h , C/C++, 79 lines - Main/
mainZMQ_QueueServer.cpp , C++, 260 lines - Main/
mainZMQ_WorkerServer.cpp , C++, 878 lines - Main/
mainzCli.cpp , C++, 734 lines - Main/
mainzCli.h , C/C++, 38 lines - Main/
mutex_queue.h , C/C++, 52 lines - Plugins/
Loaders/ , C++, 216 linesincellloader.cpp - Plugins/
Loaders/ , C/C++, 42 linesincellloader.h - Plugins/
Loaders/ , C++, 246 linesyokogawaloader.cpp - Plugins/
Loaders/ , C/C++, 42 linesyokogawaloader.h - Python/
CoreDemoScript.py , Python, 61 lines - Python/
Sample Scripts/ , Python, 59 linesCoreDemoScript.py - Python/
Sample Scripts/ , Python, 936 linescheckout_init.py - Python/
Sample Scripts/ , Python, 39 linesqsdfsq.py - Python/
Sample Scripts/ , Python, 9 linestest.py - Python/
WorkerMonitor.py , Python, 1 line - Python/
checkoutcorepythoninterf , C++, 889 linesace.cpp - Python/
checkoutcorepythoninterf , C/C++, 46 linesace.h - Python/
checkoutpythonpluginshan , C++, 826 linesdler.cpp - Python/
checkoutpythonpluginshan , C/C++, 30 linesdler.h - RawProcessor/
main.cpp , C++, 42 lines - RawProcessor/
rawprocmainwin.cpp , C++, 202 lines - RawProcessor/
rawprocmainwin.h , C/C++, 39 lines - Server/
networkmessages.cpp , C++, 5 lines - Server/
networkmessages.h , C/C++, 12 lines - Server/
processserver.cpp , C++, 592 lines - Server/
processserver.h , C/C++, 76 lines - Server/
processthread.cpp , C++, 344 lines - Server/
processthread.h , C/C++, 42 lines - Tools/
CheckCSV.py , Python, 40 lines - Tools/
GeneratePlugin.py , Python, 70 lines - Tools/
SanityCheck.py , Python, 53 lines - qhttp/
http_parser.c , C, 2,575 lines - qhttp/
http_parser.h , C/C++, 449 lines - qhttp/
qhttpabstracts.cpp , C++, 118 lines - qhttp/
qhttpclient.cpp , C++, 286 lines - qhttp/
qhttpclientrequest.cpp , C++, 98 lines - qhttp/
qhttpclientresponse.cpp , C++, 66 lines - qhttp/
qhttpserver.cpp , C++, 118 lines - qhttp/
qhttpserverconnection.cp , C++, 217 linesp - qhttp/
qhttpserverrequest.cpp , C++, 81 lines - qhttp/
qhttpserverresponse.cpp , C++, 90 lines - License.txt, License, 504 lines
- README.md, Text, 128 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 196 scripts, each with its path and the digest of its content;
- no match between paragraphs and code yet;
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- github.com/
ksilink/ , at github.com; found in “Data and code availability”microglia-morphological- profiling
Code and data availability statement
The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to a dataset: github.com/
ksilink/ microglia-morphological- profiling - it says that the data are available on request
- it says that the code is available on request
Read it in the paper: doi.org/10.1016/j.isci.2026.116575.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Authors: added Mona Mathews (0000-0002-8617-2553); Zahra Hanifehlou (0000-0002-4414-3615); Arnaud Ogier (0000-0003-3656-9816); Oliver Brüstle (0000-0002-1277-0980); Johannes H. Wilbertz (0000-0002-0002-6847); removed Mona Mathews; Zahra Hanifehlou; Arnaud Ogier; Oliver Brüstle; Johannes H. Wilbertz
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 12 authors, 6 keywords, 4 funders, 52 references.
Cite
This paper
Alvandipour, K., Weiss, A., Mathews, M., Besemer, B., Segschneider, M., Hanifehlou, Z., Felski, C., Peitz, M., Ogier, A., Sommer, P., Brüstle, O., & Wilbertz, J. H. (2026). Mapping human microglial morphological diversity via handcrafted and deep learning-derived image features. iScience, 29(7), 116575. https://
BibTeX
@article{alvandipour2026
author = {Alvandipour, Kayhan and Weiss, Amélie and Mathews, Mona and Besemer, Brenda and Segschneider, Michaela and Hanifehlou, Zahra and Felski, Christian and Peitz, Michael and Ogier, Arnaud and Sommer, Peter and Brüstle, Oliver and Wilbertz, Johannes H.},
title = {{Mapping human microglial morphological diversity via handcrafted and deep learning-derived image features}},
journal = {iScience},
year = {2026},
month = jun,
volume = {29},
number = {7},
pages = {116575},
publisher = {Elsevier},
issn = {2589-0042},
doi = {10.1016/
url = {https://
pmid = {42491669},
pmcid = {PMC13378380}
}
RIS
TY - JOUR
AU - Alvandipour, Kayhan
AU - Weiss, Amélie
AU - Mathews, Mona
AU - Besemer, Brenda
AU - Segschneider, Michaela
AU - Hanifehlou, Zahra
AU - Felski, Christian
AU - Peitz, Michael
AU - Ogier, Arnaud
AU - Sommer, Peter
AU - Brüstle, Oliver
AU - Wilbertz, Johannes H.
TI - Mapping human microglial morphological diversity via handcrafted and deep learning-derived image features
T2 - iScience
J2 - iScience
PY - 2026
DA - 2026/
VL - 29
IS - 7
SP - 116575
SN - 2589-0042
PB - Elsevier
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Mapping human microglial morphological diversity via handcrafted and deep learning-derived image features",
"container-title": "iScience",
"author": [
{
"family": "Alvandipour",
"given": "Kayhan"
},
{
"family": "Weiss",
"given": "Amélie"
},
{
"family": "Mathews",
"given": "Mona"
},
{
"family": "Besemer",
"given": "Brenda"
},
{
"family": "Segschneider",
"given": "Michaela"
},
{
"family": "Hanifehlou",
"given": "Zahra"
},
{
"family": "Felski",
"given": "Christian"
},
{
"family": "Peitz",
"given": "Michael"
},
{
"family": "Ogier",
"given": "Arnaud"
},
{
"family": "Sommer",
"given": "Peter"
},
{
"family": "Brüstle",
"given": "Oliver"
},
{
"family": "Wilbertz",
"given": "Johannes H."
}
],
"container-title-short":
"volume": "29",
"issue": "7",
"page": "116575",
"DOI": "10.1016/
"PMID": "42491669",
"PMCID": "PMC13378380",
"ISSN": "2589-0042",
"publisher": "Elsevier",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
27
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1002/glia.70163
- A Cross-Disease Microglial Transcriptional Program Characterizes Neurodegeneration and Highlights SPP1 as a Biomarker.Journal: GliaIn common: cellular / molecular, 5 references
- [2] doi:10.1126/sciadv.adz1686
- Persistent microglial activation following neonatal CMV infection mediates neurodegeneration.Journal: Science advancesIn common: 4 references
- [3] doi:10.1007/s00429-026-03172-y [code]
- Differential effects of acute, chronic, and social defeat stress on microglial morphology in the basolateral and central amygdala, and the medial and lateral habenula.Journal: Brain structure & functionIn common: cellular / molecular, 3 references
- [4] doi:10.1016/j.crmeth.2026.101476 [code]
- Unsupervised deep learning enables blur-free resolution enhancement in two-photon microscopy.Journal: Cell reports methodsIn common: scikit-image, pandas, NumPy, cellular / molecular, 1 reference
- [5] doi:10.1016/j.xcrm.2026.102766 [code]
- A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.Journal: Cell reports. MedicineIn common: scikit-image, pandas, NumPy, cellular / molecular, 1 reference
- [6] doi:10.1038/s41598-026-61605-4 [code]
- Learning precise segmentation of neurofibrillary tangles from rapid manual point annotations.Journal: Scientific reportsIn common: scikit-image, pandas, NumPy, 1 reference
- [7] doi:10.7554/elife.107933 [code]
- Modality-agnostic decoding of vision and language from fMRI.Journal: eLifeIn common: scikit-image, pandas, NumPy, 1 reference
- [8] doi:10.1016/j.stemcr.2026.103053 [code]
- Development and validation of a long-term co-maturation protocol for human stem cell-derived microglia and neuronal networks.Journal: Stem cell reportsIn common: cellular / molecular, 3 references
- [9] doi:10.1177/0271678x261471282 [code]
- Single-cell analysis of microglia and monocyte dynamics uncovers distinct TNF-driven neuroimmune signatures in humans after intracerebral hemorrhage.Journal: Journal of cerebral blood flow and metabolism : official journal of the International Society of Cerebral Blood Flow and MetabolismIn common: cellular / molecular, 3 references
- [10] doi:10.1186/s40478-026-02228-8
- microRNA-132 attenuates inflammation in induced pluripotent stem cell-derived microglia from Alzheimer's disease patients.Journal: Acta neuropathologica communicationsIn common: cellular / molecular, 3 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 196 scripts, and 0 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:a8656f9bffb32016…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
