Skip to content

Commit

Permalink
Merge pull request #16 from InsightSoftwareConsortium/ITKv5_1rc2
Browse files Browse the repository at this point in the history
Updates for ITKv5.2 code cleanups ... ROUND1
  • Loading branch information
dzenanz authored Feb 26, 2020
2 parents 8be5ca9 + abc81c3 commit 47a2338
Show file tree
Hide file tree
Showing 24 changed files with 1,161 additions and 1,021 deletions.
151 changes: 151 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
## This config file is only relevant for clang-format version 8.0.0
##
## Examples of each format style can be found on the in the clang-format documentation
## See: https://clang.llvm.org/docs/ClangFormatStyleOptions.html for details of each option
##
## The clang-format binaries can be downloaded as part of the clang binary distributions
## from http://releases.llvm.org/download.html
##
## Use the script Utilities/Maintenance/clang-format.bash to faciliate
## maintaining a consistent code style.
##
## EXAMPLE apply code style enforcement before commit:
# Utilities/Maintenance/clang-format.bash --clang ${PATH_TO_CLANG_FORMAT_8.0.0} --modified
## EXAMPLE apply code style enforcement after commit:
# Utilities/Maintenance/clang-format.bash --clang ${PATH_TO_CLANG_FORMAT_8.0.0} --last
---
# This configuration requires clang-format version 8.0.0 exactly.
BasedOnStyle: Mozilla
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
# clang 9.0 AllowAllArgumentsOnNextLine: true
# clang 9.0 AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
# clang 9.0 AllowShortLambdasOnASingleLine: All
# clang 9.0 features AllowShortIfStatementsOnASingleLine: Never
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: All
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Custom
BraceWrapping:
# clang 9.0 feature AfterCaseLabel: false
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
## This is the big change from historical ITK formatting!
# Historically ITK used a style similar to https://en.wikipedia.org/wiki/Indentation_style#Whitesmiths_style
# with indented braces, and not indented code. This style is very difficult to automatically
# maintain with code beautification tools. Not indenting braces is more common among
# formatting tools.
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: None
#clang 6.0 BreakBeforeInheritanceComma: true
BreakInheritanceList: BeforeComma
BreakBeforeTernaryOperators: true
#clang 6.0 BreakConstructorInitializersBeforeComma: true
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
## The following line allows larger lines in non-documentation code
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: true
IndentPPDirectives: AfterHash
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: false
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
## The following line allows larger lines in non-documentation code
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Middle
ReflowComments: true
# We may want to sort the includes as a separate pass
SortIncludes: false
# We may want to revisit this later
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
# SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 2
UseTab: Never
...
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Custom attribute to mark sources as using our C++/C code style.
[attr]our-c-style whitespace=tab-in-indent,no-lf-at-eof hooks.style=KWStyle,clangformat

*.c our-c-style
*.h our-c-style
*.cxx our-c-style
*.hxx our-c-style
*.txx our-c-style
*.txt whitespace=tab-in-indent,no-lf-at-eof
*.cmake whitespace=tab-in-indent,no-lf-at-eof

# ExternalData content links must have LF newlines
*.md5 crlf=input
*.sha512 crlf=input
2 changes: 1 addition & 1 deletion CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
set(CTEST_PROJECT_NAME "ITK")
set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_METHOD "https")
set(CTEST_DROP_SITE "open.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=Insight")
set(CTEST_DROP_SITE_CDASH TRUE)
79 changes: 39 additions & 40 deletions examples/CellularSegmentation1.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*=========================================================================
*
* Copyright Insight Software Consortium
* Copyright NumFOCUS
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -39,15 +39,16 @@
#include "itkVTKPolyDataWriter.h"


