microsoft / Azure-Kinect-Sensor-SDK
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (41 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 41 components.
  • 284 files, 45,775 lines of code (100.0% vs. main code).
  • "tools/k4aviewer" is biggest, containing 20.81% of code.
  • "cmake/FetchContent" is smallest, containing 0.04% of code.


tools/k4aviewer9526 LOC (20%) 94 files
src/record3914 LOC (8%) 6 files
src/csharp3368 LOC (7%) 45 files
src/color3044 LOC (6%) 7 files
src/python2974 LOC (6%) 12 files
src/transformation2468 LOC (5%) 5 files
include/k4ainternal1982 LOC (4%) 28 files
doxygen1914 LOC (4%) 5 files
cmake1632 LOC (3%) 18 files
include/k4a1298 LOC (2%) 4 files
cmake/FindPython1142 LOC (2%) 1 files
src/sdk1126 LOC (2%) 2 files
src/usbcommand1052 LOC (2%) 3 files
tools/updater878 LOC (1%) 1 files
tools/k4arecorder876 LOC (1%) 5 files
ROOT772 LOC (1%) 5 files
scripts710 LOC (1%) 4 files
src/calibration658 LOC (1%) 1 files
include/k4arecord640 LOC (1%) 5 files
tools/k4afastcapture_streaming550 LOC (1%) 3 files
src/dewrapper481 LOC (1%) 1 files
src/depth_mcu465 LOC (1%) 2 files
src/capturesync450 LOC (<1%) 1 files
src/image442 LOC (<1%) 1 files
src/firmware422 LOC (<1%) 1 files
src/imu371 LOC (<1%) 1 files
src/allocator359 LOC (<1%) 1 files
src/depth343 LOC (<1%) 1 files
src/tewrapper306 LOC (<1%) 1 files
src/dynlib252 LOC (<1%) 2 files
src/logging242 LOC (<1%) 1 files
src/queue229 LOC (<1%) 1 files
src/deloader213 LOC (<1%) 1 files
src/color_mcu187 LOC (<1%) 2 files
tools/k4afastcapture_trigger108 LOC (<1%) 1 files
cmake/toolchains94 LOC (<1%) 6 files
src/rwlock89 LOC (<1%) 2 files
src/math88 LOC (<1%) 1 files
tools/deversion59 LOC (<1%) 1 files
src/global34 LOC (<1%) 1 files
cmake/FetchContent17 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-30 22:32