Commit b1e7b8d24f6220999589cfa99244f4da5b495571

Authored by Scott Klum
2 parents d08187c7 ac280fc3

Merge branch 'master' of https://github.com/biometrics/openbr into neural_networks

Showing 586 changed files with 72665 additions and 34133 deletions

Too many changes.

To preserve performance only 100 of 586 files are displayed.

3rdparty/stasm4.0.0/CMakeLists.txt renamed to 3rdparty/stasm/CMakeLists.txt
1 project(stasm) 1 project(stasm)
2 cmake_minimum_required(VERSION 2.8.6) 2 cmake_minimum_required(VERSION 2.8.6)
3 3
  4 +if(${CMAKE_VERSION} VERSION_GREATER 2.8.11)
  5 + cmake_policy(SET CMP0020 NEW)
  6 +endif()
  7 +
4 # Global Settings 8 # Global Settings
5 set(CPACK_PACKAGE_NAME "Stasm") 9 set(CPACK_PACKAGE_NAME "Stasm")
6 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) 10 set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
7 -set(CPACK_PACKAGE_VERSION_MAJOR 3) 11 +set(CPACK_PACKAGE_VERSION_MAJOR 4)
8 set(CPACK_PACKAGE_VERSION_MINOR 1) 12 set(CPACK_PACKAGE_VERSION_MINOR 1)
9 set(CPACK_PACKAGE_VERSION_PATCH 0) 13 set(CPACK_PACKAGE_VERSION_PATCH 0)
10 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") 14 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
@@ -12,13 +16,11 @@ set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO @@ -12,13 +16,11 @@ set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO
12 # find the dependencies 16 # find the dependencies
13 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/") 17 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
14 18
15 -# Find Qt 5.0.2  
16 set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Svg Widgets Xml) 19 set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Svg Widgets Xml)
17 foreach(QT_DEPENDENCY ${QT_DEPENDENCIES}) 20 foreach(QT_DEPENDENCY ${QT_DEPENDENCIES})
18 find_package(Qt5${QT_DEPENDENCY}) 21 find_package(Qt5${QT_DEPENDENCY})
19 endforeach() 22 endforeach()
20 23
21 -# OpenCV 2.4.5  
22 set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video) 24 set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video)
23 find_package( OpenCV REQUIRED ) 25 find_package( OpenCV REQUIRED )
24 26
@@ -32,18 +34,6 @@ if(MSVC) @@ -32,18 +34,6 @@ if(MSVC)
32 endif() 34 endif()
33 35
34 add_subdirectory(${PROJECT_SOURCE_DIR}/stasm) 36 add_subdirectory(${PROJECT_SOURCE_DIR}/stasm)
35 -if(MSVC)  
36 - add_library(stasm STATIC ${SOURCE})  
37 -else()  
38 - add_library(stasm SHARED ${SOURCE})  
39 -endif()  
40 -  
41 -qt5_use_modules(stasm ${QT_DEPENDENCIES})  
42 -set(SOURCE ${SOURCE} PARENT_SCOPE)  
43 -target_link_libraries(stasm ${OpenCV_LIBS} ${Qt5Core_QTMAIN_LIBRARIES})  
44 -  
45 -install(FILES ${HEADERS} DESTINATION include)  
46 -install(TARGETS stasm LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)  
47 37
48 # Package 38 # Package
49 set(CPACK_BINARY_BUNDLE OFF) 39 set(CPACK_BINARY_BUNDLE OFF)
3rdparty/stasm4.0.0/README.txt renamed to 3rdparty/stasm/README.txt
3rdparty/stasm4.0.0/data/haarcascade_frontalface_alt2.xml renamed to 3rdparty/stasm/data/haarcascade_frontalface_alt2.xml
3rdparty/stasm4.0.0/data/haarcascade_mcs_lefteye.xml renamed to 3rdparty/stasm/data/haarcascade_mcs_lefteye.xml
3rdparty/stasm4.0.0/data/haarcascade_mcs_righteye.xml renamed to 3rdparty/stasm/data/haarcascade_mcs_righteye.xml
3rdparty/stasm4.0.0/doc/HISTORY.txt renamed to 3rdparty/stasm/doc/HISTORY.txt
3rdparty/stasm4.0.0/doc/LICENSE.txt renamed to 3rdparty/stasm/doc/LICENSE.txt
3rdparty/stasm/stasm/CMakeLists.txt 0 โ†’ 100644
  1 +# Stasm CMakeLists
  2 +
  3 +aux_source_directory(stasm/src STASM_SRC)
  4 +include_directories(stasm/include)
  5 +
  6 +#aux_source_directory(tasm/src TASM_SRC)
  7 +#include_directories(tasm/include)
  8 +
  9 +add_library(stasm SHARED ${STASM_SRC} ${TASM_SRC})
  10 +qt5_use_modules(stasm ${QT_DEPENDENCIES})
  11 +
  12 +set_target_properties(stasm PROPERTIES
  13 + DEFINE_SYMBOL STASM_LIBRARY
  14 + VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
  15 + SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}
  16 + LINK_INTERFACE_LIBRARIES ""
  17 + AUTOMOC TRUE)
  18 +
  19 +target_link_libraries(stasm ${OpenCV_LIBS} ${Qt5Core_QTMAIN_LIBRARIES})
  20 +
  21 +file(GLOB STASM_HEADERS stasm/include/*.h)
  22 +install(FILES ${STASM_HEADERS} DESTINATION include/stasm)
  23 +file(GLOB CLASSIC_HEADERS stasm/include/classic/*.mh)
  24 +install(FILES ${CLASSIC_HEADERS} DESTINATION include/stasm/classic)
  25 +file(GLOB HAT_HEADERS stasm/include/hat/*.mh)
  26 +install(FILES ${HAT_HEADERS} DESTINATION include/stasm/hat)
  27 +#file(GLOB TASM_HEADERS tasm/include/*.h)
  28 +#install(FILES ${TASM_HEADERS} DESTINATION include/tasm)
  29 +
  30 +install(TARGETS stasm RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
3rdparty/stasm/stasm/stasm/include/asm.h 0 โ†’ 100755
  1 +// asm.h: Active Shape Model class
  2 +//
  3 +// Freeing memory: In the current implementation, explicit memory release
  4 +// on Mod destruction is unneeded (because the MAT buffer pointers in Mod,
  5 +// ShapeMod, and DescMod point to constant data). If you add a new descriptor
  6 +// model, you may need to add destructors. Although even if that new class
  7 +// fails to release memory it's probably not serious, because the ASM
  8 +// model(s) are only destructed once, at program termination.
  9 +//
  10 +// Copyright (C) 2005-2013, Stephen Milborrow
  11 +
  12 +#ifndef STASM_ASM_H
  13 +#define STASM_ASM_H
  14 +
  15 +#include "misc.h"
  16 +#include "basedesc.h"
  17 +#include "shapemod.h"
  18 +#include "hat.h"
  19 +#include "stasmhash.h"
  20 +
  21 +namespace stasm
  22 +{
  23 +static const int EYEMOUTH_DIST = 100; // scale image to this before ASM search starts
  24 +
  25 +static const double PYR_RATIO = 2; // scale image by 2 at each pyramid level
  26 +
  27 +static const int N_PYR_LEVS = 4; // number of levs in image pyramid
  28 +
  29 +static const int SHAPEMODEL_ITERS = 4; // shape model iterations per pyr level
  30 +
  31 +//-----------------------------------------------------------------------------
  32 +
  33 +class Mod // An ASM model for finding landmarks.
  34 +{ // If multiple model Stasm, will use a separate Mod for each yaw range.
  35 +public:
  36 + Shape ModSearch_( // returns coords of the facial landmarks
  37 + const Shape& startshape, // in: startshape roughly positioned on face
  38 + const Image& img, // in: grayscale image (typically just ROI)
  39 + const Shape* pinnedshape=NULL) // in: pinned landmarks, NULL if nothing pinned
  40 + const;
  41 +
  42 + const Shape ConformShapeToMod_Pinned_( // wrapper around the func in ShapeMod
  43 + const Shape& shape, // in
  44 + const Shape& pinnedshape) // in
  45 + const
  46 + {
  47 + VEC b(NSIZE(shapemod_.eigvals_), 1, 0.); // dummy variable for call below
  48 + return shapemod_.ConformShapeToMod_Pinned_(b, shape, 0, pinnedshape);
  49 + }
  50 +
  51 + // readonly access to some private vars
  52 + ESTART Estart_(void) const { return estart_; }
  53 + const char* DataDir_(void) const { return datadir_.c_str(); }
  54 + const Shape MeanShape_(void) const { return shapemod_.meanshape_; }
  55 +
  56 +private:
  57 + const vec_vec_BaseDescMod DescMods_( // utility for Mod constructor
  58 + const BaseDescMod** const descmods_arg, // in: descriptor models
  59 + int ndescmods) // in: sanity check
  60 + {
  61 + (void) ndescmods;
  62 +
  63 + vec_vec_BaseDescMod descmods(N_PYR_LEVS);
  64 +
  65 + for (int ilev = 0; ilev < N_PYR_LEVS; ilev++)
  66 + {
  67 + descmods[ilev].resize(stasm_NLANDMARKS);
  68 + for (int i = 0; i < stasm_NLANDMARKS; i++)
  69 + descmods[ilev][i] =
  70 + descmods_arg[ilev * stasm_NLANDMARKS + i];
  71 + }
  72 + return descmods;
  73 + }
  74 +
  75 +public:
  76 + Mod(EYAW eyaw, // constructor
  77 + ESTART estart,
  78 + string datadir,
  79 + Shape meanshape,
  80 + VEC eigvals,
  81 + MAT eigvecs,
  82 + int neigs,
  83 + double bmax,
  84 + unsigned hackbits,
  85 + const BaseDescMod** descmods,
  86 + int ndescmods)
  87 +
  88 + : eyaw_(eyaw),
  89 + estart_(estart),
  90 + datadir_(datadir),
  91 + shapemod_(meanshape, eigvals, eigvecs, neigs, bmax, hackbits),
  92 + descmods_(DescMods_(descmods, ndescmods))
  93 + {
  94 + CV_Assert(eyaw == EYAW_45 || eyaw == EYAW_22 || eyaw == EYAW00 ||
  95 + eyaw == EYAW22 || eyaw == EYAW45);
  96 +
  97 + CV_Assert(estart == ESTART_RECT_ONLY || estart == ESTART_EYES ||
  98 + estart == ESTART_EYE_AND_MOUTH);
  99 + }
  100 +
  101 + virtual ~Mod() {} // destructor
  102 +
  103 +private: // all data remains constant after Mod construction
  104 +
  105 + const EYAW eyaw_; // model is for this yaw range
  106 + // e.g. EYAW00 is frontal model
  107 +
  108 + const ESTART estart_; // use the mouth/eyes to position the start shape?
  109 +
  110 + const string datadir_; // directory of face detector files
  111 +
  112 + const ShapeMod shapemod_; // the shape model
  113 +
  114 + const vec_vec_BaseDescMod descmods_;
  115 + // descriptor mods, one for each point at each pyr lev
  116 + // index as [ilev][ipoint]
  117 +
  118 + void SuggestShape_(
  119 + Shape& shape, // io: points will be moved to give best desc matches
  120 + int ilev, // in: pyramid level (0 is full size)
  121 + const Image& img, // in: image scaled to this pyramid level
  122 + const Shape& pinned, // in: if no rows then no pinned landmarks, else
  123 + // points except those equal to 0,0 are pinned
  124 + const Hat &hat,
  125 + StasmHash &hash)
  126 + const;
  127 +
  128 + void LevSearch_( // do an ASM search at one level in the image pyr
  129 + Shape& shape, // io: the face shape for this pyramid level
  130 + int ilev, // in: pyramid level (0 is full size)
  131 + const Image& img, // in: image scaled to this pyramid level
  132 + const Shape& pinnedshape) // in: if no rows then no pinned landmarks, else
  133 + // points except those equal to 0,0 are pinned
  134 + const;
  135 +
  136 + DISALLOW_COPY_AND_ASSIGN(Mod);
  137 +
  138 +}; // end class Mod
  139 +
  140 +typedef vector<const Mod*> vec_Mod; // vector of ASM models, one for each yaw range
  141 +
  142 +//-----------------------------------------------------------------------------
  143 +
  144 +static inline double GetPyrScale( // return 1 for pyr lev 0, .5 for pyr lev 1, etc.
  145 + int ilev) // in: pyramid level (0 is full size)
  146 +{
  147 + return 1 / pow(PYR_RATIO, ilev);
  148 +}
  149 +
  150 +// TODO This definition doesn't belong here.
  151 +int EyawAsModIndex( // note: returns a negative index for left facing yaws
  152 + EYAW eyaw, // in
  153 + const vec_Mod& mods); // in: a vector of models, one for each yaw range
  154 +
  155 +} // namespace stasm
  156 +#endif // STASM_ASM_H
3rdparty/stasm/stasm/stasm/include/atface.h 0 โ†’ 100755
  1 +// atface.h: face point attributes
  2 +//
  3 +// These attributes are used when training new models (they appear in
  4 +// LANDMARK_INFO_TAB). They are also sometimes used when testing Stasm.
  5 +// They are not needed for doing landmark searches.
  6 +//
  7 +// Some of these bits apply to the entire image (AT_BadImg); other apply
  8 +// only to a specific points (AT_Glasses).
  9 +//
  10 +// In shape files, the bits appear in the in the "tag" preceding each shape.
  11 +// For example
  12 +// 0004 d0145
  13 +// means that the face in image d0145.jpg is wearing glasses.
  14 +
  15 +#ifndef STASM_ATFACE_HPP
  16 +#define STASM_ATFACE_HPP
  17 +
  18 +static const char* const AT_NAMES[] = // used only for information during training
  19 +{
  20 + "Male", // AT_Male 0x0001
  21 + "Child", // AT_Child 0x0002
  22 + "Glasses", // AT_Glasses 0x0004
  23 + "Beard", // AT_Beard 0x0008
  24 + "Mustache", // AT_Mustache 0x0010
  25 + "MouthOpen", // AT_MouthOpen 0x0020
  26 + "Expression", // AT_Expression 0x0040
  27 + "Eye", // AT_Eye 0x0080
  28 + "BadImg", // AT_BadImg 0x0100
  29 + "Cropped", // AT_Cropped 0x0200
  30 + "Obscured", // AT_Obscured 0x0400
  31 + "BadEye", // AT_BadEye 0x0800
  32 + "Hat", // AT_Hat 0x1000
  33 + "Unused", // AT_Hat 0x2000
  34 + "MultiFace", // AT_MultiFace 0x4000
  35 + "BadTrain", // AT_BadTrain 0x8000
  36 +};
  37 +
  38 +static const unsigned AT_Male = 0x0001; // gender, 1=male
  39 +static const unsigned AT_Child = 0x0002; // child
  40 +static const unsigned AT_Glasses = 0x0004; // face is wearing specs
  41 +static const unsigned AT_Beard = 0x0008; // beard including possible mustache
  42 +static const unsigned AT_Mustache = 0x0010; // mustache
  43 +static const unsigned AT_MouthOpen = 0x0020; // mouth is open
  44 +static const unsigned AT_Expression = 0x0040; // non-neutral expression on face
  45 +static const unsigned AT_Eye = 0x0080; // is eye landmark, used only during training
  46 +
  47 +static const unsigned AT_BadImg = 0x0100; // image is "bad" in some way (blurred, duplicated, etc.)
  48 +static const unsigned AT_Cropped = 0x0200; // a landmark would be off the page
  49 +static const unsigned AT_Obscured = 0x0400; // face is obscured e.g. by subject's hand
  50 +static const unsigned AT_BadEye = 0x0800; // an eye is closed or obscured by hair etc.
  51 +static const unsigned AT_Hat = 0x1000; // HAT desciptor (ignored if pyr lev > HAT_START_LEV)
  52 +
  53 +// following are currently used only in aflw.shape
  54 +static const unsigned AT_MultiFace = 0x4000; // multiple faces in the image
  55 +static const unsigned AT_BadTrain = 0x8000; // face is not suitable for training face det
  56 + // (by manual inspection of train face rects)
  57 +
  58 +static const unsigned AT_Meta = 0xFF000000; // "meta bits" used for face and pose detectors
  59 +
  60 +static const unsigned AT_Pose = 0x80000000; // 4 elements: yaw, pitch, roll, estimated_err
  61 +
  62 +static const unsigned AT_EYAW00 = 0x81000000; // yaw00 face detector results, see DetPar
  63 +static const unsigned AT_EYAW22 = 0x82000000;
  64 +static const unsigned AT_EYAW45 = 0x83000000;
  65 +static const unsigned AT_EYAW_22 = 0x8A000000; // ms bit of nibble indicates negative yaw
  66 +static const unsigned AT_EYAW_45 = 0x8B000000;
  67 +
  68 +static const unsigned AT_Any = 0xFFFFFFFF; // special case, match any bit in Mask0
  69 +
  70 +#endif // STASM_ATFACE_HPP
3rdparty/stasm/stasm/stasm/include/basedesc.h 0 โ†’ 100755
  1 +// basedesc.h: descriptor model base class
  2 +//
  3 +// A "descriptor model" tells you how to use the given
  4 +// descriptor to suggest the best position of a landscape.
  5 +//
  6 +// Stasm currently uses two types of descriptors, and thus two descriptor
  7 +// model classes: ClassicDescMod and HatDescMod. Each of these classes
  8 +// provide a descriptor matching function, DescSearch_, which searches around
  9 +// the current position of a landmark, looking for the best new position.
  10 +//
  11 +// About BaseDescMod: We need a vector of descriptor models to specify how
  12 +// to search by matching against a descriptor at each landmark. Some
  13 +// landmarks use ClassicDescMods; other use HatDescMods. We thus need a
  14 +// vector of heterogeneous objects. But C++ doesn't support vectors of
  15 +// heterogeneous objects. So instead we use a vector of pointers to
  16 +// BaseDescMod, with the actual descriptor model classes (ClassicDescMod
  17 +// and HatDescMod) deriving from BaseDescMod.
  18 +//
  19 +// Memory release: Explicit destructors unneeded, see note in header of asm.h.
  20 +//
  21 +// DescSearch_ and concurrency: If OpenMP is enabled, DescSearch_ will be
  22 +// called concurrently for multiple points. (Each call will have a
  23 +// different value of x and y.) Thus for the OpenMP code to work
  24 +// correctly, DescSearch_ and its callees must not modify any variables that
  25 +// are not on the stack unless the variable is protected by a critical region.
  26 +//
  27 +// Copyright (C) 2005-2013, Stephen Milborrow
  28 +
  29 +#ifndef STASM_BASEDESC_H
  30 +#define STASM_BASEDESC_H
  31 +
  32 +#include "hat.h"
  33 +#include "stasmhash.h"
  34 +
  35 +namespace stasm
  36 +{
  37 +class BaseDescMod // abstract base class for all descriptor models
  38 +{
  39 +public:
  40 + virtual void DescSearch_( // search in area around the current point
  41 + double& x, // io: (in: old posn of landmark, out: new posn)
  42 + double& y, // io
  43 + const Image& img, // in: image scaled to this pyramid level
  44 + const Shape& shape, // in: current position of the landmarks
  45 + int ilev, // in: pyramid level (0 is full size)
  46 + int ipoint, // in: index of the current landmark
  47 + const Hat &hat,
  48 + StasmHash &hash)
  49 + const = 0;
  50 +
  51 + virtual ~BaseDescMod() {} // destructor
  52 +};
  53 +
  54 +// vec_vec_BaseDescMod contains the descriptor models, one pointer
  55 +// for each landmark at each pyramid level, index as [ilev][ipoint]
  56 +
  57 +typedef vector<vector<const BaseDescMod*> > vec_vec_BaseDescMod;
  58 +
  59 +} // namespace stasm
  60 +#endif // STASM_BASEDESC_H
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p00.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p00.mh
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
3 #ifndef STASM_CLASSIC_YAW00_LEV0_P00_MH 3 #ifndef STASM_CLASSIC_YAW00_LEV0_P00_MH
4 #define STASM_CLASSIC_YAW00_LEV0_P00_MH 4 #define STASM_CLASSIC_YAW00_LEV0_P00_MH
5 5
  6 +#include "classicdesc.h"
  7 +
6 namespace stasm { 8 namespace stasm {
7 9
8 // Generated from muct77_w09.asm 10 // Generated from muct77_w09.asm
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p01.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p01.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p02.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p02.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p03.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p03.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p04.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p04.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p05.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p05.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p06.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p06.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p07.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p07.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p08.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p08.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p09.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p09.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p10.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p10.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p11.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p11.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p12.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p12.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p13.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p13.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p14.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p14.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev0_p15.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev0_p15.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p00.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p00.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p01.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p01.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p02.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p02.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p03.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p03.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p04.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p04.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p05.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p05.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p06.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p06.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p07.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p07.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p08.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p08.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p09.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p09.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p10.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p10.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p11.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p11.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p12.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p12.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p13.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p13.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p14.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p14.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev1_p15.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev1_p15.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p00.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p00.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p01.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p01.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p02.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p02.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p03.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p03.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p04.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p04.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p05.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p05.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p06.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p06.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p07.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p07.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p08.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p08.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p09.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p09.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p10.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p10.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p11.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p11.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p12.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p12.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p13.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p13.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p14.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p14.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev2_p15.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev2_p15.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p00.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p00.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p01.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p01.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p02.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p02.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p03.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p03.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p04.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p04.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p05.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p05.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p06.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p06.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p07.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p07.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p08.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p08.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p09.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p09.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p10.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p10.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p11.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p11.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p12.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p12.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p13.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p13.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p14.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p14.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p15.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p15.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p16.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p16.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p17.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p17.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p18.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p18.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p19.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p19.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p20.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p20.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p21.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p21.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p22.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p22.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p23.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p23.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p24.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p24.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p25.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p25.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p26.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p26.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p27.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p27.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p28.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p28.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p29.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p29.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p30.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p30.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p31.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p31.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p32.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p32.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p33.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p33.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p34.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p34.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p35.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p35.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p36.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p36.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p37.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p37.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p38.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p38.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p39.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p39.mh
3rdparty/stasm4.0.0/stasm/MOD_1/classic/classic_yaw00_lev3_p40.mh renamed to 3rdparty/stasm/stasm/stasm/include/classic/classic_yaw00_lev3_p40.mh