Skip to content

Feature/corechanges logging#283

Merged
petersteneteg merged 16 commits into
masterfrom
feature/corechanges-logging
Jun 29, 2026
Merged

Feature/corechanges logging#283
petersteneteg merged 16 commits into
masterfrom
feature/corechanges-logging

Conversation

@martinfalk

Copy link
Copy Markdown
Contributor

No description provided.

@martinfalk martinfalk requested a review from petersteneteg May 8, 2026 11:43
@martinfalk martinfalk marked this pull request as ready for review May 8, 2026 11:43
@martinfalk martinfalk force-pushed the feature/corechanges-logging branch 2 times, most recently from fc16939 to c90c79f Compare May 11, 2026 08:09
@martinfalk martinfalk force-pushed the feature/corechanges-logging branch from c90c79f to a86203c Compare May 12, 2026 08:54
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v19.1.7) reports: 8 concern(s)
  • medvis/dicom/src/datastructures/dicomdirtypes.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/dicom/datastructures/dicomdirtypes.h' file not found

       30 | #include <inviwo/dicom/datastructures/dicomdirtypes.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • medvis/dicom/src/errorlogging.cpp:31:10: error: [clang-diagnostic-error]

    'inviwo/dicom/errorlogging.h' file not found

       31 | #include <inviwo/dicom/errorlogging.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • medvis/dicom/src/io/gdcmvolumereader.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/dicom/io/gdcmvolumereader.h' file not found

       30 | #include <inviwo/dicom/io/gdcmvolumereader.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • medvis/dicom/src/io/gdcmvolumereader.cpp:660:5: warning: [google-readability-todo]

    missing username/bug in TODO

      660 |     // TODO: check this heuristic!!!
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |     // TODO(runner): check this heuristic!!!
  • medvis/dicom/src/io/mevisvolumereader.cpp:52:10: error: [clang-diagnostic-error]

    'inviwo/dicom/io/mevisvolumereader.h' file not found

       52 | #include <inviwo/dicom/io/mevisvolumereader.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/graphviz/src/graphvizsettings.cpp:162:37: warning: [cppcoreguidelines-pro-type-const-cast]

    do not use const_cast to remove const qualifier

      162 |             if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
          |                                     ^
  • misc/graphviz/src/graphvizsettings.cpp:178:33: warning: [cppcoreguidelines-pro-type-const-cast]

    do not use const_cast to remove const qualifier

      178 |         if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
          |                                 ^
  • vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:95:50: warning: [readability-function-cognitive-complexity]

    function 'initFunctions' has cognitive complexity of 32 (threshold 25)

       95 | void IntegralLinesToDataFrame::MetaDataSettings::initFunctions(
          |                                                  ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:98:5: note: +1, including nesting penalty of 0, nesting level increased to 1
       98 |     if (!isChecked()) {
          |     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:109:5: note: +1, including nesting penalty of 0, nesting level increased to 1
      109 |     while (iss >> d) {
          |     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:110:9: note: +2, including nesting penalty of 1, nesting level increased to 2
      110 |         if (d < 0) {
          |         ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:113:9: note: +2, including nesting penalty of 1, nesting level increased to 2
      113 |         if (d > 100) {
          |         ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:118:9: note: +2, including nesting penalty of 1, nesting level increased to 2
      118 |         if (d > 1) d /= 100;  // from percent to ratio
          |         ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:122:5: note: +1, including nesting penalty of 0, nesting level increased to 1
      122 |     if (!avg_.get() && !sd_.get() && percentiles.empty()) {
          |     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:122:35: note: +1
      122 |     if (!avg_.get() && !sd_.get() && percentiles.empty()) {
          |                                   ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:126:5: note: +1, including nesting penalty of 0, nesting level increased to 1
      126 |     if (c == 1) {  // scalars
          |     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:128:13: note: nesting level increased to 2
      128 |             [this, &funcs, df = &dataFrame, &percentiles, &name](auto ramT) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:131:35: note: nesting level increased to 3
      131 |                                   [](const T& v) -> float { return static_cast<float>(v); });
          |                                   ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:134:7: note: +1, nesting level increased to 1
      134 |     } else {  // vectors
          |       ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:135:63: note: nesting level increased to 2
      135 |         return ram->dispatch<void, dispatching::filter::Vecs>([this, &funcs, name, percentiles, c,
          |                                                               ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:138:13: note: +3, including nesting penalty of 2, nesting level increased to 3
      138 |             if (useMagnitude_.get()) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:139:66: note: nesting level increased to 4
      139 |                 createFunction<T>(funcs, *df, percentiles, name, [c](const T& v) -> float {
          |                                                                  ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:141:21: note: +5, including nesting penalty of 4, nesting level increased to 5
      141 |                     for (size_t i = 0; i < c; i++) {
          |                     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:147:13: note: +3, including nesting penalty of 2, nesting level increased to 3
      147 |             if (x_.get()) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:150:21: note: nesting level increased to 4
      150 |                     [](const T& v) -> float { return static_cast<float>(util::glmcomp(v, 0)); });
          |                     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:152:13: note: +3, including nesting penalty of 2, nesting level increased to 3
      152 |             if (y_.get()) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:155:21: note: nesting level increased to 4
      155 |                     [](const T& v) -> float { return static_cast<float>(util::glmcomp(v, 1)); });
          |                     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:157:13: note: +3, including nesting penalty of 2, nesting level increased to 3
      157 |             if (z_.get()) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:160:21: note: nesting level increased to 4
      160 |                     [](const T& v) -> float { return static_cast<float>(util::glmcomp(v, 2)); });
          |                     ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:162:13: note: +3, including nesting penalty of 2, nesting level increased to 3
      162 |             if (w_.get()) {
          |             ^
    /home/runner/work/modules/modules/inviwo/vectorvis/integrallinefiltering/src/processors/integrallinestodataframe.cpp:165:21: note: nesting level increased to 4
      165 |                     [](const T& v) -> float { return static_cast<float>(util::glmcomp(v, 3)); });
          |                     ^

Have any feedback or feature suggestions? Share it here.

github-actions[bot]

This comment was marked as outdated.

@github-actions github-actions Bot dismissed their stale review June 17, 2026 09:14

outdated suggestion

github-actions[bot]

This comment was marked as outdated.

github-actions[bot]

This comment was marked as outdated.

@github-actions github-actions Bot dismissed their stale review June 23, 2026 10:35

outdated suggestion

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cpp-linter Review

Used clang-tidy v19.1.7

Click here for the full clang-tidy patch
diff --git a/medvis/dicom/src/io/gdcmvolumereader.cpp b/medvis/dicom/src/io/gdcmvolumereader.cpp
index 6610583..335fcb9 100644
--- a/medvis/dicom/src/io/gdcmvolumereader.cpp
+++ b/medvis/dicom/src/io/gdcmvolumereader.cpp
@@ -660 +660 @@ std::shared_ptr<Volume> GdcmVolumeReader::generateVolume(const gdcm::Image& imag
-    // TODO: check this heuristic!!!
+    // TODO(runner): check this heuristic!!!

Have any feedback or feature suggestions? Share it here.


// TODO: check this heuristics!!!
if (modality == "CT") {
// TODO: check this heuristic!!!

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostics

Suggested change
// TODO: check this heuristic!!!
// TODO(runner): check this heuristic!!!

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:162:37: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  162 |             if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                     ^

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:178:33: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  178 |         if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                 ^

@martinfalk martinfalk force-pushed the feature/corechanges-logging branch from 8290430 to 3101e2a Compare June 25, 2026 07:46
@github-actions github-actions Bot dismissed their stale review June 25, 2026 09:56

outdated suggestion

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cpp-linter Review

Used clang-tidy v19.1.7

Click here for the full clang-tidy patch
diff --git a/medvis/dicom/src/io/gdcmvolumereader.cpp b/medvis/dicom/src/io/gdcmvolumereader.cpp
index 6610583..335fcb9 100644
--- a/medvis/dicom/src/io/gdcmvolumereader.cpp
+++ b/medvis/dicom/src/io/gdcmvolumereader.cpp
@@ -660 +660 @@ std::shared_ptr<Volume> GdcmVolumeReader::generateVolume(const gdcm::Image& imag
-    // TODO: check this heuristic!!!
+    // TODO(runner): check this heuristic!!!

Have any feedback or feature suggestions? Share it here.


// TODO: check this heuristics!!!
if (modality == "CT") {
// TODO: check this heuristic!!!

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostics

Suggested change
// TODO: check this heuristic!!!
// TODO(runner): check this heuristic!!!

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:162:37: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  162 |             if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                     ^

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:178:33: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  178 |         if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                 ^

@github-actions github-actions Bot dismissed their stale review June 29, 2026 10:08

outdated suggestion

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cpp-linter Review

Used clang-tidy v19.1.7

Click here for the full clang-tidy patch
diff --git a/medvis/dicom/src/io/gdcmvolumereader.cpp b/medvis/dicom/src/io/gdcmvolumereader.cpp
index 6610583..335fcb9 100644
--- a/medvis/dicom/src/io/gdcmvolumereader.cpp
+++ b/medvis/dicom/src/io/gdcmvolumereader.cpp
@@ -660 +660 @@ std::shared_ptr<Volume> GdcmVolumeReader::generateVolume(const gdcm::Image& imag
-    // TODO: check this heuristic!!!
+    // TODO(runner): check this heuristic!!!

Have any feedback or feature suggestions? Share it here.


// TODO: check this heuristics!!!
if (modality == "CT") {
// TODO: check this heuristic!!!

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostics

Suggested change
// TODO: check this heuristic!!!
// TODO(runner): check this heuristic!!!

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:162:37: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  162 |             if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                     ^

net->forEachProcessor([&](Processor* p) {
if (auto* n = agnode(G, const_cast<char*>(p->getIdentifier().c_str()), 0)) {
const std::string identifier{p->getIdentifier()};
if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy diagnostic

misc/graphviz/src/graphvizsettings.cpp:178:33: warning: [cppcoreguidelines-pro-type-const-cast]

do not use const_cast to remove const qualifier

  178 |         if (auto* n = agnode(G, const_cast<char*>(identifier.c_str()), 0)) {
      |                                 ^

@petersteneteg petersteneteg merged commit f12e313 into master Jun 29, 2026
18 checks passed
@petersteneteg petersteneteg deleted the feature/corechanges-logging branch June 29, 2026 15:24
github-actions Bot pushed a commit to inviwo/regression that referenced this pull request Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants