Skip to content

Commit abaa078

Browse files
authored
Merge pull request #341 from githubdoe/wfpro
Added ability to read wavefrontPro wavefront files
2 parents 7d48aee + d6558f0 commit abaa078

12 files changed

Lines changed: 832 additions & 73 deletions

.github/workflows/build-linux-clazy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ jobs:
3737
# all level 1 checks but ignore clazy-no-connect-by-name
3838
# no parallel make with clazy to not mess log
3939
- run: |
40-
export CLAZY_IGNORE_DIRS=".*usr.*|.*bezier.*|.*boost.*|.*SingleApplication.*|.*spdlog.*|.*zernike.*" \
40+
export CLAZY_IGNORE_DIRS=".*usr.*|.*bezier.*|.*boost.*|.*SingleApplication.*|.*spdlog.*|.*zernike.*|.*cnpy.*" \
4141
&& export CLAZY_CHECKS="level1,no-connect-by-name,function-args-by-value,function-args-by-ref,incorrect-emit,old-style-connect" \
4242
&& make

.github/workflows/build-linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,4 @@ jobs:
4949
tidy-checks: '' # rely solely on .clang-tidy file
5050
tidy-review: true
5151
passive-reviews: true
52-
ignore: 'bezier|boost|SingleApplication|spdlog|zernike|moc_*|ui_*|qwt*'
52+
ignore: 'bezier|boost|SingleApplication|spdlog|zernike|cnpy|moc_*|ui_*|qwt*'

DFTFringe.pro

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ win32 {
5656
LIBS += -L$$PWD\..\build_openCV\install\x64\mingw\bin -llibopencv_imgcodecs4120
5757
LIBS += -L$$PWD\..\build_openCV\install\x64\mingw\bin -llibopencv_imgproc4120
5858
LIBS += -ldbghelp # for SetUnhandledExceptionFilter
59+
LIBS += -lz # zip compression library needed for cnpy.cpp
5960

6061

6162
# This is for armadillo to not use wrapper. See https://gitlab.com/conradsnicta/armadillo-code#6-linux-and-macos-compiling-and-linking
@@ -81,6 +82,7 @@ unix: !mac {
8182
LIBS += -lopencv_imgcodecs
8283
LIBS += -lopencv_imgproc
8384
LIBS += -L/usr/local/qwt-6.3.0/lib -lqwt
85+
LIBS += -lz # zip compression library needed for cnpy.cpp
8486
}
8587

8688
# MAC ##############
@@ -143,7 +145,7 @@ RESOURCES += DFTResources.qrc
143145

144146
TRANSLATIONS += dftfringe_fr.ts
145147

146-
INCLUDEPATH += ./bezier ./SingleApplication ./zernike
148+
INCLUDEPATH += ./bezier ./SingleApplication ./zernike ./cnpy
147149

148150
SOURCES += SingleApplication/singleapplication.cpp \
149151
SingleApplication/singleapplication_p.cpp \
@@ -164,6 +166,7 @@ SOURCES += SingleApplication/singleapplication.cpp \
164166
ccswappeddlg.cpp \
165167
circlefit.cpp \
166168
circleoutline.cpp \
169+
cnpy/cnpy.cpp \
167170
colorchannel.cpp \
168171
colorchanneldisplay.cpp \
169172
colormapviewerdlg.cpp \
@@ -285,6 +288,7 @@ HEADERS += bezier/bezier.h \
285288
circle.h \
286289
circleoutline.h \
287290
circleutils.h \
291+
cnpy/cnpy.h \
288292
colorchannel.h \
289293
colorchanneldisplay.h \
290294
colormapviewerdlg.h \

DFTFringe_Dale.pro

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ SOURCES += main.cpp \
3939
mainwindow.cpp \
4040
igramarea.cpp \
4141
circleoutline.cpp \
42+
cnpy/cnpy.cpp \
4243
graphicsutilities.cpp \
4344
dfttools.cpp \
4445
dftarea.cpp \
@@ -156,6 +157,7 @@ HEADERS += mainwindow.h \
156157
edgeplot.h \
157158
IgramArea.h \
158159
circleoutline.h \
160+
cnpy/cnpy.h \
159161
graphicsutilities.h \
160162
dfttools.h \
161163
dftarea.h \
@@ -266,7 +268,7 @@ HEADERS += mainwindow.h \
266268
SingleApplication/singleapplication.h \
267269
SingleApplication/singleapplication_p.h
268270

269-
INCLUDEPATH += ./bezier ./SingleApplication ./zernike
271+
INCLUDEPATH += ./bezier ./SingleApplication ./zernike ./cnpy
270272

271273
FORMS += mainwindow.ui \
272274
annulushelpdlg.ui \
@@ -378,6 +380,7 @@ LIBS += D:\lapack\build64\bin\liblapack.dll
378380
LIBS += D:\lapack\build64\bin\libblas.dll
379381

380382
LIBS += -ldbghelp # for SetUnhandledExceptionFilter
383+
LIBS += -lz # zip compression library needed for cnpy.cpp
381384
}
382385