int main( int argc, char *argv[] )
int
main(int argc, char * argv[])
{
if( argc < 8 )
{
if (argc < 8)
{
std::cerr << "Missing Parameters " << std::endl;
std::cerr << "Usage: " << argv[0];
std::cerr << " inputImage seedX seedY lowThreshold highThreshold iterations outputMesh.vtk" << std::endl;
return EXIT_FAILURE;
}
}

// Software Guide : BeginLatex
//
Expand All @@ -60,7 +61,7 @@ int main( int argc, char *argv[] )
// Software Guide : BeginCodeSnippet
using InternalPixelType = float;
constexpr unsigned int Dimension = 2;
using ImageType = itk::Image< InternalPixelType, Dimension >;
using ImageType = itk::Image<InternalPixelType, Dimension>;
// Software Guide : EndCodeSnippet

// Software Guide : BeginLatex
Expand All @@ -71,7 +72,7 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
using CellularAggregateType = itk::bio::CellularAggregate< Dimension >;
using CellularAggregateType = itk::bio::CellularAggregate<Dimension>;
using CellType = CellularAggregateType::BioCellType;
// Software Guide : EndCodeSnippet

Expand All @@ -84,26 +85,25 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
CellularAggregateType::Pointer cellularAggregate
= CellularAggregateType::New();
CellularAggregateType::Pointer cellularAggregate = CellularAggregateType::New();
// Software Guide : EndCodeSnippet

// We instantiate reader and writer types
using ReaderType = itk::ImageFileReader< ImageType >;
using ReaderType = itk::ImageFileReader<ImageType>;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( argv[1] );
reader->SetFileName(argv[1]);
std::cout << "Filename = " << argv[1] << std::endl;

try
{
{
reader->Update();
}
catch( itk::ExceptionObject & excep )
{
}
catch (itk::ExceptionObject & excep)
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << excep << std::endl;
return EXIT_FAILURE;
}
}

// Software Guide : BeginLatex
//
Expand All @@ -119,7 +119,7 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
cellularAggregate->AddSubstrate( reader->GetOutput() );
cellularAggregate->AddSubstrate(reader->GetOutput());
// Software Guide : EndCodeSnippet

// Software Guide : BeginLatex
Expand All @@ -137,16 +137,16 @@ int main( int argc, char *argv[] )
//
// Software Guide : EndLatex

ImageType::IndexType index;
ImageType::IndexType index;

index[0] = atoi( argv[2] );
index[1] = atoi( argv[3] );
index[0] = atoi(argv[2]);
index[1] = atoi(argv[3]);

CellType::PointType position;
CellType::PointType position;

reader->GetOutput()->TransformIndexToPhysicalPoint( index, position );
reader->GetOutput()->TransformIndexToPhysicalPoint(index, position);

std::cout << "Egg position index = " << index << std::endl;
std::cout << "Egg position index = " << index << std::endl;
std::cout << "Egg position point = " << position << std::endl;

// Software Guide : BeginLatex
Expand Down Expand Up @@ -186,8 +186,8 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
CellType::SetChemoAttractantLowThreshold( atof( argv[4] ) );
CellType::SetChemoAttractantHighThreshold( atof( argv[5] ) );
CellType::SetChemoAttractantLowThreshold(atof(argv[4]));
CellType::SetChemoAttractantHighThreshold(atof(argv[5]));
// Software Guide : EndCodeSnippet


Expand All @@ -201,7 +201,7 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
cellularAggregate->SetEgg( egg, position );
cellularAggregate->SetEgg(egg, position);
// Software Guide : EndCodeSnippet


Expand All @@ -219,14 +219,14 @@ int main( int argc, char *argv[] )
// Software Guide : EndLatex

// Software Guide : BeginCodeSnippet
unsigned int numberOfIterations = atoi( argv[6] );
unsigned int numberOfIterations = atoi(argv[6]);

std::cout << "numberOfIterations " << numberOfIterations << std::endl;

for(unsigned int i=0; i<numberOfIterations; i++)
{
for (unsigned int i = 0; i < numberOfIterations; i++)
{
cellularAggregate->AdvanceTimeStep();
}
}
// Software Guide : EndCodeSnippet


Expand All @@ -235,25 +235,24 @@ int main( int argc, char *argv[] )

// Write the mesh to a file
//
using WriterType = itk::VTKPolyDataWriter< CellularAggregateType::MeshType >;
using WriterType = itk::VTKPolyDataWriter<CellularAggregateType::MeshType>;

WriterType::Pointer writer = WriterType::New();

writer->SetInput( cellularAggregate->GetMesh() );
writer->SetFileName( argv[7] );
writer->SetInput(cellularAggregate->GetMesh());
writer->SetFileName(argv[7]);

try
{
{
writer->Update();
}
catch( itk::ExceptionObject & excep )
{
}
catch (itk::ExceptionObject & excep)
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << excep << std::endl;
return EXIT_FAILURE;
}
}


return EXIT_SUCCESS;

}
}
Loading

0 comments on commit 47a2338

Please sign in to comment.