11 #ifndef PRIMATOLOGIST_UTILITY_VOLUME_H
12 #define PRIMATOLOGIST_UTILITY_VOLUME_H
20 #include <aims/vector/vector.h>
21 #include <cartodata/volume/volume.h>
22 #include <cartobase/type/datatypetraits.h>
28 carto::VolumeRef<T>
empty();
31 carto::VolumeRef<T>
select(
const carto::VolumeRef<T> & in,
int t );
33 template <
typename P,
typename T>
34 bool inside(
const P & p,
const carto::VolumeRef<T> & input );
36 template <
typename P,
typename T>
40 bool inside(
const Point4di & p,
const carto::VolumeRef<T> & input );
43 bool insideAllocated(
const Point4di & p,
const carto::VolumeRef<T> & input );
45 template <
typename T,
typename M>
47 clip( carto::VolumeRef<T> & in,
50 const carto::VolumeRef<M> & mask );
54 clip( carto::VolumeRef<T> & in,
58 template <
typename T,
typename M>
60 newClip( carto::VolumeRef<T> & in,
63 const carto::VolumeRef<M> & mask );
67 newClip( carto::VolumeRef<T> & in,
71 template <
typename T1,
typename T2,
typename M>
74 const carto::VolumeRef<T2> & two,
75 const carto::VolumeRef<M> & mask );
77 template <
typename T1,
typename T2>
80 const carto::VolumeRef<T2> & two );
82 template <
typename T,
typename M>
83 typename carto::DataTypeTraits<T>::LongType
84 sum(
const carto::VolumeRef<T> & in,
85 const carto::VolumeRef<M> & mask );
float min(float x, float y)
float max(float x, float y)
carto::DataTypeTraits< T >::LongType sum(const carto::VolumeRef< T > &in, const carto::VolumeRef< M > &mask)
uintmax_t sumLogicalDiff(const carto::VolumeRef< T1 > &one, const carto::VolumeRef< T2 > &two, const carto::VolumeRef< M > &mask)
bool insideAllocated(const P &p, const carto::VolumeRef< T > &input)
carto::VolumeRef< T > empty()
carto::VolumeRef< T > select(const carto::VolumeRef< T > &in, int t)
carto::VolumeRef< T > newClip(carto::VolumeRef< T > &in, const typename type::identity< T >::type &min, const typename type::identity< T >::type &max, const carto::VolumeRef< M > &mask)
bool inside(const P &p, const carto::VolumeRef< T > &input)
carto::VolumeRef< T > & clip(carto::VolumeRef< T > &in, const typename type::identity< T >::type &min, const typename type::identity< T >::type &max, const carto::VolumeRef< M > &mask)