383386

DFTFringe_QT5.pro

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ win32 {
5656
LIBS += -L..\build_openCV\install\x64\mingw\bin -llibopencv_imgcodecs460
5757
LIBS += -L..\build_openCV\install\x64\mingw\bin -llibopencv_imgproc460
5858
LIBS += -ldbghelp # for SetUnhandledExceptionFilter
59-
59+
LIBS += -lz # zip compression library needed for cnpy.cpp
6060

6161
# This is for armadillo to not use wrapper. See https://gitlab.com/conradsnicta/armadillo-code#6-linux-and-macos-compiling-and-linking
6262
DEFINES += ARMA_DONT_USE_WRAPPER
@@ -80,6 +80,8 @@ unix: !mac {
8080
LIBS += -lopencv_imgproc
8181
LIBS += -lopencv_imgproc
8282
LIBS += -lqwt-qt5
83+
LIBS += -lz # zip compression library needed for cnpy.cpp
84+
8385
}
8486

8587
# MAC ##############
@@ -142,7 +144,7 @@ RESOURCES += DFTResources.qrc
142144

143145
TRANSLATIONS += dftfringe_fr.ts
144146

145-
INCLUDEPATH += ./bezier ./SingleApplication ./zernike
147+
INCLUDEPATH += ./bezier ./SingleApplication ./zernike ./cnpy
146148

147149
SOURCES += SingleApplication/singleapplication.cpp \
148150
SingleApplication/singleapplication_p.cpp \
@@ -163,6 +165,7 @@ SOURCES += SingleApplication/singleapplication.cpp \
163165
ccswappeddlg.cpp \
164166
circlefit.cpp \
165167
circleoutline.cpp \
168+
cnpy/cnpy.cpp \
166169
colorchannel.cpp \
167170
colorchanneldisplay.cpp \
168171
colormapviewerdlg.cpp \
@@ -284,6 +287,7 @@ HEADERS += bezier/bezier.h \
284287
circle.h \
285288
circleoutline.h \
286289
circleutils.h \
290+
cnpy/cnpy.h \
287291
colorchannel.h \
288292
colorchanneldisplay.h \
289293
colormapviewerdlg.h \

LICENSES/MIT.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ Copyright (C) 2016 Gabi Melman.
1515
zernike (zapm.cpp)
1616
Copyright (C) 2022 Michael Peck
1717

18+
cnpy (cnpy.h cnpy.cpp)
19+
Copyright (c) Carl Rogers, 2011
20+
1821
Permission is hereby granted, free of charge, to any person obtaining a copy
1922
of this software and associated documentation files (the "Software"), to deal
2023
in the Software without restriction, including without limitation the rights

RevisionHistory.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@
1010
<h1>DFTFringe Version History</h1>
1111
<ul>
1212

13+
<li>Version 8.4.0</li>
14+
<ul>
15+
<li>Ronchi and Foucault displays have new circular grid feature to measure zones better (right click on ronchi)</li>
16+
<li>Ronchi compare now has blink mode that switches between 2 ronchis (first select at least 2 ronchis, then right click on the ronchi view, then select "compare" button, then "blink" button)</li>
17+
<li>Can read Wavefront Pro format wavefront files (.npz files)</li>
18+
<li>Fixed bug in subtract wavefront feature introduced in version 7.4.0 where sometimes it subtracts the wrong wavefront (but correctly showed you what it did on the right side). Bug happened on A-B if B is farther down in the wavefront list than A.</li>
19+
</ul>
20+
1321
<li>Version 8.3.2</li>
1422
<ul>
1523
<li>Fixed bug introduced in 8.3.1 in Ronchi Foucault where it was always doing autocollimate mode</li>

cnpy/LICENSE.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License
2+
3+
Copyright (c) Carl Rogers, 2011
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

0 commit comments

Comments
 (0)