diff --git a/mlcommon/build/moc_predefs.h b/mlcommon/build/moc_predefs.h new file mode 100644 index 00000000..3fe06d81 --- /dev/null +++ b/mlcommon/build/moc_predefs.h @@ -0,0 +1,286 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/mountaincompare/build/moc_predefs.h b/mountaincompare/build/moc_predefs.h new file mode 100644 index 00000000..eda0b1c3 --- /dev/null +++ b/mountaincompare/build/moc_predefs.h @@ -0,0 +1,284 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/mountainprocess/build/moc_predefs.h b/mountainprocess/build/moc_predefs.h new file mode 100644 index 00000000..eda0b1c3 --- /dev/null +++ b/mountainprocess/build/moc_predefs.h @@ -0,0 +1,284 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.3SWTWK.tmp b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.3SWTWK.tmp new file mode 100644 index 00000000..f5b6e4ef --- /dev/null +++ b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.3SWTWK.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"bandpass_filter_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/bandpass_filter_aa.js.mp bandpass_filter_aa $(arguments)","description":"","inputs":[{"name":"timeseries"}],"outputs":[{"name":"timeseries_out"}],"parameters":[{"name":"samplerate","optional":false},{"name":"freq_min","optional":false},{"name":"freq_max","optional":false},{"name":"freq_wid","optional":true}]}]} diff --git a/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.BFZ1WX.tmp b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.BFZ1WX.tmp new file mode 100644 index 00000000..f5b6e4ef --- /dev/null +++ b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.BFZ1WX.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"bandpass_filter_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/bandpass_filter_aa.js.mp bandpass_filter_aa $(arguments)","description":"","inputs":[{"name":"timeseries"}],"outputs":[{"name":"timeseries_out"}],"parameters":[{"name":"samplerate","optional":false},{"name":"freq_min","optional":false},{"name":"freq_max","optional":false},{"name":"freq_wid","optional":true}]}]} diff --git a/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.TCU1YG.tmp b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.TCU1YG.tmp new file mode 100644 index 00000000..f5b6e4ef --- /dev/null +++ b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.TCU1YG.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"bandpass_filter_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/bandpass_filter_aa.js.mp bandpass_filter_aa $(arguments)","description":"","inputs":[{"name":"timeseries"}],"outputs":[{"name":"timeseries_out"}],"parameters":[{"name":"samplerate","optional":false},{"name":"freq_min","optional":false},{"name":"freq_max","optional":false},{"name":"freq_wid","optional":true}]}]} diff --git a/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.W5FO9X.tmp b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.W5FO9X.tmp new file mode 100644 index 00000000..f5b6e4ef --- /dev/null +++ b/mountainprocess/processors/dev/bandpass_filter_aa.js.mp.spec.tf.W5FO9X.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"bandpass_filter_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/bandpass_filter_aa.js.mp bandpass_filter_aa $(arguments)","description":"","inputs":[{"name":"timeseries"}],"outputs":[{"name":"timeseries_out"}],"parameters":[{"name":"samplerate","optional":false},{"name":"freq_min","optional":false},{"name":"freq_max","optional":false},{"name":"freq_wid","optional":true}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.47IKW3.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.47IKW3.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.47IKW3.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.9RNMH8.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.9RNMH8.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.9RNMH8.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.BYNI7T.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.BYNI7T.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.BYNI7T.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.FVAD9G.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.FVAD9G.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.FVAD9G.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.V7JDT2.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.V7JDT2.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.V7JDT2.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.WN8E2C.tmp b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.WN8E2C.tmp new file mode 100644 index 00000000..6c5d6e38 --- /dev/null +++ b/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp.spec.tf.WN8E2C.tmp @@ -0,0 +1 @@ +{"processors":[{"name":"mountainsort_cluster_aa","version":"0.1","exe_command":"/ddLab/code/mountainlab/mountainprocess/processors/dev/mountainsort_cluster_aa.js.mp mountainsort_cluster_aa $(arguments)","description":"","inputs":[{"name":"timeseries","description":"preprocessed timeseries (M x N)"},{"name":"detect","description":"detected events (2 x L) -- first row is channel number, second row is timestamp"},{"name":"geom","description":"geom.csv file -- electrode geometry"}],"outputs":[{"name":"firings_out","description":"The labeled events (3 x L)"}],"parameters":[{"name":"samplerate","optional":false,"description":"sample rate for timeseries"},{"name":"adjacency_radius","optional":false,"description":"corresponds to geom; determines electrode neighborhoods"}]}]} diff --git a/mountainprocess/processors/mountainsort.mp.spec.tf.Q1GIOZ.tmp b/mountainprocess/processors/mountainsort.mp.spec.tf.Q1GIOZ.tmp new file mode 100644 index 00000000..5684f4be --- /dev/null +++ b/mountainprocess/processors/mountainsort.mp.spec.tf.Q1GIOZ.tmp @@ -0,0 +1,1746 @@ +{ + "processors": [ + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp add_noise $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "add_noise", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "noise_level", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp bandpass_filter $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "bandpass_filter", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "freq_min", + "optional": false + }, + { + "name": "freq_max", + "optional": false + }, + { + "name": "freq_wid", + "optional": true + } + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp basic_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "basic_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp branch_cluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "branch_cluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "num_pca_representatives", + "optional": true + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + } + ], + "version": "0.37" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_aa $(arguments)", + "inputs": [ + { + "name": "clips" + }, + { + "name": "detect" + } + ], + "name": "cluster_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "cluster_scores", + "outputs": [ + { + "name": "cluster_scores" + }, + { + "name": "cluster_pair_scores" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + }, + { + "name": "cluster_scores_only", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp combine_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "combine_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_amplitudes $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_amplitudes", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_detectability_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_detectability_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_outlier_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_outlier_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_templates", + "outputs": [ + { + "name": "templates" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_mda $(arguments)", + "inputs": [ + { + "name": "inputs" + } + ], + "name": "concat_mda", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "dimension", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "concat_timeseries", + "outputs": [ + { + "name": "timeseries_concat" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp confusion_matrix $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "confusion_matrix", + "outputs": [ + { + "name": "output" + }, + { + "name": "optimal_assignments" + }, + { + "name": "event_correspondence" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.14" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp copy $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "copy", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp create_multiscale_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "create_multiscale_timeseries", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp detect $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "detect", + "outputs": [ + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "sign", + "optional": true + }, + { + "name": "individual_channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp example $(arguments)", + "inputs": [ + ], + "name": "example", + "outputs": [ + ], + "parameters": [ + { + "name": "param1", + "optional": false + }, + { + "name": "param2", + "optional": true + } + ], + "version": "" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_channel_values $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_channel_values", + "outputs": [ + { + "name": "values" + } + ], + "parameters": [ + { + "name": "channels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips", + "outputs": [ + { + "name": "clips" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_aa $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + } + ], + "name": "extract_clips_aa", + "outputs": [ + { + "name": "clips_out" + }, + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "central_channel", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_features $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips_features", + "outputs": [ + { + "name": "features" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "subtract_mean", + "optional": true + }, + { + "name": "weighted_pca", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_geom $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "extract_geom", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "channels", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_raw $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "extract_raw", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp filter_events $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "filter_events", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "detectability_threshold", + "optional": false + }, + { + "name": "outlier_threshold", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp firings_subset $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "firings_subset", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp fit_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "fit_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "use_old", + "optional": true + }, + { + "name": "neglogprior", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp geom2adj $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "geom2adj", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_drift_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_drift_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "segment_size", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.2.7" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + }, + { + "name": "time_segment_size", + "optional": true + } + ], + "version": "0.1.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp linear_adjacency_matrix $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "linear_adjacency_matrix", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp link_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "link_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mask_out_artifacts $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "mask_out_artifacts", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "threshold", + "optional": false + }, + { + "name": "interval_size", + "optional": false + } + ], + "version": "0.31" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mda2txt $(arguments)", + "inputs": [ + { + "name": "mda_file" + } + ], + "name": "mda2txt", + "outputs": [ + { + "name": "txt_file" + } + ], + "parameters": [ + { + "name": "transpose", + "optional": true + }, + { + "name": "max_rows", + "optional": true + }, + { + "name": "max_cols", + "optional": true + }, + { + "name": "delimiter", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "max_dt", + "optional": false + }, + { + "name": "min_coinc_frac", + "optional": false + }, + { + "name": "min_coinc_num", + "optional": false + }, + { + "name": "max_corr_stddev", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_firings $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "merge_firings", + "outputs": [ + { + "name": "firings_merged" + }, + { + "name": "confusion_matrix" + }, + { + "name": "optimal_label_map" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_labels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_labels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "merge_threshold", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp ms_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "ms_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "do_not_compute_pair_metrics", + "optional": true + } + ], + "version": "0.73" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_compute_templates", + "outputs": [ + { + "name": "templates" + }, + { + "name": "stdevs" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clusters", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.23" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "num_histograms", + "optional": false + }, + { + "name": "clusters_to_exclude", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.156" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide2", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_firings_filter $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_firings_filter", + "outputs": [ + { + "name": "firings_out" + }, + { + "name": "original_cluster_numbers" + } + ], + "parameters": [ + { + "name": "use_shell_split", + "optional": true + }, + { + "name": "shell_width", + "optional": true + }, + { + "name": "min_per_shell", + "optional": true + }, + { + "name": "use_event_filter", + "optional": true + }, + { + "name": "min_amplitude", + "optional": true + }, + { + "name": "max_outlier_score", + "optional": true + }, + { + "name": "min_detectability_score", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_subfirings $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_subfirings", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + }, + { + "name": "max_per_label", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp noise_nearest $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "noise_nearest", + "outputs": [ + { + "name": "confusion_matrix" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.16" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp normalize_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "normalize_channels", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp quantize $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "quantize", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "output_format", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_duplicate_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_duplicate_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_noise_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_noise_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "peak_threshold", + "optional": false + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_firings $(arguments)", + "inputs": [ + { + "name": "firings" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_firings", + "outputs": [ + { + "name": "firings_split" + } + ], + "parameters": [ + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_timeseries", + "outputs": [ + { + "name": "timeseries_split" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp synthesize1 $(arguments)", + "inputs": [ + { + "name": "waveforms" + }, + { + "name": "info" + } + ], + "name": "synthesize1", + "outputs": [ + { + "name": "timeseries_out" + }, + { + "name": "firings_true" + } + ], + "parameters": [ + { + "name": "N", + "optional": false + }, + { + "name": "samplerate", + "optional": false + }, + { + "name": "waveforms_oversamp", + "optional": false + }, + { + "name": "noise_level", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp whiten $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "whiten", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + } + ] +} diff --git a/mountainprocess/processors/mountainsort.mp.spec.tf.UIGLUL.tmp b/mountainprocess/processors/mountainsort.mp.spec.tf.UIGLUL.tmp new file mode 100644 index 00000000..5684f4be --- /dev/null +++ b/mountainprocess/processors/mountainsort.mp.spec.tf.UIGLUL.tmp @@ -0,0 +1,1746 @@ +{ + "processors": [ + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp add_noise $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "add_noise", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "noise_level", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp bandpass_filter $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "bandpass_filter", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "freq_min", + "optional": false + }, + { + "name": "freq_max", + "optional": false + }, + { + "name": "freq_wid", + "optional": true + } + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp basic_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "basic_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp branch_cluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "branch_cluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "num_pca_representatives", + "optional": true + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + } + ], + "version": "0.37" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_aa $(arguments)", + "inputs": [ + { + "name": "clips" + }, + { + "name": "detect" + } + ], + "name": "cluster_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "cluster_scores", + "outputs": [ + { + "name": "cluster_scores" + }, + { + "name": "cluster_pair_scores" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + }, + { + "name": "cluster_scores_only", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp combine_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "combine_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_amplitudes $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_amplitudes", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_detectability_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_detectability_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_outlier_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_outlier_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_templates", + "outputs": [ + { + "name": "templates" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_mda $(arguments)", + "inputs": [ + { + "name": "inputs" + } + ], + "name": "concat_mda", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "dimension", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "concat_timeseries", + "outputs": [ + { + "name": "timeseries_concat" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp confusion_matrix $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "confusion_matrix", + "outputs": [ + { + "name": "output" + }, + { + "name": "optimal_assignments" + }, + { + "name": "event_correspondence" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.14" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp copy $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "copy", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp create_multiscale_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "create_multiscale_timeseries", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp detect $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "detect", + "outputs": [ + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "sign", + "optional": true + }, + { + "name": "individual_channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp example $(arguments)", + "inputs": [ + ], + "name": "example", + "outputs": [ + ], + "parameters": [ + { + "name": "param1", + "optional": false + }, + { + "name": "param2", + "optional": true + } + ], + "version": "" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_channel_values $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_channel_values", + "outputs": [ + { + "name": "values" + } + ], + "parameters": [ + { + "name": "channels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips", + "outputs": [ + { + "name": "clips" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_aa $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + } + ], + "name": "extract_clips_aa", + "outputs": [ + { + "name": "clips_out" + }, + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "central_channel", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_features $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips_features", + "outputs": [ + { + "name": "features" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "subtract_mean", + "optional": true + }, + { + "name": "weighted_pca", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_geom $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "extract_geom", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "channels", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_raw $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "extract_raw", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp filter_events $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "filter_events", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "detectability_threshold", + "optional": false + }, + { + "name": "outlier_threshold", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp firings_subset $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "firings_subset", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp fit_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "fit_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "use_old", + "optional": true + }, + { + "name": "neglogprior", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp geom2adj $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "geom2adj", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_drift_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_drift_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "segment_size", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.2.7" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + }, + { + "name": "time_segment_size", + "optional": true + } + ], + "version": "0.1.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp linear_adjacency_matrix $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "linear_adjacency_matrix", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp link_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "link_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mask_out_artifacts $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "mask_out_artifacts", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "threshold", + "optional": false + }, + { + "name": "interval_size", + "optional": false + } + ], + "version": "0.31" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mda2txt $(arguments)", + "inputs": [ + { + "name": "mda_file" + } + ], + "name": "mda2txt", + "outputs": [ + { + "name": "txt_file" + } + ], + "parameters": [ + { + "name": "transpose", + "optional": true + }, + { + "name": "max_rows", + "optional": true + }, + { + "name": "max_cols", + "optional": true + }, + { + "name": "delimiter", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "max_dt", + "optional": false + }, + { + "name": "min_coinc_frac", + "optional": false + }, + { + "name": "min_coinc_num", + "optional": false + }, + { + "name": "max_corr_stddev", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_firings $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "merge_firings", + "outputs": [ + { + "name": "firings_merged" + }, + { + "name": "confusion_matrix" + }, + { + "name": "optimal_label_map" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_labels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_labels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "merge_threshold", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp ms_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "ms_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "do_not_compute_pair_metrics", + "optional": true + } + ], + "version": "0.73" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_compute_templates", + "outputs": [ + { + "name": "templates" + }, + { + "name": "stdevs" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clusters", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.23" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "num_histograms", + "optional": false + }, + { + "name": "clusters_to_exclude", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.156" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide2", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_firings_filter $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_firings_filter", + "outputs": [ + { + "name": "firings_out" + }, + { + "name": "original_cluster_numbers" + } + ], + "parameters": [ + { + "name": "use_shell_split", + "optional": true + }, + { + "name": "shell_width", + "optional": true + }, + { + "name": "min_per_shell", + "optional": true + }, + { + "name": "use_event_filter", + "optional": true + }, + { + "name": "min_amplitude", + "optional": true + }, + { + "name": "max_outlier_score", + "optional": true + }, + { + "name": "min_detectability_score", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_subfirings $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_subfirings", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + }, + { + "name": "max_per_label", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp noise_nearest $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "noise_nearest", + "outputs": [ + { + "name": "confusion_matrix" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.16" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp normalize_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "normalize_channels", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp quantize $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "quantize", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "output_format", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_duplicate_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_duplicate_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_noise_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_noise_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "peak_threshold", + "optional": false + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_firings $(arguments)", + "inputs": [ + { + "name": "firings" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_firings", + "outputs": [ + { + "name": "firings_split" + } + ], + "parameters": [ + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_timeseries", + "outputs": [ + { + "name": "timeseries_split" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp synthesize1 $(arguments)", + "inputs": [ + { + "name": "waveforms" + }, + { + "name": "info" + } + ], + "name": "synthesize1", + "outputs": [ + { + "name": "timeseries_out" + }, + { + "name": "firings_true" + } + ], + "parameters": [ + { + "name": "N", + "optional": false + }, + { + "name": "samplerate", + "optional": false + }, + { + "name": "waveforms_oversamp", + "optional": false + }, + { + "name": "noise_level", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp whiten $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "whiten", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + } + ] +} diff --git a/mountainprocess/processors/mountainsort.mp.spec.tf.Z1LCZI.tmp b/mountainprocess/processors/mountainsort.mp.spec.tf.Z1LCZI.tmp new file mode 100644 index 00000000..e790c3d2 --- /dev/null +++ b/mountainprocess/processors/mountainsort.mp.spec.tf.Z1LCZI.tmp @@ -0,0 +1,1742 @@ +{ + "processors": [ + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp add_noise $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "add_noise", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "noise_level", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp bandpass_filter $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "bandpass_filter", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "freq_min", + "optional": false + }, + { + "name": "freq_max", + "optional": false + }, + { + "name": "freq_wid", + "optional": true + } + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp basic_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "basic_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "samplerate", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp branch_cluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "branch_cluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "num_pca_representatives", + "optional": true + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + } + ], + "version": "0.37" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_aa $(arguments)", + "inputs": [ + { + "name": "clips" + }, + { + "name": "detect" + } + ], + "name": "cluster_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp cluster_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "cluster_scores", + "outputs": [ + { + "name": "cluster_scores" + }, + { + "name": "cluster_pair_scores" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + }, + { + "name": "cluster_scores_only", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp combine_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "combine_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_amplitudes $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_amplitudes", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.21" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_detectability_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_detectability_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_outlier_scores $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_outlier_scores", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "compute_templates", + "outputs": [ + { + "name": "templates" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_mda $(arguments)", + "inputs": [ + { + "name": "inputs" + } + ], + "name": "concat_mda", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "dimension", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp concat_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "concat_timeseries", + "outputs": [ + { + "name": "timeseries_concat" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp confusion_matrix $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "confusion_matrix", + "outputs": [ + { + "name": "output" + }, + { + "name": "optimal_assignments" + }, + { + "name": "event_correspondence" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.14" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp copy $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "copy", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp create_multiscale_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "create_multiscale_timeseries", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp detect $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "detect", + "outputs": [ + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "detect_threshold", + "optional": false + }, + { + "name": "sign", + "optional": true + }, + { + "name": "individual_channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp example $(arguments)", + "inputs": [ + ], + "name": "example", + "outputs": [ + ], + "parameters": [ + { + "name": "param1", + "optional": false + }, + { + "name": "param2", + "optional": true + } + ], + "version": "" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_channel_values $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_channel_values", + "outputs": [ + { + "name": "values" + } + ], + "parameters": [ + { + "name": "channels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips", + "outputs": [ + { + "name": "clips" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_aa $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + } + ], + "name": "extract_clips_aa", + "outputs": [ + { + "name": "clips_out" + }, + { + "name": "detect_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "central_channel", + "optional": false + }, + { + "name": "channels", + "optional": true + }, + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_clips_features $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "extract_clips_features", + "outputs": [ + { + "name": "features" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "subtract_mean", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_geom $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "extract_geom", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "channels", + "optional": true + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp extract_raw $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "extract_raw", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "t1", + "optional": true + }, + { + "name": "t2", + "optional": true + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp filter_events $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "filter_events", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "detectability_threshold", + "optional": false + }, + { + "name": "outlier_threshold", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp firings_subset $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "firings_subset", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp fit_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "fit_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "shell_increment", + "optional": false + }, + { + "name": "min_shell_size", + "optional": false + }, + { + "name": "use_old", + "optional": true + }, + { + "name": "neglogprior", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp geom2adj $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "geom2adj", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + }, + { + "name": "channels", + "optional": true + } + ], + "version": "0.17" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_drift_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_drift_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "segment_size", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.2.7" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v1 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v1", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp isocluster_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "detect" + }, + { + "name": "adjacency_matrix" + } + ], + "name": "isocluster_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "num_features", + "optional": false + }, + { + "name": "num_features2", + "optional": false + }, + { + "name": "detect_interval", + "optional": false + }, + { + "name": "consolidation_factor", + "optional": true + }, + { + "name": "num_features2", + "optional": true + }, + { + "name": "isocut_threshold", + "optional": true + }, + { + "name": "K_init", + "optional": true + }, + { + "name": "time_segment_size", + "optional": true + } + ], + "version": "0.1.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp linear_adjacency_matrix $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "linear_adjacency_matrix", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "radius", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp link_firings_files_aa $(arguments)", + "inputs": [ + { + "name": "firings_list" + } + ], + "name": "link_firings_files_aa", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mask_out_artifacts $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "mask_out_artifacts", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + { + "name": "threshold", + "optional": false + }, + { + "name": "interval_size", + "optional": false + } + ], + "version": "0.31" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mda2txt $(arguments)", + "inputs": [ + { + "name": "mda_file" + } + ], + "name": "mda2txt", + "outputs": [ + { + "name": "txt_file" + } + ], + "parameters": [ + { + "name": "transpose", + "optional": true + }, + { + "name": "max_rows", + "optional": true + }, + { + "name": "max_cols", + "optional": true + }, + { + "name": "delimiter", + "optional": true + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "max_dt", + "optional": false + }, + { + "name": "min_coinc_frac", + "optional": false + }, + { + "name": "min_coinc_num", + "optional": false + }, + { + "name": "max_corr_stddev", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_across_channels_v2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_across_channels_v2", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_firings $(arguments)", + "inputs": [ + { + "name": "firings1" + }, + { + "name": "firings2" + } + ], + "name": "merge_firings", + "outputs": [ + { + "name": "firings_merged" + }, + { + "name": "confusion_matrix" + }, + { + "name": "optimal_label_map" + } + ], + "parameters": [ + { + "name": "max_matching_offset", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_labels $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_labels", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "merge_threshold", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp merge_stage $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "merge_stage", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "min_peak_ratio", + "optional": false + }, + { + "name": "min_template_corr_coef", + "optional": false + }, + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp ms_metrics $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "ms_metrics", + "outputs": [ + { + "name": "cluster_metrics" + }, + { + "name": "cluster_pair_metrics" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "do_not_compute_pair_metrics", + "optional": true + } + ], + "version": "0.73" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_compute_templates $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_compute_templates", + "outputs": [ + { + "name": "templates" + }, + { + "name": "stdevs" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clusters", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.23" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "num_histograms", + "optional": false + }, + { + "name": "clusters_to_exclude", + "optional": false + }, + { + "name": "method", + "optional": true + } + ], + "version": "0.156" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_discrimhist_guide2 $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "mv_discrimhist_guide2", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + }, + { + "name": "max_comparisons_per_cluster", + "optional": true + } + ], + "version": "0.19" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_firings_filter $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_firings_filter", + "outputs": [ + { + "name": "firings_out" + }, + { + "name": "original_cluster_numbers" + } + ], + "parameters": [ + { + "name": "use_shell_split", + "optional": true + }, + { + "name": "shell_width", + "optional": true + }, + { + "name": "min_per_shell", + "optional": true + }, + { + "name": "use_event_filter", + "optional": true + }, + { + "name": "min_amplitude", + "optional": true + }, + { + "name": "max_outlier_score", + "optional": true + }, + { + "name": "min_detectability_score", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp mv_subfirings $(arguments)", + "inputs": [ + { + "name": "firings" + } + ], + "name": "mv_subfirings", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "labels", + "optional": false + }, + { + "name": "max_per_label", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp noise_nearest $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "noise_nearest", + "outputs": [ + { + "name": "confusion_matrix" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + }, + { + "name": "add_noise_level", + "optional": false + }, + { + "name": "cluster_numbers", + "optional": true + } + ], + "version": "0.16" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp normalize_channels $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "normalize_channels", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp quantize $(arguments)", + "inputs": [ + { + "name": "input" + } + ], + "name": "quantize", + "outputs": [ + { + "name": "output" + } + ], + "parameters": [ + { + "name": "output_format", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_duplicate_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_duplicate_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "clip_size", + "optional": false + } + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp remove_noise_clusters $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "firings" + } + ], + "name": "remove_noise_clusters", + "outputs": [ + { + "name": "firings_out" + } + ], + "parameters": [ + { + "name": "peak_threshold", + "optional": false + } + ], + "version": "0.13" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_firings $(arguments)", + "inputs": [ + { + "name": "firings" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_firings", + "outputs": [ + { + "name": "firings_split" + } + ], + "parameters": [ + ], + "version": "0.12" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp split_timeseries $(arguments)", + "inputs": [ + { + "name": "timeseries" + }, + { + "name": "raw_timeseries" + } + ], + "name": "split_timeseries", + "outputs": [ + { + "name": "timeseries_split" + } + ], + "parameters": [ + ], + "version": "0.1" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp synthesize1 $(arguments)", + "inputs": [ + { + "name": "waveforms" + }, + { + "name": "info" + } + ], + "name": "synthesize1", + "outputs": [ + { + "name": "timeseries_out" + }, + { + "name": "firings_true" + } + ], + "parameters": [ + { + "name": "N", + "optional": false + }, + { + "name": "samplerate", + "optional": false + }, + { + "name": "waveforms_oversamp", + "optional": false + }, + { + "name": "noise_level", + "optional": true + } + ], + "version": "0.11" + }, + { + "description": "", + "exe_command": "/ddLab/code/mountainlab/mountainprocess/processors/mountainsort.mp whiten $(arguments)", + "inputs": [ + { + "name": "timeseries" + } + ], + "name": "whiten", + "outputs": [ + { + "name": "timeseries_out" + } + ], + "parameters": [ + ], + "version": "0.1" + } + ] +} diff --git a/mountainsort/src/2 b/mountainsort/src/2 new file mode 100644 index 00000000..e69de29b diff --git a/mountainsort/src/jnk b/mountainsort/src/jnk new file mode 100644 index 00000000..e69de29b diff --git a/mountainsort/src/processors/extract_clips_features_processor.cpp b/mountainsort/src/processors/extract_clips_features_processor.cpp index 1b6652b2..41e3e38f 100644 --- a/mountainsort/src/processors/extract_clips_features_processor.cpp +++ b/mountainsort/src/processors/extract_clips_features_processor.cpp @@ -24,6 +24,7 @@ extract_clips_features_Processor::extract_clips_features_Processor() this->setOutputFileParameters("features"); this->setRequiredParameters("clip_size", "num_features"); this->setOptionalParameters("subtract_mean"); + this->setOptionalParameters("weighted_pca"); } extract_clips_features_Processor::~extract_clips_features_Processor() @@ -46,6 +47,7 @@ bool extract_clips_features_Processor::run(const QMap& params int clip_size = params["clip_size"].toInt(); int num_features = params["num_features"].toInt(); int subtract_mean = params.value("subtract_mean", 0).toInt(); + int weighted_pca = params.value("weighted_pca",0).toInt(); DiskReadMda X(timeseries_path); DiskReadMda F(firings_path); @@ -65,8 +67,11 @@ bool extract_clips_features_Processor::run(const QMap& params clips_reshaped.set(clips.get(iii), iii); } Mda CC, FF, sigma; - pca(CC, FF, sigma, clips_reshaped, num_features, subtract_mean); + if (weighted_pca) { + wpca(CC, FF, sigma, clips_reshaped, num_features, subtract_mean); + }else { + pca(CC, FF, sigma, clips_reshaped, num_features, subtract_mean); + } return FF.write32(features_path); - //return extract_clips_features(timeseries_path,firings_path,features_path,clip_size,num_features); } diff --git a/mountainsort/src/utils/.pca.cpp.swp b/mountainsort/src/utils/.pca.cpp.swp new file mode 100644 index 00000000..cf8037e7 Binary files /dev/null and b/mountainsort/src/utils/.pca.cpp.swp differ diff --git a/mountainsort/src/utils/pca.cpp b/mountainsort/src/utils/pca.cpp index 00fa5bc9..c9460c69 100644 --- a/mountainsort/src/utils/pca.cpp +++ b/mountainsort/src/utils/pca.cpp @@ -8,6 +8,7 @@ #include "mlcommon.h" #include #include +#include void iterate_to_get_top_component(Mda& C, double& sigma, Mda& X, bigint num_iterations); void iterate_to_get_top_component(Mda32& C, double& sigma, Mda32& X, bigint num_iterations); @@ -26,6 +27,177 @@ void normalize_vector(Mda& V); void pca_subtract_mean(Mda& X); void pca_subtract_mean(Mda32& X); +void wpca(Mda& C, Mda& F, Mda& sigma, const Mda& X, bigint num_features, bool subtract_mean) +{ + //DEBUG: printf("%d X %d", F.N1(), F.N2()); + printf("helllllllllo64"); + // Unused Variables + (void)(C); + (void)(sigma); + + + // Clips Array has dims M x T + bigint M = X.N1(); // clips + bigint T = X.N2(); // channels*samples + + Mda Xw = X; //working data + if (subtract_mean) { + pca_subtract_mean(Xw); + } + + // ------------- julia-stage --------------- + + if (!jl_is_initialized()) { + jl_init(); // --initialise julia + } + + + // TODO: make a wrapper around clips so they can be passed to julia + // without copying + /*double* ClipsPtr = Xw.dataPtr(); + jl_value_t *JLClipsPtr = jl_box_int32(*ClipsPtr);*/ + + + // --create new julia array to store clips + /*DEBUG:*/ printf("%d X %d X %d \n", M, T, X.N3()); + jl_value_t* array_type = jl_apply_array_type((jl_value_t*)jl_float64_type, 2); + jl_array_t* clips = jl_alloc_array_2d(array_type, T, M); + double *clipsData = (double*)jl_array_data(clips); + size_t size0 = jl_array_dim(clips,0); + size_t size1 = jl_array_dim(clips,1); + /*DEBUG:*/ printf("%d X %d\n", size0, size1); + for (size_t m = 0; m < size0; m++) { + for(size_t t = 0; t < size1; t++) + clipsData[m + size0*t] = Xw.value(t + M*m); // can replace with X.get for unsafe access + } + JL_GC_PUSH1(&clips); //Make sure clips isn't garbage collected + + // --load and call waveletpca function from source file + // get pointer to module mymod + // TODO: set this path at compile-time + char mymod[] = "/ddLab/code/amorley/julia/ddMountainLab/src/wpca.jl"; + jl_value_t *modulename = jl_pchar_to_string(mymod,51); + // we need the function include from Base to be able to load this module + jl_function_t *includefunc = jl_get_function(jl_base_module, "include"); + jl_value_t *module = jl_call1(includefunc, modulename); + + // call function from wpca module + jl_function_t *testfunc = jl_get_function((jl_module_t*)module, "weightedpca"); + //jl_value_t *ngauss = jl_box_int64(3); //TODO: add these as optional parameters + //jl_value_t *nbins = jl_box_int64(1000); + + jl_array_t *ret = (jl_array_t*)jl_call1(testfunc, (jl_value_t*)clips); + if (jl_exception_occurred()) + printf("%s \n", jl_typeof_str(jl_exception_occurred())); + + // Get the data from the returned julia object + size_t nclips = jl_array_dim(ret,0); + size_t nfet = num_features; + double *retData = (double*)jl_array_data(ret); + + // Output MDA File F + Mda tmp(nfet, nclips); + double* Cptr = tmp.dataPtr(); + bigint iC = 0; + for (size_t m = 0; m < nclips; m++) { + for (size_t k = 0; k < nfet; k++) { + double val = retData[m + nclips*k]; + Cptr[iC] = val; + iC++; + } + } + JL_GC_POP(); // Here we can free the julia memory + + jl_atexit_hook(0); // Tell Julia we are going to kill the process + // ------------ end of julia-stage --------- + F = tmp; // F is the output features file +} + +void wpca(Mda32& C, Mda32& F, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean) +{ + //DEBUG: printf("%d X %d", F.N1(), F.N2()); + printf("32bit WPCA\n"); + // Unused Variables + (void)(C); + (void)(sigma); + + + // Clips Array has dims M x T + bigint M = X.N1(); // clips + bigint T = X.N2(); // channels*samples + + Mda32 Xw = X; //working data + if (subtract_mean) { + pca_subtract_mean(Xw); + } + + // ------------- julia-stage --------------- + if (!jl_is_initialized()) { + jl_init(); // --initialise julia + } + + + // TODO: make a wrapper around clips so they can be passed to julia + // without copying + /*double* ClipsPtr = Xw.dataPtr(); + jl_value_t *JLClipsPtr = jl_box_int32(*ClipsPtr);*/ + + + // --create new julia array to store clips + /*DEBUG:*/ printf("%d X %d X %d \n", M, T, X.N3()); + jl_value_t* array_type = jl_apply_array_type((jl_value_t*)jl_float64_type, 2); + jl_array_t* clips = jl_alloc_array_2d(array_type, T, M); + double *clipsData = (double*)jl_array_data(clips); + size_t size0 = jl_array_dim(clips,0); + size_t size1 = jl_array_dim(clips,1); + /*DEBUG:*/ printf("%d X %d\n", size0, size1); + for (size_t m = 0; m < size0; m++) { + for(size_t t = 0; t < size1; t++) + clipsData[m + size0*t] = Xw.value(t + M*m); // can replace with X.get for unsafe access + } + JL_GC_PUSH1(&clips); //Make sure clips isn't garbage collected + + // --load and call waveletpca function from source file + // get pointer to module mymod + // TODO: set this path at compile-time + char mymod[] = "/ddLab/code/amorley/julia/ddMountainLab/src/wpca.jl"; + jl_value_t *modulename = jl_pchar_to_string(mymod,51); + // we need the function include from Base to be able to load this module + jl_function_t *includefunc = jl_get_function(jl_base_module, "include"); + jl_value_t *module = jl_call1(includefunc, modulename); + + // call function from wpca module + jl_function_t *testfunc = jl_get_function((jl_module_t*)module, "weightedpca"); + //jl_value_t *ngauss = jl_box_int64(3); //TODO: add these as optional parameters + //jl_value_t *nbins = jl_box_int64(1000); + + jl_array_t *ret = (jl_array_t*)jl_call1(testfunc, (jl_value_t*)clips); + if (jl_exception_occurred()) + printf("%s \n", jl_typeof_str(jl_exception_occurred())); + + // Get the data from the returned julia object + size_t nclips = jl_array_dim(ret,0); + size_t nfet = num_features; + double *retData = (double*)jl_array_data(ret); + + // Output MDA File F + Mda32 tmp(nfet, nclips); + float* Cptr = tmp.dataPtr(); + bigint iC = 0; + for (size_t m = 0; m < nclips; m++) { + for (size_t k = 0; k < nfet; k++) { + float val = retData[m + nclips*k]; + Cptr[iC] = val; + iC++; + } + } + JL_GC_POP(); // Here we can free the julia memory + + //jl_atexit_hook(0); // Tell Julia we are going to kill the process + // ------------ end of julia-stage --------- + F = tmp; // F is the output features file +} + void pca(Mda& C, Mda& F, Mda& sigma, const Mda& X, bigint num_features, bool subtract_mean) { bigint M = X.N1(); @@ -87,6 +259,36 @@ void pca(Mda32& C, Mda32& F, Mda32& sigma, const Mda32& X, bigint num_features, F = mult_AtransB(C, X); } +void wpca_subsampled(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean, bigint max_samples) +{ + bigint M = X.N1(); + bigint N = X.N2(); + + qDebug().noquote() << QString("PCA %1x%2x%3 (max_samples=%4)").arg(M).arg(N).arg(num_features).arg(max_samples); + + if (true) {//(N <= max_samples) { + wpca(components, features, sigma, X, num_features, subtract_mean); + return; + } + double increment = N * 1.0 / max_samples; + QVector indices_to_use; + for (double i = 0; i < N; i += increment) { + indices_to_use << (bigint)i; + } + bigint N2 = indices_to_use.count(); + Mda32 X2(M, N2); + for (bigint j = 0; j < indices_to_use.count(); j++) { + for (bigint m = 0; m < M; m++) { + X2.setValue(X.value(m, indices_to_use[j]), m, j); + } + } + Mda32 features2; + wpca(components, features2, sigma, X2, num_features, subtract_mean); + + // (MxK)' * MxN -> KxN + features = mult_AtransB(components, X); +} + void pca_subsampled(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean, bigint max_samples) { bigint M = X.N1(); diff --git a/mountainsort/src/utils/pca.cpp_old b/mountainsort/src/utils/pca.cpp_old new file mode 100644 index 00000000..00fa5bc9 --- /dev/null +++ b/mountainsort/src/utils/pca.cpp_old @@ -0,0 +1,658 @@ +/****************************************************** +** See the accompanying README and LICENSE files +** Author(s): Jeremy Magland +** Created: 7/11/2016 +*******************************************************/ + +#include "pca.h" +#include "mlcommon.h" +#include +#include + +void iterate_to_get_top_component(Mda& C, double& sigma, Mda& X, bigint num_iterations); +void iterate_to_get_top_component(Mda32& C, double& sigma, Mda32& X, bigint num_iterations); +void iterate_XXt_to_get_top_component(Mda& C, double& sigma, Mda& XXt, bigint num_iterations); +void iterate_XXt_to_get_top_component(Mda32& C, double& sigma, Mda32& XXt, bigint num_iterations); +Mda mult_AB(const Mda& A, const Mda& B); +Mda32 mult_AB(const Mda32& A, const Mda32& B); +Mda mult_AtransB(const Mda& A, const Mda& B); +Mda32 mult_AtransB(const Mda32& A, const Mda32& B); +Mda mult_ABtrans(const Mda& A, const Mda& B); +void subtract_out_rank_1(Mda& X, Mda& C); +void subtract_out_rank_1(Mda32& X, Mda32& C); +void subtract_out_rank_1_from_XXt(Mda& X, Mda& C); +void subtract_out_rank_1_from_XXt(Mda32& X, Mda32& C); +void normalize_vector(Mda& V); +void pca_subtract_mean(Mda& X); +void pca_subtract_mean(Mda32& X); + +void pca(Mda& C, Mda& F, Mda& sigma, const Mda& X, bigint num_features, bool subtract_mean) +{ + bigint M = X.N1(); + //bigint N = X.N2(); + bigint K = num_features; + bigint num_iterations_per_component = 10; //hard-coded for now + + Mda Xw = X; //working data + if (subtract_mean) { + pca_subtract_mean(Xw); + } + + C.allocate(M, K); + sigma.allocate(K, 1); + + for (bigint k = 0; k < K; k++) { + // C will be Mx1, F will be 1xN + Mda C0; + double sigma0; + iterate_to_get_top_component(C0, sigma0, Xw, num_iterations_per_component); + for (bigint m = 0; m < M; m++) { + C.set(C0.get(m), m, k); //think about speeding this up + } + sigma.set(sigma0, k); + subtract_out_rank_1(Xw, C0); + } + + F = mult_AtransB(C, X); +} + +void pca(Mda32& C, Mda32& F, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean) +{ + bigint M = X.N1(); + //bigint N = X.N2(); + bigint K = num_features; + bigint num_iterations_per_component = 10; //hard-coded for now + + Mda32 Xw = X; //working data + if (subtract_mean) { + pca_subtract_mean(Xw); + } + + C.allocate(M, K); + sigma.allocate(K, 1); + + for (bigint k = 0; k < K; k++) { + //qDebug().noquote() << QString("k=%1/%2").arg(k).arg(K); + // C will be Mx1, F will be 1xN + Mda32 C0; + double sigma0; + iterate_to_get_top_component(C0, sigma0, Xw, num_iterations_per_component); + for (bigint m = 0; m < M; m++) { + C.set(C0.get(m), m, k); //think about speeding this up + } + sigma.set(sigma0, k); + subtract_out_rank_1(Xw, C0); + } + + F = mult_AtransB(C, X); +} + +void pca_subsampled(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean, bigint max_samples) +{ + bigint M = X.N1(); + bigint N = X.N2(); + + qDebug().noquote() << QString("PCA %1x%2x%3 (max_samples=%4)").arg(M).arg(N).arg(num_features).arg(max_samples); + + if (N <= max_samples) { + pca(components, features, sigma, X, num_features, subtract_mean); + return; + } + double increment = N * 1.0 / max_samples; + QVector indices_to_use; + for (double i = 0; i < N; i += increment) { + indices_to_use << (bigint)i; + } + bigint N2 = indices_to_use.count(); + Mda32 X2(M, N2); + for (bigint j = 0; j < indices_to_use.count(); j++) { + for (bigint m = 0; m < M; m++) { + X2.setValue(X.value(m, indices_to_use[j]), m, j); + } + } + Mda32 features2; + pca(components, features2, sigma, X2, num_features, subtract_mean); + + // (MxK)' * MxN -> KxN + features = mult_AtransB(components, X); +} + +void pca_subtract_mean(Mda& X) +{ + bigint M = X.N1(); + bigint N = X.N2(); + QVector mean0(M); + for (bigint m = 0; m < M; m++) + mean0[m] = 0; + for (bigint i = 0; i < N; i++) { + for (bigint m = 0; m < M; m++) + mean0[m] += X.value(m, i); + } + if (N) { + for (bigint m = 0; m < M; m++) + mean0[m] /= N; + } + for (bigint i = 0; i < N; i++) { + for (bigint m = 0; m < M; m++) + X.setValue(X.value(m, i) - mean0[m], m, i); + } +} + +void pca_subtract_mean(Mda32& X) +{ + bigint M = X.N1(); + bigint N = X.N2(); + QVector mean0(M); + for (bigint m = 0; m < M; m++) + mean0[m] = 0; + for (bigint i = 0; i < N; i++) { + for (bigint m = 0; m < M; m++) + mean0[m] += X.value(m, i); + } + if (N) { + for (bigint m = 0; m < M; m++) + mean0[m] /= N; + } + for (bigint i = 0; i < N; i++) { + for (bigint m = 0; m < M; m++) + X.setValue(X.value(m, i) - mean0[m], m, i); + } +} + +void pca_from_XXt(Mda& C, Mda& sigma, const Mda& XXt, bigint num_features) +{ + bigint M = XXt.N1(); + bigint K = num_features; + bigint num_iterations_per_component = 10; //hard-coded for now + + Mda XXtw = XXt; //working data + + C.allocate(M, K); + sigma.allocate(K, 1); + + for (bigint k = 0; k < K; k++) { + // C will be Mx1, F will be 1xN + Mda C0; + double sigma0; + iterate_XXt_to_get_top_component(C0, sigma0, XXtw, num_iterations_per_component); + for (bigint m = 0; m < M; m++) { + C.set(C0.get(m), m, k); //think about speeding this up + } + sigma.set(sigma0, k); + subtract_out_rank_1_from_XXt(XXtw, C0); + } +} + +void pca_from_XXt(Mda32& C, Mda32& sigma, const Mda32& XXt, bigint num_features) +{ + bigint M = XXt.N1(); + bigint K = num_features; + bigint num_iterations_per_component = 10; //hard-coded for now + + Mda32 XXtw = XXt; //working data + + C.allocate(M, K); + sigma.allocate(K, 1); + + for (bigint k = 0; k < K; k++) { + // C will be Mx1, F will be 1xN + Mda32 C0; + double sigma0; + iterate_XXt_to_get_top_component(C0, sigma0, XXtw, num_iterations_per_component); + for (bigint m = 0; m < M; m++) { + C.set(C0.get(m), m, k); //think about speeding this up + } + sigma.set(sigma0, k); + subtract_out_rank_1_from_XXt(XXtw, C0); + } +} + +Mda mult_AB(Mda& A, Mda& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N1(); + bigint L = A.N2(); + bigint N = B.N2(); + if (B.N1() != L) { + qCritical() << "Unexpected dimensions in mult_AB" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda C(M, N); + double* Aptr = A.dataPtr(); + double* Bptr = B.dataPtr(); + double* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + for (bigint l = 0; l < L; l++) { + Cptr[iC] += Aptr[m + l * M] * Bptr[l + L * n]; + } + iC++; + } + } + return C; +} + +Mda32 mult_AB(Mda32& A, Mda32& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N1(); + bigint L = A.N2(); + bigint N = B.N2(); + if (B.N1() != L) { + qCritical() << "Unexpected dimensions in mult_AB" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda32 C(M, N); + dtype32* Aptr = A.dataPtr(); + dtype32* Bptr = B.dataPtr(); + dtype32* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + for (bigint l = 0; l < L; l++) { + Cptr[iC] += Aptr[m + l * M] * Bptr[l + L * n]; + } + iC++; + } + } + return C; +} + +Mda mult_AtransB(const Mda& A, const Mda& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N2(); + bigint L = A.N1(); + bigint N = B.N2(); + if (B.N1() != L) { + qCritical() << "Unexpected dimensions in mult_AtransB" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda C(M, N); + const double* Aptr = A.constDataPtr(); + const double* Bptr = B.constDataPtr(); + double* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + double val = MLCompute::dotProduct(L, &Aptr[L * m], &Bptr[L * n]); + Cptr[iC] = val; + iC++; + } + } + return C; +} + +Mda32 mult_AtransB(const Mda32& A, const Mda32& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N2(); + bigint L = A.N1(); + bigint N = B.N2(); + if (B.N1() != L) { + qCritical() << "Unexpected dimensions in mult_AtransB" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda32 C(M, N); + const dtype32* Aptr = A.constDataPtr(); + const dtype32* Bptr = B.constDataPtr(); + dtype32* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + double val = MLCompute::dotProduct(L, &Aptr[L * m], &Bptr[L * n]); + Cptr[iC] = val; + iC++; + } + } + return C; +} + +Mda mult_ABtrans(const Mda& A, const Mda& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N1(); + bigint L = A.N2(); + bigint N = B.N1(); + if (B.N2() != L) { + qCritical() << "Unexpected dimensions in mult_ABtrans" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda C(M, N); + const double* Aptr = A.constDataPtr(); + const double* Bptr = B.constDataPtr(); + double* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + for (bigint l = 0; l < L; l++) { + Cptr[iC] += Aptr[m + l * M] * Bptr[n + l * N]; + } + iC++; + } + } + return C; +} + +Mda32 mult_ABtrans(const Mda32& A, const Mda32& B) // gemm for two 2D MDAs. inner part should be BLAS3 call +{ + bigint M = A.N1(); + bigint L = A.N2(); + bigint N = B.N1(); + if (B.N2() != L) { + qCritical() << "Unexpected dimensions in mult_ABtrans" << A.N1() << A.N2() << B.N1() << B.N2(); + abort(); + } + Mda32 C(M, N); + const dtype32* Aptr = A.constDataPtr(); + const dtype32* Bptr = B.constDataPtr(); + dtype32* Cptr = C.dataPtr(); + bigint iC = 0; + for (bigint n = 0; n < N; n++) { + for (bigint m = 0; m < M; m++) { + for (bigint l = 0; l < L; l++) { + Cptr[iC] += Aptr[m + l * M] * Bptr[n + l * N]; + } + iC++; + } + } + return C; +} + +void subtract_out_rank_1(Mda& X, Mda& C) +{ + bigint M = X.N1(); + bigint N = X.N2(); + if ((C.N1() != M) || (C.N2() != 1)) { + qCritical() << "Incorrect dimensions in subtract_out_rank_1" << M << N << C.N1() << C.N2(); + abort(); + } + double* Xptr = X.dataPtr(); + double* Cptr = C.dataPtr(); + bigint iX = 0; + for (bigint n = 0; n < N; n++) { + double dp = MLCompute::dotProduct(M, &Xptr[iX], Cptr); + for (bigint m = 0; m < M; m++) { + Xptr[iX] -= dp * Cptr[m]; + iX++; + } + } +} + +void subtract_out_rank_1(Mda32& X, Mda32& C) +{ + bigint M = X.N1(); + bigint N = X.N2(); + if ((C.N1() != M) || (C.N2() != 1)) { + qCritical() << "Incorrect dimensions in subtract_out_rank_1" << M << N << C.N1() << C.N2(); + abort(); + } + dtype32* Xptr = X.dataPtr(); + dtype32* Cptr = C.dataPtr(); + bigint iX = 0; + for (bigint n = 0; n < N; n++) { + double dp = MLCompute::dotProduct(M, &Xptr[iX], Cptr); + for (bigint m = 0; m < M; m++) { + Xptr[iX] -= dp * Cptr[m]; + iX++; + } + } +} + +void subtract_out_rank_1_from_XXt(Mda& XXt, Mda& C) +{ + bigint M = XXt.N1(); + if ((C.N1() != M) || (C.N2() != 1)) { + qCritical() << "Incorrect dimensions in subtract_out_rank_1_from_XXt" << M << C.N1() << C.N2(); + abort(); + } + + // X -> (1-CC')X + // XXt -> (1-CC')XXt(1-CC') + + Mda B(M, M); //1-CC' + for (bigint j = 0; j < M; j++) { + for (bigint i = 0; i < M; i++) { + if (i == j) + B.setValue(1 - C.value(i) * C.value(j), i, j); + else + B.setValue(-C.value(i) * C.value(j), i, j); + } + } + Mda tmp = mult_AB(XXt, B); + XXt = mult_AB(B, tmp); +} + +void subtract_out_rank_1_from_XXt(Mda32& XXt, Mda32& C) +{ + bigint M = XXt.N1(); + if ((C.N1() != M) || (C.N2() != 1)) { + qCritical() << "Incorrect dimensions in subtract_out_rank_1_from_XXt" << M << C.N1() << C.N2(); + abort(); + } + + // X -> (1-CC')X + // XXt -> (1-CC')XXt(1-CC') + + Mda32 B(M, M); //1-CC' + for (bigint j = 0; j < M; j++) { + for (bigint i = 0; i < M; i++) { + if (i == j) + B.setValue(1 - C.value(i) * C.value(j), i, j); + else + B.setValue(-C.value(i) * C.value(j), i, j); + } + } + Mda32 tmp = mult_AB(XXt, B); + XXt = mult_AB(B, tmp); +} + +void normalize_vector(Mda& V) +{ + bigint N = V.totalSize(); + double* Vptr = V.dataPtr(); + double norm = MLCompute::norm(N, Vptr); + if (!norm) + return; + for (bigint n = 0; n < N; n++) + Vptr[n] /= norm; +} + +void normalize_vector(Mda32& V) +{ + bigint N = V.totalSize(); + dtype32* Vptr = V.dataPtr(); + double norm = MLCompute::norm(N, Vptr); + if (!norm) + return; + for (bigint n = 0; n < N; n++) + Vptr[n] /= norm; +} + +void matvec(bigint M, bigint N, double* ret, double* A, double* x) // really this should be BLAS2 call +{ + for (bigint m = 0; m < M; m++) + ret[m] = 0; + bigint iA = 0; + for (bigint n = 0; n < N; n++) { + double xval = x[n]; + for (bigint m = 0; m < M; m++) { + ret[m] += A[iA] * xval; + iA++; + } + } +} + +void matvec(bigint M, bigint N, float* ret, float* A, float* x) // really this should be BLAS2 call +{ + std::memset(ret, 0, sizeof(float) * M); + bigint iA = 0; + for (bigint n = 0; n < N; n++) { + double xval = x[n]; + for (bigint m = 0; m < M; m++) { + ret[m] += A[iA] * xval; + iA++; + } + } +} + +void iterate_to_get_top_component(Mda& C, double& sigma, Mda& X, bigint num_iterations) +{ + bigint M = X.N1(); + bigint N = X.N2(); + C.allocate(M, 1); + for (bigint i = 0; i < M; i++) { + C.set(sin(i + 1), i); //pseudo-random - ahb fixed so the M=1 case isn't the zero vector + } + normalize_vector(C); + for (bigint it = 0; it < num_iterations; it++) { + // C <-- X*X'*C + Mda tmp = mult_AtransB(C, X); //tmp is 1xN + matvec(M, N, C.dataPtr(), X.dataPtr(), tmp.dataPtr()); //C is Mx1 + sigma = MLCompute::norm(M, C.dataPtr()); + normalize_vector(C); + } +} + +void iterate_to_get_top_component(Mda32& C, double& sigma, Mda32& X, bigint num_iterations) +{ + bigint M = X.N1(); + bigint N = X.N2(); + C.allocate(M, 1); + for (bigint i = 0; i < M; i++) { + C.set(sin(i + 1), i); //pseudo-random - ahb fixed so the M=1 case isn't the zero vector + } + normalize_vector(C); + for (bigint it = 0; it < num_iterations; it++) { + // C <-- X*X'*C + Mda32 tmp = mult_AtransB(C, X); //tmp is 1xN + matvec(M, N, C.dataPtr(), X.dataPtr(), tmp.dataPtr()); //C is Mx1 + sigma = MLCompute::norm(M, C.dataPtr()); + normalize_vector(C); + } +} + +void iterate_XXt_to_get_top_component(Mda& C, double& sigma, Mda& XXt, bigint num_iterations) +{ + bigint M = XXt.N1(); + C.allocate(M, 1); + for (bigint i = 0; i < M; i++) { + C.set(sin(i + 1), i); //pseudo-random - ahb fixed so the M=1 case isn't the zero vector + } + normalize_vector(C); + for (bigint it = 0; it < num_iterations; it++) { + // V = X*X'*V + Mda tmp(M, 1); + matvec(M, M, tmp.dataPtr(), XXt.dataPtr(), C.dataPtr()); //V is Mx1 + C = tmp; + sigma = MLCompute::norm(M, C.dataPtr()); + normalize_vector(C); + } +} + +void iterate_XXt_to_get_top_component(Mda32& C, double& sigma, Mda32& XXt, bigint num_iterations) +{ + bigint M = XXt.N1(); + C.allocate(M, 1); + for (bigint i = 0; i < M; i++) { + C.set(sin(i + 1), i); //pseudo-random - ahb fixed so the M=1 case isn't the zero vector + } + normalize_vector(C); + for (bigint it = 0; it < num_iterations; it++) { + // V = X*X'*V + Mda32 tmp(M, 1); + matvec(M, M, tmp.dataPtr(), XXt.dataPtr(), C.dataPtr()); //V is Mx1 + C = tmp; + sigma = MLCompute::norm(M, C.dataPtr()); + normalize_vector(C); + } +} + +double rand01() +{ + double ret = ((qrand() % 100000) + 0.5) * 1.0 / 100000; + return ret; +} + +void pca_unit_test() +{ + bigint M = 4; + bigint N = 500; + Mda X(M, N); + bigint num_features = M; + for (bigint n = 0; n < N; n++) { + X.setValue(1 + 0.5 * sin(n) + 0.25 * cos(n) + rand01() * 0.5, 0, n); + X.setValue(1 - 0.5 * sin(n) + 0.25 * cos(n) + rand01() * 0.5, 1, n); + X.setValue(1 + 0.5 * sin(n) - 0.25 * cos(n) + rand01() * 0.5, 2, n); + X.setValue(1 - 0.5 * sin(n) - 0.25 * cos(n) + rand01() * 0.5, 3, n); + } + Mda CC, FF; + Mda sigma; + pca(CC, FF, sigma, X, M, false); + + printf("\n"); + for (bigint k = 0; k < num_features; k++) { + printf("Component (lambda=%g): %g %g %g %g\n", sqrt(sigma.value(k)), CC.value(0, k), CC.value(1, k), CC.value(2, k), CC.value(3, k)); + } + + printf("\n"); + Mda XXt = mult_ABtrans(X, X); + Mda CC2; + Mda sigma2; + pca_from_XXt(CC2, sigma2, XXt, num_features); + for (bigint k = 0; k < num_features; k++) { + printf("Component (lambda=%g): %g %g %g %g\n", sqrt(sigma2.value(k)), CC2.value(0, k), CC2.value(1, k), CC2.value(2, k), CC2.value(3, k)); + } + + printf("\nTest:\n"); + Mda test = mult_ABtrans(CC, CC); + for (bigint m = 0; m < M; m++) { + printf("%g %g %g %g\n", test.value(m, 0), test.value(m, 1), test.value(m, 2), test.value(m, 3)); + } + + printf("\nWhitening:\n"); + Mda W; + whitening_matrix_from_XXt(W, XXt); + for (bigint m = 0; m < M; m++) { + printf("%g %g %g %g\n", W.value(m, 0), W.value(m, 1), W.value(m, 2), W.value(m, 3)); + } + + Mda Xw = mult_AB(W, X); + Mda XwXwt = mult_ABtrans(Xw, Xw); + printf("\nXwXwt:\n"); + for (bigint m = 0; m < M; m++) { + printf("%g %g %g %g\n", XwXwt.value(m, 0), XwXwt.value(m, 1), XwXwt.value(m, 2), XwXwt.value(m, 3)); + } +} + +void whitening_matrix_from_XXt(Mda& W, const Mda& XXt) +{ + bigint M = XXt.N1(); + Mda components, sigma; + pca_from_XXt(components, sigma, XXt, M); // sigma is list of eigenvalues of XXt (really sigma^2 for SVD of X) + + Mda D(M, M); // build a diagonal matrix D = 1/sqrt(eigvals) + for (bigint i = 0; i < M; i++) { + double val = 0; + if (sigma.get(i)) + val = 1 / sqrt(sigma.get(i)); + D.setValue(val, i, i); + } + + Mda tmp = mult_AB(components, D); + W = mult_ABtrans(tmp, components); // output U.D.U^T is symmetric +} + +void whitening_matrix_from_XXt(Mda32& W, const Mda32& XXt) +{ + bigint M = XXt.N1(); + Mda32 components, sigma; + pca_from_XXt(components, sigma, XXt, M); // sigma is list of eigenvalues of XXt (really sigma^2 for SVD of X) + + Mda32 D(M, M); // build a diagonal matrix D = 1/sqrt(eigvals) + for (bigint i = 0; i < M; i++) { + double val = 0; + if (sigma.get(i)) + val = 1 / sqrt(sigma.get(i)); + D.setValue(val, i, i); + } + + Mda32 tmp = mult_AB(components, D); + W = mult_ABtrans(tmp, components); // output U.D.U^T is symmetric +} diff --git a/mountainsort/src/utils/pca.h b/mountainsort/src/utils/pca.h index 7055eeaa..47084673 100644 --- a/mountainsort/src/utils/pca.h +++ b/mountainsort/src/utils/pca.h @@ -11,9 +11,13 @@ #include "mda32.h" // see info below +void wpca(Mda& components, Mda& features, Mda& sigma, const Mda& X, bigint num_features, bool subtract_mean); +void wpca(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean); void pca(Mda& components, Mda& features, Mda& sigma, const Mda& X, bigint num_features, bool subtract_mean); void pca(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean); void pca_subsampled(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean, bigint max_samples); +void wpca_subsampled(Mda32& components, Mda32& features, Mda32& sigma, const Mda32& X, bigint num_features, bool subtract_mean, bigint max_samples); + // same as pca, except input it X*X', and features are not computed (because how could they be?) void pca_from_XXt(Mda& components, Mda& sigma, const Mda& XXt, bigint num_features); diff --git a/mountainsort/src/utils/pcacomp b/mountainsort/src/utils/pcacomp new file mode 100755 index 00000000..ab5cd224 --- /dev/null +++ b/mountainsort/src/utils/pcacomp @@ -0,0 +1,2 @@ +g++ -c -pipe -fopenmp -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../../../mlcommon/include -I../../../mlcommon/include/cachemanager -I../../../mlcommon/include/componentmanager -I../../../mlcommon/include/mda -I../../../mountainsort/src/isosplit5 -I../../../mountainsort/src/utils -I/home/data/Qt/5.8/gcc_64/include -I/home/data/Qt/5.8/gcc_64/include/QtNetwork -I/home/data/Qt/5.8/gcc_64/include/QtCore -I../build -I/home/data/Qt/5.8/gcc_64/mkspecs/linux-g++ -I'/home/data/.julia/julia/usr/include/julia' -DJULIA_ENABLE_THREADING=1 -fPIC -L'/home/data/.julia/julia/usr/lib' -Wl,--export-dynamic -Wl,-rpath,'/home/data/.julia/julia/usr/lib' -Wl,-rpath,'/home/data/.julia/julia/usr/lib/julia' -ljulia -o ../build/pca.o ../../../mountainsort/src/utils/pca.cpp + diff --git a/mountainview/build/moc_predefs.h b/mountainview/build/moc_predefs.h new file mode 100644 index 00000000..95dcecf0 --- /dev/null +++ b/mountainview/build/moc_predefs.h @@ -0,0 +1,286 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define _REENTRANT 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __OPTIMIZE__ 1 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define _OPENMP 201511 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/mvcommon/build/moc_predefs.h b/mvcommon/build/moc_predefs.h new file mode 100644 index 00000000..3fe06d81 --- /dev/null +++ b/mvcommon/build/moc_predefs.h @@ -0,0 +1,286 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __pic__ 2 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __PIC__ 2 +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3 diff --git a/packages/ml_kilosort b/packages/ml_kilosort new file mode 160000 index 00000000..7f68b505 --- /dev/null +++ b/packages/ml_kilosort @@ -0,0 +1 @@ +Subproject commit 7f68b505c9f4d40c1e21399766789049641068aa diff --git a/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.QWUXKP.tmp b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.QWUXKP.tmp new file mode 100644 index 00000000..bf9dfb97 --- /dev/null +++ b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.QWUXKP.tmp @@ -0,0 +1,519 @@ +{ + "processors": [ + { + "name": "mountainsort.ms2_001", + "version": "0.29", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001 $(arguments)" + }, + { + "name": "mountainsort.ms2_001_multichannel", + "version": "0.29-0.15", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + }, + { + "name": "geom" + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "adjacency_radius" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001_multichannel $(arguments)" + }, + { + "name": "mountainsort.ms2_002", + "version": "0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002 $(arguments)" + }, + { + "name": "mountainsort.ms2_002_multineighborhood", + "version": "0.1-0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + }, + { + "name": "geom", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "adjacency_radius" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "true" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002_multineighborhood $(arguments)" + } + ] +} diff --git a/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.RWF5YA.tmp b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.RWF5YA.tmp new file mode 100644 index 00000000..a8f404d2 --- /dev/null +++ b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.RWF5YA.tmp @@ -0,0 +1,559 @@ +{ + "processors": [ + { + "name": "mountainsort.ms2_001", + "version": "0.29", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001 $(arguments)" + }, + { + "name": "mountainsort.ms2_001_multichannel", + "version": "0.29-0.15", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + }, + { + "name": "geom" + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "adjacency_radius" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001_multichannel $(arguments)" + }, + { + "name": "mountainsort.ms2_002", + "version": "0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002 $(arguments)" + }, + { + "name": "mountainsort.ms2_002_multineighborhood", + "version": "0.1-0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + }, + { + "name": "geom", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + }, + { + "name": "adjacency_radius" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "true" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002_multineighborhood $(arguments)" + } + ] +} diff --git a/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.TIW7VP.tmp b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.TIW7VP.tmp new file mode 100644 index 00000000..a8f404d2 --- /dev/null +++ b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.TIW7VP.tmp @@ -0,0 +1,559 @@ +{ + "processors": [ + { + "name": "mountainsort.ms2_001", + "version": "0.29", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001 $(arguments)" + }, + { + "name": "mountainsort.ms2_001_multichannel", + "version": "0.29-0.15", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + }, + { + "name": "geom" + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "adjacency_radius" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001_multichannel $(arguments)" + }, + { + "name": "mountainsort.ms2_002", + "version": "0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002 $(arguments)" + }, + { + "name": "mountainsort.ms2_002_multineighborhood", + "version": "0.1-0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + }, + { + "name": "geom", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + }, + { + "name": "adjacency_radius" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "true" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002_multineighborhood $(arguments)" + } + ] +} diff --git a/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.YBE0OY.tmp b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.YBE0OY.tmp new file mode 100644 index 00000000..a8f404d2 --- /dev/null +++ b/packages/mountainsort2/algs/mountainsort2.js.mp.spec.tf.YBE0OY.tmp @@ -0,0 +1,559 @@ +{ + "processors": [ + { + "name": "mountainsort.ms2_001", + "version": "0.29", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001 $(arguments)" + }, + { + "name": "mountainsort.ms2_001_multichannel", + "version": "0.29-0.15", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (perhaps whitened)", + "optional": true + }, + { + "name": "geom" + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + }, + { + "name": "whitening_matrix_out", + "description": "", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "whiten", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "adjacency_radius" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_001_multichannel $(arguments)" + }, + { + "name": "mountainsort.ms2_002", + "version": "0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002 $(arguments)" + }, + { + "name": "mountainsort.ms2_002_multineighborhood", + "version": "0.1-0.1", + "inputs": [ + { + "name": "timeseries", + "description": "preprocessed timeseries (M x N)", + "optional": false + }, + { + "name": "prescribed_event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "event_times", + "description": "Timestamps for all events", + "optional": true + }, + { + "name": "amplitudes", + "description": "Amplitudes for all events", + "optional": true + }, + { + "name": "clips", + "description": "Event clips (from preprocessed timeseries)", + "optional": true + }, + { + "name": "geom", + "optional": true + } + ], + "outputs": [ + { + "name": "event_times_out", + "optional": true + }, + { + "name": "amplitudes_out", + "optional": true + }, + { + "name": "clips_out", + "optional": true + }, + { + "name": "firings_out", + "description": "The labeled events (R x L), R=3 or 4", + "optional": true + } + ], + "parameters": [ + { + "name": "samplerate", + "description": "sample rate for timeseries", + "optional": false + }, + { + "name": "segment_duration_sec", + "optional": true, + "default_value": 3600 + }, + { + "name": "num_threads", + "optional": true, + "default_value": 0 + }, + { + "name": "central_channel", + "optional": true, + "default_value": 0 + }, + { + "name": "clip_size_msec", + "optional": true, + "default_value": 2 + }, + { + "name": "detect_interval_msec", + "optional": true, + "default_value": 1 + }, + { + "name": "detect_threshold", + "optional": true, + "default_value": 3 + }, + { + "name": "detect_sign", + "optional": true, + "default_value": 0 + }, + { + "name": "detect_rms_window", + "optional": true, + "default_value": 0 + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "false" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + }, + { + "name": "fit_stage", + "optional": true, + "default_value": "false" + }, + { + "name": "subsample_factor", + "optional": true, + "default_value": 1 + }, + { + "name": "channels", + "optional": true, + "default_value": "" + }, + { + "name": "isocut_threshold", + "optional": true, + "default_value": 1 + }, + { + "name": "weighted_pca", + "optional": true, + "default_value": 0 + }, + { + "name": "remove_outliers", + "optional": true, + "default_value": 0 + }, + { + "name": "keep_temp", + "optional": true, + "default_value": "true" + }, + { + "name": "adjacency_radius" + }, + { + "name": "consolidate_clusters", + "optional": true, + "default_value": "true" + }, + { + "name": "consolidation_factor", + "optional": true, + "default_value": 0.9 + } + ], + "exe_command": "/ddLab/code/mountainlab/packages/mountainsort2/algs/mountainsort2.js.mp mountainsort.ms2_002_multineighborhood $(arguments)" + } + ] +} diff --git a/packages/mountainsort2/algs/ms2_002.js b/packages/mountainsort2/algs/ms2_002.js index 4c2d7b53..7e136cbb 100644 --- a/packages/mountainsort2/algs/ms2_002.js +++ b/packages/mountainsort2/algs/ms2_002.js @@ -31,11 +31,16 @@ exports.spec=function() { spec0.parameters.push({name:"detect_interval_msec",optional:true,default_value:1}); spec0.parameters.push({name:"detect_threshold",optional:true,default_value:3.0}); spec0.parameters.push({name:"detect_sign",optional:true,default_value:0}); + spec0.parameters.push({name:"detect_rms_window",optional:true,default_value:0}); spec0.parameters.push({name:"consolidate_clusters",optional:true,default_value:'false'}); spec0.parameters.push({name:"consolidation_factor",optional:true,default_value:0.9}); spec0.parameters.push({name:"fit_stage",optional:true,default_value:'false'}); spec0.parameters.push({name:'subsample_factor',optional:true,default_value:1}); spec0.parameters.push({name:'channels',optional:true,default_value:''}); + spec0.parameters.push({name:'isocut_threshold',optional:true,default_value:1}); + spec0.parameters.push({name:'weighted_pca',optional:true,default_value:0}); + spec0.parameters.push({name:'remove_outliers',optional:true,default_value:0}); + spec0.parameters.push({name:"keep_temp",optional:true,default_value:'true'}); return common.clone(spec0); }; @@ -184,12 +189,14 @@ exports.run=function(opts,callback) { }); }); /////////////////////////////////////////////////////////////// - steps.push(function(cb) { + if (!opts.keep_temp) { + steps.push(function(cb) { //remove the temporary files STEP_cleanup(function() { cb(); }); }); + } /////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////// @@ -440,7 +447,12 @@ exports.run=function(opts,callback) { common.mp_exec_process('mountainsort.sort_clips', {clips:clips}, {labels_out:labels}, - {_request_num_threads:opts.num_threads}, + { + weighted_pca:opts.weighted_pca, + isocut_threshold:opts.isocut_threshold, + remove_outliers:opts.remove_outliers, + _request_num_threads:opts.num_threads + }, sort_clips_callback ); } @@ -529,6 +541,7 @@ exports.run=function(opts,callback) { function detect_events(timeseries,event_times_out,central_channel,callback) { var detect_interval=Math.ceil(opts.detect_interval_msec/1000*opts.samplerate); + var detect_rms_window=Math.ceil(opts.detect_rms_window/1000*opts.samplerate); common.mp_exec_process('mountainsort.detect_events', {timeseries:timeseries}, {event_times_out:event_times_out}, @@ -536,6 +549,7 @@ exports.run=function(opts,callback) { central_channel:central_channel, detect_threshold:opts.detect_threshold, detect_interval:detect_interval, + detect_rms_window:detect_rms_window, sign:opts.detect_sign, subsample_factor:opts.subsample_factor||1, _request_num_threads:num_intersegment_threads diff --git a/packages/mountainsort2/algs/ms2_002.pipeline b/packages/mountainsort2/algs/ms2_002.pipeline index 2816e2c8..e3124799 100644 --- a/packages/mountainsort2/algs/ms2_002.pipeline +++ b/packages/mountainsort2/algs/ms2_002.pipeline @@ -6,6 +6,9 @@ function main(params) { detect_interval_msec:0.33, //min separation between two events on same channel (default is 10 samples at 30 KHz) detect_threshold:3.0, //stdevs away from noise detect_sign:0, //-1,0,1 + detect_rms_window:0, //0 does not use RMS power for detect, >0 uses that length window (in milliseconds) + isocut_threshold:1.0, + weighted_pca:0, whiten:'true', //boolean fit_stage:'true', //boolean segment_duration_sec:3600, //duration of a single time segment for processing @@ -311,4 +314,4 @@ function dir(path) { function mkdir(path) { _MP2.mkdir(path); -} \ No newline at end of file +} diff --git a/packages/mountainsort2/src/mountainsort2_main.cpp b/packages/mountainsort2/src/mountainsort2_main.cpp index dc628d8c..d092d2be 100644 --- a/packages/mountainsort2/src/mountainsort2_main.cpp +++ b/packages/mountainsort2/src/mountainsort2_main.cpp @@ -118,6 +118,7 @@ QJsonObject get_spec() X.addOutputs("event_times_out"); X.addRequiredParameters("central_channel", "detect_threshold", "detect_interval", "sign"); X.addOptionalParameter("subsample_factor", "", 1); + X.addOptionalParameter("detect_rms_window", "", 0); processors.push_back(X.get_spec()); } { @@ -140,6 +141,9 @@ QJsonObject get_spec() ProcessorSpec X("mountainsort.sort_clips", "0.11a"); X.addInputs("clips"); X.addOutputs("labels_out"); + X.addOptionalParameter("isocut_threshold", "", 1.0); + X.addOptionalParameter("weighted_pca", "", 0); + X.addOptionalParameter("remove_outliers", "", 0); //X.addRequiredParameters(); processors.push_back(X.get_spec()); } @@ -404,6 +408,7 @@ int main(int argc, char* argv[]) opts.central_channel = CLP.named_parameters["central_channel"].toInt(); opts.detect_threshold = CLP.named_parameters["detect_threshold"].toDouble(); opts.detect_interval = CLP.named_parameters["detect_interval"].toDouble(); + opts.detect_rms_window = CLP.named_parameters["detect_rms_window"].toDouble(); opts.sign = CLP.named_parameters["sign"].toInt(); opts.subsample_factor = CLP.named_parameters["subsample_factor"].toDouble(); ret = p_detect_events(timeseries, event_times_out, opts); @@ -428,6 +433,9 @@ int main(int argc, char* argv[]) QString clips = CLP.named_parameters["clips"].toString(); QString labels_out = CLP.named_parameters["labels_out"].toString(); Sort_clips_opts opts; + opts.weighted_pca = CLP.named_parameters["weighted_pca"].toInt(); + opts.remove_outliers = CLP.named_parameters["remove_outliers"].toInt(); + opts.isocut_threshold = CLP.named_parameters["isocut_threshold"].toDouble(); ret = p_sort_clips(clips, labels_out, opts); } else if (arg1 == "mountainsort.reorder_labels") { diff --git a/packages/mountainsort2/src/mountainsort2_main.pro b/packages/mountainsort2/src/mountainsort2_main.pro new file mode 100644 index 00000000..e69de29b diff --git a/packages/mountainsort2/src/p_detect_events.cpp b/packages/mountainsort2/src/p_detect_events.cpp index 4377b8d9..ad889bdf 100644 --- a/packages/mountainsort2/src/p_detect_events.cpp +++ b/packages/mountainsort2/src/p_detect_events.cpp @@ -5,8 +5,9 @@ #include "mlcommon.h" namespace P_detect_events { -QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign); -QVector subsample_events(const QVector& X, double subsample_factor); + QVector align_events(const QVector& X, const QVector& ptimes, int sign, double detect_interval); + QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign); + QVector subsample_events(const QVector& X, double subsample_factor); } bool p_detect_events(QString timeseries, QString event_times_out, P_detect_events_opts opts) @@ -15,55 +16,70 @@ bool p_detect_events(QString timeseries, QString event_times_out, P_detect_event bigint M = X.N1(); bigint N = X.N2(); - QVector data(N); printf("Collecting data vector...\n"); - if (opts.detect_rms_window > 0) { - printf("Collecting data vector & computing RMS...\n"); - /*assert (M == 1) * not for multichannel */ - for (bigint i = 0; i < N; i++) { - double val = 0; - for (int wind = 0; wind < opts.detect_rms_window; wind++) { - val += X.value(1, i + wind) * X.value(1, i + wind); - } - data[i] = sqrt(val); + QVector data(N); + if (opts.central_channel > 0) { + if (opts.central_channel - 1 >= M) { + qWarning() << "Central channel is out of range:" << opts.central_channel << M; + return false; } - double datamean = MLCompute::mean(data); /*zero mean*/ for (bigint i = 0; i < N; i++) { - data[i] = data[i] - datamean; + data[i] = X.value(opts.central_channel - 1, i); } } else { - if (opts.central_channel > 0) { - if (opts.central_channel - 1 >= M) { - qWarning() << "Central channel is out of range:" << opts.central_channel << M; - return false; - } - for (bigint i = 0; i < N; i++) { - data[i] = X.value(opts.central_channel - 1, i); - } - } - else { - for (bigint i = 0; i < N; i++) { - double best_value = 0; - bigint best_m = 0; - for (bigint m = 0; m < M; m++) { - double val = X.value(m, i); - if (opts.sign < 0) - val = -val; - if (opts.sign == 0) - val = fabs(val); - if (val > best_value) { - best_value = val; - best_m = m; - } + for (bigint i = 0; i < N; i++) { + double best_value = 0; + bigint best_m = 0; + for (bigint m = 0; m < M; m++) { + double val = X.value(m, i); + if (opts.sign < 0) + val = -val; + if (opts.sign == 0) + val = fabs(val); + if (val > best_value) { + best_value = val; + best_m = m; } - data[i] = X.value(best_m, i); } + data[i] = X.value(best_m, i); } } + + //zero mean first + double datamean = MLCompute::mean(data); + for (bigint i = 0; i < N; i++) { + data[i] = data[i] - datamean; + } - printf("Detecting events...\n"); - QVector event_times = P_detect_events::detect_events(data, opts.detect_threshold, opts.detect_interval, opts.sign); + QVector event_times; + if (opts.detect_rms_window > 0) { + printf("Computing RMS... \n"); + QVector rmsdata(N); + rmsdata.fill(0); + int midwin = opts.detect_rms_window/2; + /*assert (M == 1) * not for multichannel */ + for (bigint i = 0; i < N; i++) { + double val = 0; + for (int wind = 0; wind < opts.detect_rms_window; wind++) { + val += X.value(1, i + wind) * X.value(1, i + wind); + } + rmsdata[i+midwin] = sqrt(val); + } + /*double rmsdatamean = MLCompute::mean(rmsdata); + for (bigint i = 0; i < N; i++) { + rmsdata[i] = rmsdata[i] - rmsdatamean; + }*/ + printf("Detecting events...\n"); + + QVector rms_event_times = P_detect_events::detect_events(rmsdata, opts.detect_threshold, opts.detect_interval, 1); // Power peaks are always +ve + event_times = P_detect_events::align_events(data, rms_event_times, opts.sign, opts.detect_interval); // Sign now just refers to where we will align the events + printf("%d events detected.\n", event_times.count()); + } else { + printf("Detecting events...\n"); + event_times = P_detect_events::detect_events(data, opts.detect_threshold, opts.detect_interval, opts.sign); + printf("%d events detected.\n", event_times.count()); + } printf("%d events detected.\n", event_times.count()); @@ -82,67 +98,104 @@ bool p_detect_events(QString timeseries, QString event_times_out, P_detect_event } namespace P_detect_events { -QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign) -{ - double mean = MLCompute::mean(X); - double stdev = MLCompute::stdev(X); - double threshold2 = detect_threshold * stdev; + QVector align_events(const QVector& X, const QVector& ptimes, int sign, double detect_interval) + { + int winaround = 10; //hard-coded for now + int winlen = winaround * 2; + bigint N = ptimes.size(); + QVector pwin(winlen); + QVector times; + double maxv = 0; + double maxind = 0; + double maxindprev = 0; + double val = 0; - bigint N = X.count(); - QVector to_use(N); - to_use.fill(0); - bigint last_best_ind = 0; - double last_best_val = 0; - for (bigint n = 0; n < N; n++) { - double val = (X[n] - mean); - if (sign < 0) - val = -val; - else if (sign == 0) - val = fabs(val); - if (n - last_best_ind > detect_interval) - last_best_val = 0; - if (val >= threshold2) { - if (last_best_val > 0) { - if (val > last_best_val) { - to_use[n] = 1; - to_use[last_best_ind] = 0; - last_best_ind = n; - last_best_val = val; + for (bigint n = 0; n < N; n++) { + bigint Xpos = ptimes[n] - winaround; + maxv = 0; + maxind = 0; + val = 0; + // get trace around spike time + for (int w = 0; w < winlen; w++) { + val = X[Xpos + w]; + if (sign < 0) // just detect -ve peaks + val = -val; + else if (sign == 0) // detect all peaks + val = fabs(val); + if (val > maxv) { // set peak in trace + maxv = val; + maxind = Xpos + w; } } - else { - if (val > 0) { - to_use[n] = 1; - last_best_ind = n; - last_best_val = val; - } + if (maxind - maxindprev > detect_interval) { + times << maxind; + maxindprev = maxind; } } + return times; } - QVector times; - for (bigint n = 0; n < N; n++) { - if (to_use[n]) { - times << n; + + QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign) + { + double mean = MLCompute::mean(X); + double stdev = MLCompute::stdev(X); + double threshold2 = detect_threshold * stdev; + + bigint N = X.count(); + QVector to_use(N); + to_use.fill(0); + bigint last_best_ind = 0; + double last_best_val = 0; + for (bigint n = 0; n < N; n++) { // n is current sample + double val = X[n]; //- mean); move mean to previous stage + if (sign < 0) // just detect -ve peaks + val = -val; + else if (sign == 0) // detect all peaks + val = fabs(val); + if (n - last_best_ind > detect_interval) // look for new peaks + last_best_val = 0; + if (val >= threshold2) { // if above detection threshold + if (last_best_val > 0) { // have we already detected a possible peak + if (val > last_best_val) { // is this one bigger than other possible peaks + to_use[n] = 1; // set new possible peak + to_use[last_best_ind] = 0; // unset previous possible peak + last_best_ind = n; // set ind and val for new peak + last_best_val = val; + } + } + else { // this is the first possible peak in this window + if (val > 0) { + to_use[n] = 1; + last_best_ind = n; + last_best_val = val; + } + } + } + } + QVector times; // get times from boolean time array + for (bigint n = 0; n < N; n++) { + if (to_use[n]) { + times << n; + } } + return times; } - return times; -} -double pseudorandomnumber(double i) -{ - double ret = sin(i + cos(i)); - ret = (ret + 5) - (bigint)(ret + 5); - return ret; -} + double pseudorandomnumber(double i) + { + double ret = sin(i + cos(i)); + ret = (ret + 5) - (bigint)(ret + 5); + return ret; + } -QVector subsample_events(const QVector& X, double subsample_factor) -{ - QVector ret; - for (bigint i = 0; i < X.count(); i++) { - double randnum = pseudorandomnumber(i); - if (randnum <= subsample_factor) - ret << X[i]; + QVector subsample_events(const QVector& X, double subsample_factor) + { + QVector ret; + for (bigint i = 0; i < X.count(); i++) { + double randnum = pseudorandomnumber(i); + if (randnum <= subsample_factor) + ret << X[i]; + } + return ret; } - return ret; -} } diff --git a/packages/mountainsort2/src/p_detect_events.cppnew b/packages/mountainsort2/src/p_detect_events.cppnew new file mode 100644 index 00000000..3570241a --- /dev/null +++ b/packages/mountainsort2/src/p_detect_events.cppnew @@ -0,0 +1,148 @@ +#include "p_detect_events.h" + +#include +#include +#include "mlcommon.h" + +namespace P_detect_events { +QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign); +QVector subsample_events(const QVector& X, double subsample_factor); +} + +bool p_detect_events(QString timeseries, QString event_times_out, P_detect_events_opts opts) +{ + DiskReadMda32 X(timeseries); + bigint M = X.N1(); + bigint N = X.N2(); + + QVector data(N); + printf("Collecting data vector...\n"); + if (opts.detect_rms_window > 0) { + printf("Collecting data vector & computing RMS...\n"); + /*assert (M == 1) * not for multichannel */ + for (bigint i = 0; i < N; i++) { + double val = 0; + for (int wind = 0; wind < opts.detect_rms_window; wind++) { + val += X.value(1, i + wind) * X.value(1, i + wind); + } + data[i] = sqrt(val); + } + double datamean = MLCompute::mean(data); /*zero mean*/ + for (bigint i = 0; i < N; i++) { + data[i] = data[i] - datamean; + } + } + else { + if (opts.central_channel > 0) { + if (opts.central_channel - 1 >= M) { + qWarning() << "Central channel is out of range:" << opts.central_channel << M; + return false; + } + for (bigint i = 0; i < N; i++) { + data[i] = X.value(opts.central_channel - 1, i); + } + } + else { + for (bigint i = 0; i < N; i++) { + double best_value = 0; + bigint best_m = 0; + for (bigint m = 0; m < M; m++) { + double val = X.value(m, i); + if (opts.sign < 0) + val = -val; + if (opts.sign == 0) + val = fabs(val); + if (val > best_value) { + best_value = val; + best_m = m; + } + } + data[i] = X.value(best_m, i); + } + } + } + + printf("Detecting events...\n"); + QVector event_times = P_detect_events::detect_events(data, opts.detect_threshold, opts.detect_interval, opts.sign); + + printf("%d events detected.\n", event_times.count()); + + if ((opts.subsample_factor) && (opts.subsample_factor < 1)) { + printf("Subsampling by factor %g...\n", opts.subsample_factor); + event_times = P_detect_events::subsample_events(event_times, opts.subsample_factor); + } + + printf("Creating result array...\n"); + Mda ret(1, event_times.count()); + for (bigint j = 0; j < event_times.count(); j++) { + ret.setValue(event_times[j], j); + } + printf("Writing result...\n"); + return ret.write64(event_times_out); +} + +namespace P_detect_events { +QVector detect_events(const QVector& X, double detect_threshold, double detect_interval, int sign) +{ + double mean = MLCompute::mean(X); + double stdev = MLCompute::stdev(X); + double threshold2 = detect_threshold * stdev; + + bigint N = X.count(); + QVector to_use(N); + to_use.fill(0); + bigint last_best_ind = 0; + double last_best_val = 0; + for (bigint n = 0; n < N; n++) { // n is current mean + double val = (X[n] - mean); + if (sign < 0) // just detect -ve peaks + val = -val; + else if (sign == 0) // detect all peaks + val = fabs(val); + if (n - last_best_ind > detect_interval) // look for new peaks + last_best_val = 0; + if (val >= threshold2) { // if above detection threshold + if (last_best_val > 0) { // have we already detected a possible peak + if (val > last_best_val) { // is this one bigger than other possible peaks + to_use[n] = 1; // set new possible peak + to_use[last_best_ind] = 0; // unset previous possible peak + last_best_ind = n; // set ind and val for new peak + last_best_val = val; + } + } + else { // this is the first possible peak in this window + if (val > 0) { + to_use[n] = 1; + last_best_ind = n; + last_best_val = val; + } + } + } + } + QVector times; // get times from boolean time array + for (bigint n = 0; n < N; n++) { + if (to_use[n]) { + times << n; + } + } + return times; +} + +double pseudorandomnumber(double i) +{ + double ret = sin(i + cos(i)); + ret = (ret + 5) - (bigint)(ret + 5); + return ret; +} + +QVector subsample_events(const QVector& X, double subsample_factor) +{ + QVector ret; + for (bigint i = 0; i < X.count(); i++) { + double randnum = pseudorandomnumber(i); + if (randnum <= subsample_factor) + ret << X[i]; + } + return ret; +} +} diff --git a/packages/mountainsort2/src/p_isolation_metrics.cpp b/packages/mountainsort2/src/p_isolation_metrics.cpp index 20f130ae..709097fc 100644 --- a/packages/mountainsort2/src/p_isolation_metrics.cpp +++ b/packages/mountainsort2/src/p_isolation_metrics.cpp @@ -619,7 +619,7 @@ QJsonObject get_pair_metrics(const DiskReadMda32& X, const QVector& time } bool is_bursting_parent_candidate(const Mda32& template0, const Mda32& template0_parent, P_isolation_metrics_opts opts) { - double maxabs = 0, maxabs_parent = 0; + float maxabs = 0, maxabs_parent = 0; for (bigint i = 0; i < template0.totalSize(); i++) { maxabs = qMax(fabs(template0.value(i)), maxabs); maxabs_parent = qMax(fabs(template0_parent.value(i)), maxabs_parent); diff --git a/packages/mountainsort2/src/p_sort_clips.cpp b/packages/mountainsort2/src/p_sort_clips.cpp index 0a7f2e16..fd5d86f7 100644 --- a/packages/mountainsort2/src/p_sort_clips.cpp +++ b/packages/mountainsort2/src/p_sort_clips.cpp @@ -9,7 +9,7 @@ namespace P_sort_clips { QVector sort_clips_subset(const Mda32& clips, const QVector& indices, Sort_clips_opts opts); -Mda32 dimension_reduce_clips(Mda32& clips, bigint num_features_per_channel, bigint max_samples); +Mda32 dimension_reduce_clips(Mda32& clips, Sort_clips_opts opts); Mda32 compute_templates(Mda32& clips, const QVector& labels); } @@ -20,7 +20,7 @@ bool p_sort_clips(QString clips_path, QString labels_out, Sort_clips_opts opts) { QTime timer; timer.start(); - clips = P_sort_clips::dimension_reduce_clips(clips, opts.num_features, opts.max_samples); + clips = P_sort_clips::dimension_reduce_clips(clips, opts); qDebug().noquote() << QString("Time elapsed for dimension reduction per channel (%1x%2x%3): %4 sec").arg(clips.N1()).arg(clips.N2()).arg(clips.N3()).arg(timer.elapsed() * 1.0 / 1000); } bigint M = clips.N1(); @@ -88,7 +88,7 @@ bool p_sort_clips(QString clips_path, QString labels_out, Sort_clips_opts opts) namespace P_sort_clips { -Mda32 dimension_reduce_clips(Mda32& clips, bigint num_features_per_channel, bigint max_samples) +Mda32 dimension_reduce_clips(Mda32& clips, Sort_clips_opts opts) { bigint M = clips.N1(); bigint T = clips.N2(); @@ -97,7 +97,7 @@ Mda32 dimension_reduce_clips(Mda32& clips, bigint num_features_per_channel, bigi qDebug().noquote() << QString("Dimension reduce clips %1x%2x%3").arg(M).arg(T).arg(L); - Mda32 ret(M, num_features_per_channel, L); + Mda32 ret(M, opts.num_features, L); float* retptr = ret.dataPtr(); for (bigint m = 0; m < M; m++) { Mda32 reshaped(T, L); @@ -114,12 +114,16 @@ Mda32 dimension_reduce_clips(Mda32& clips, bigint num_features_per_channel, bigi } } Mda32 CC, FF, sigma; - pca_subsampled(CC, FF, sigma, reshaped, num_features_per_channel, false, max_samples); + if (opts.weighted_pca) { + wpca_subsampled(CC, FF, sigma, reshaped, opts.num_features, false, opts.max_samples); //should we subtract the mean? + }else { + pca_subsampled(CC, FF, sigma, reshaped, opts.num_features, false, opts.max_samples); + } float* FF_ptr = FF.dataPtr(); aa = 0; bb = m; for (bigint i = 0; i < L; i++) { - for (bigint a = 0; a < num_features_per_channel; a++) { + for (bigint a = 0; a < opts.num_features; a++) { //ret.setValue(FF.value(a, i), m, a, i); //ret.set(FF.get(aa),bb); retptr[bb] = FF_ptr[aa]; @@ -156,7 +160,11 @@ QVector sort_clips_subset(const Mda32& clips, const QVector& indice Mda32 CC, sigma; QTime timer; timer.start(); - pca_subsampled(CC, FF, sigma, clips_reshaped, opts.num_features, false, opts.max_samples); //should we subtract the mean? + if (opts.weighted_pca) { + wpca_subsampled(CC, FF, sigma, clips_reshaped, opts.num_features, false, opts.max_samples); //should we subtract the mean? + }else { + pca_subsampled(CC, FF, sigma, clips_reshaped, opts.num_features, false, opts.max_samples); + } qDebug().noquote() << QString("Time elapsed for pca (%1x%2x%3): %4 sec").arg(M).arg(T).arg(L0).arg(timer.elapsed() * 1.0 / 1000); } diff --git a/packages/mountainsort2/src/p_sort_clips.h b/packages/mountainsort2/src/p_sort_clips.h index ccde1495..48b69172 100644 --- a/packages/mountainsort2/src/p_sort_clips.h +++ b/packages/mountainsort2/src/p_sort_clips.h @@ -5,11 +5,12 @@ #include "mlcommon.h" struct Sort_clips_opts { - int num_features = 10; + int num_features = 8; double isocut_threshold = 1; double K_init = 200; bigint max_samples = 10000; //for subsampled pca bool remove_outliers = false; + int weighted_pca = 0; }; bool p_sort_clips(QString clips, QString firings_out, Sort_clips_opts opts); diff --git a/pcacomp b/pcacomp new file mode 100644 index 00000000..10ef0e38 --- /dev/null +++ b/pcacomp @@ -0,0 +1 @@ +g++ -c -pipe -fopenmp -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../../../mlcommon/include -I../../../mlcommon/include/cachemanager -I../../../mlcommon/include/componentmanager -I../../../mlcommon/include/mda -I../../../mountainsort/src/isosplit5 -I../../../mountainsort/src/utils -I/home/data/Qt/5.8/gcc_64/include -I/home/data/Qt/5.8/gcc_64/include/QtNetwork -I/home/data/Qt/5.8/gcc_64/include/QtCore -I../build -I/home/data/Qt/5.8/gcc_64/mkspecs/linux-g++ -o ../build/pca.o ../../../mountainsort/src/utils/pca.cpp diff --git a/prv-gui/build/moc_predefs.h b/prv-gui/build/moc_predefs.h new file mode 100644 index 00000000..eda0b1c3 --- /dev/null +++ b/prv-gui/build/moc_predefs.h @@ -0,0 +1,284 @@ +#define __DBL_MIN_EXP__ (-1021) +#define __cpp_attributes 200809 +#define __UINT_LEAST16_MAX__ 0xffff +#define __ATOMIC_ACQUIRE 2 +#define __FLT_MIN__ 1.17549435082228750797e-38F +#define __GCC_IEC_559_COMPLEX 2 +#define __UINT_LEAST8_TYPE__ unsigned char +#define __SIZEOF_FLOAT80__ 16 +#define __INTMAX_C(c) c ## L +#define __CHAR_BIT__ 8 +#define __UINT8_MAX__ 0xff +#define __WINT_MAX__ 0xffffffffU +#define __cpp_static_assert 200410 +#define __ORDER_LITTLE_ENDIAN__ 1234 +#define __SIZE_MAX__ 0xffffffffffffffffUL +#define __WCHAR_MAX__ 0x7fffffff +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) +#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 +#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +#define __GCC_IEC_559 2 +#define __FLT_EVAL_METHOD__ 0 +#define __unix__ 1 +#define __cpp_binary_literals 201304 +#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +#define __x86_64 1 +#define __cpp_variadic_templates 200704 +#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL +#define __SIG_ATOMIC_TYPE__ int +#define __DBL_MIN_10_EXP__ (-307) +#define __FINITE_MATH_ONLY__ 0 +#define __GNUC_PATCHLEVEL__ 1 +#define __UINT_FAST8_MAX__ 0xff +#define __has_include(STR) __has_include__(STR) +#define __DEC64_MAX_EXP__ 385 +#define __INT8_C(c) c +#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL +#define __SHRT_MAX__ 0x7fff +#define __LDBL_MAX__ 1.18973149535723176502e+4932L +#define __UINT_LEAST8_MAX__ 0xff +#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +#define __UINTMAX_TYPE__ long unsigned int +#define __linux 1 +#define __DEC32_EPSILON__ 1E-6DF +#define __OPTIMIZE__ 1 +#define __unix 1 +#define __UINT32_MAX__ 0xffffffffU +#define __GXX_EXPERIMENTAL_CXX0X__ 1 +#define __LDBL_MAX_EXP__ 16384 +#define __WINT_MIN__ 0U +#define __linux__ 1 +#define __SCHAR_MAX__ 0x7f +#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) +#define __INT64_C(c) c ## L +#define __DBL_DIG__ 15 +#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +#define __SIZEOF_INT__ 4 +#define __SIZEOF_POINTER__ 8 +#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +#define __USER_LABEL_PREFIX__ +#define __STDC_HOSTED__ 1 +#define __LDBL_HAS_INFINITY__ 1 +#define __FLT_EPSILON__ 1.19209289550781250000e-7F +#define __GXX_WEAK__ 1 +#define __LDBL_MIN__ 3.36210314311209350626e-4932L +#define __DEC32_MAX__ 9.999999E96DF +#define __INT32_MAX__ 0x7fffffff +#define __SIZEOF_LONG__ 8 +#define __STDC_IEC_559__ 1 +#define __STDC_ISO_10646__ 201605L +#define __UINT16_C(c) c +#define __DECIMAL_DIG__ 21 +#define __gnu_linux__ 1 +#define __has_include_next(STR) __has_include_next__(STR) +#define __LDBL_HAS_QUIET_NAN__ 1 +#define __GNUC__ 6 +#define __GXX_RTTI 1 +#define __MMX__ 1 +#define __cpp_delegating_constructors 200604 +#define __FLT_HAS_DENORM__ 1 +#define __SIZEOF_LONG_DOUBLE__ 16 +#define __BIGGEST_ALIGNMENT__ 16 +#define __STDC_UTF_16__ 1 +#define __DBL_MAX__ double(1.79769313486231570815e+308L) +#define __cpp_raw_strings 200710 +#define __INT_FAST32_MAX__ 0x7fffffffffffffffL +#define __DBL_HAS_INFINITY__ 1 +#define __INT64_MAX__ 0x7fffffffffffffffL +#define __DEC32_MIN_EXP__ (-94) +#define __INT_FAST16_TYPE__ long int +#define __LDBL_HAS_DENORM__ 1 +#define __cplusplus 201103L +#define __cpp_ref_qualifiers 200710 +#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL +#define __INT_LEAST32_MAX__ 0x7fffffff +#define __DEC32_MIN__ 1E-95DF +#define __DEPRECATED 1 +#define __cpp_rvalue_references 200610 +#define __DBL_MAX_EXP__ 1024 +#define __DEC128_EPSILON__ 1E-33DL +#define __SSE2_MATH__ 1 +#define __ATOMIC_HLE_RELEASE 131072 +#define __PTRDIFF_MAX__ 0x7fffffffffffffffL +#define __amd64 1 +#define __STDC_NO_THREADS__ 1 +#define __ATOMIC_HLE_ACQUIRE 65536 +#define __GNUG__ 6 +#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL +#define __SIZEOF_SIZE_T__ 8 +#define __cpp_rvalue_reference 200610 +#define __cpp_nsdmi 200809 +#define __SIZEOF_WINT_T__ 4 +#define __cpp_initializer_lists 200806 +#define __cpp_hex_float 201603 +#define __GCC_HAVE_DWARF2_CFI_ASM 1 +#define __GXX_ABI_VERSION 1010 +#define __FLT_MIN_EXP__ (-125) +#define __cpp_lambdas 200907 +#define __INT_FAST64_TYPE__ long int +#define __DBL_MIN__ double(2.22507385850720138309e-308L) +#define __LP64__ 1 +#define __DECIMAL_BID_FORMAT__ 1 +#define __DEC128_MIN__ 1E-6143DL +#define __REGISTER_PREFIX__ +#define __UINT16_MAX__ 0xffff +#define __DBL_HAS_DENORM__ 1 +#define __UINT8_TYPE__ unsigned char +#define __FLT_MANT_DIG__ 24 +#define __VERSION__ "6.3.1 20161221 (Red Hat 6.3.1-1)" +#define __UINT64_C(c) c ## UL +#define __cpp_unicode_characters 200704 +#define _STDC_PREDEF_H 1 +#define __GCC_ATOMIC_INT_LOCK_FREE 2 +#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __STDC_IEC_559_COMPLEX__ 1 +#define __INT32_C(c) c +#define __DEC64_EPSILON__ 1E-15DD +#define __ORDER_PDP_ENDIAN__ 3412 +#define __DEC128_MIN_EXP__ (-6142) +#define __INT_FAST32_TYPE__ long int +#define __UINT_LEAST16_TYPE__ short unsigned int +#define unix 1 +#define __INT16_MAX__ 0x7fff +#define __cpp_rtti 199711 +#define __SIZE_TYPE__ long unsigned int +#define __UINT64_MAX__ 0xffffffffffffffffUL +#define __INT8_TYPE__ signed char +#define __ELF__ 1 +#define __GCC_ASM_FLAG_OUTPUTS__ 1 +#define __FLT_RADIX__ 2 +#define __INT_LEAST16_TYPE__ short int +#define __LDBL_EPSILON__ 1.08420217248550443401e-19L +#define __UINTMAX_C(c) c ## UL +#define __GNUC_RH_RELEASE__ 1 +#define __GLIBCXX_BITSIZE_INT_N_0 128 +#define __k8 1 +#define __SIG_ATOMIC_MAX__ 0x7fffffff +#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +#define __SIZEOF_PTRDIFF_T__ 8 +#define __x86_64__ 1 +#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF +#define __INT_FAST16_MAX__ 0x7fffffffffffffffL +#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL +#define __UINT_LEAST64_TYPE__ long unsigned int +#define __FLT_HAS_QUIET_NAN__ 1 +#define __FLT_MAX_10_EXP__ 38 +#define __LONG_MAX__ 0x7fffffffffffffffL +#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL +#define __FLT_HAS_INFINITY__ 1 +#define __cpp_unicode_literals 200710 +#define __UINT_FAST16_TYPE__ long unsigned int +#define __DEC64_MAX__ 9.999999999999999E384DD +#define __CHAR16_TYPE__ short unsigned int +#define __PRAGMA_REDEFINE_EXTNAME 1 +#define __SEG_FS 1 +#define __INT_LEAST16_MAX__ 0x7fff +#define __DEC64_MANT_DIG__ 16 +#define __UINT_LEAST32_MAX__ 0xffffffffU +#define __SEG_GS 1 +#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +#define __INT_LEAST64_TYPE__ long int +#define __INT16_TYPE__ short int +#define __INT_LEAST8_TYPE__ signed char +#define __DEC32_MAX_EXP__ 97 +#define __INT_FAST8_MAX__ 0x7f +#define __INTPTR_MAX__ 0x7fffffffffffffffL +#define linux 1 +#define __cpp_range_based_for 200907 +#define __SSE2__ 1 +#define __EXCEPTIONS 1 +#define __LDBL_MANT_DIG__ 64 +#define __DBL_HAS_QUIET_NAN__ 1 +#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) +#define __code_model_small__ 1 +#define __k8__ 1 +#define __INTPTR_TYPE__ long int +#define __UINT16_TYPE__ short unsigned int +#define __WCHAR_TYPE__ int +#define __SIZEOF_FLOAT__ 4 +#define __UINTPTR_MAX__ 0xffffffffffffffffUL +#define __DEC64_MIN_EXP__ (-382) +#define __cpp_decltype 200707 +#define __INT_FAST64_MAX__ 0x7fffffffffffffffL +#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +#define __FLT_DIG__ 6 +#define __UINT_FAST64_TYPE__ long unsigned int +#define __INT_MAX__ 0x7fffffff +#define __amd64__ 1 +#define __INT64_TYPE__ long int +#define __FLT_MAX_EXP__ 128 +#define __ORDER_BIG_ENDIAN__ 4321 +#define __DBL_MANT_DIG__ 53 +#define __cpp_inheriting_constructors 200802 +#define __SIZEOF_FLOAT128__ 16 +#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL +#define __DEC64_MIN__ 1E-383DD +#define __WINT_TYPE__ unsigned int +#define __UINT_LEAST32_TYPE__ unsigned int +#define __SIZEOF_SHORT__ 2 +#define __SSE__ 1 +#define __LDBL_MIN_EXP__ (-16381) +#define __INT_LEAST8_MAX__ 0x7f +#define __SIZEOF_INT128__ 16 +#define __LDBL_MAX_10_EXP__ 4932 +#define __ATOMIC_RELAXED 0 +#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) +#define _LP64 1 +#define __UINT8_C(c) c +#define __INT_LEAST32_TYPE__ int +#define __SIZEOF_WCHAR_T__ 4 +#define __UINT64_TYPE__ long unsigned int +#define __INT_FAST8_TYPE__ signed char +#define __GNUC_STDC_INLINE__ 1 +#define __DBL_DECIMAL_DIG__ 17 +#define __STDC_UTF_32__ 1 +#define __FXSR__ 1 +#define __DEC_EVAL_METHOD__ 2 +#define __cpp_runtime_arrays 198712 +#define __UINT32_C(c) c ## U +#define __INTMAX_MAX__ 0x7fffffffffffffffL +#define __cpp_alias_templates 200704 +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F +#define __INT8_MAX__ 0x7f +#define __UINT_FAST32_TYPE__ long unsigned int +#define __CHAR32_TYPE__ unsigned int +#define __FLT_MAX__ 3.40282346638528859812e+38F +#define __cpp_constexpr 200704 +#define __INT32_TYPE__ int +#define __SIZEOF_DOUBLE__ 8 +#define __cpp_exceptions 199711 +#define __INTMAX_TYPE__ long int +#define __DEC128_MAX_EXP__ 6145 +#define __ATOMIC_CONSUME 1 +#define __GNUC_MINOR__ 3 +#define __GLIBCXX_TYPE_INT_N_0 __int128 +#define __UINTMAX_MAX__ 0xffffffffffffffffUL +#define __DEC32_MANT_DIG__ 7 +#define __DBL_MAX_10_EXP__ 308 +#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L +#define __INT16_C(c) c +#define __STDC__ 1 +#define __PTRDIFF_TYPE__ long int +#define __ATOMIC_SEQ_CST 5 +#define __UINT32_TYPE__ unsigned int +#define __UINTPTR_TYPE__ long unsigned int +#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD +#define __DEC128_MANT_DIG__ 34 +#define __LDBL_MIN_10_EXP__ (-4931) +#define __SSE_MATH__ 1 +#define __SIZEOF_LONG_LONG__ 8 +#define __cpp_user_defined_literals 200809 +#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +#define __LDBL_DIG__ 18 +#define __FLT_DECIMAL_DIG__ 9 +#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL +#define __FLT_MIN_10_EXP__ (-37) +#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +#define __UINT_FAST8_TYPE__ unsigned char +#define _GNU_SOURCE 1 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_RELEASE 3