Hi
user
Admin Login:
Username:
Password:
Name:
QNDArray: A Numpy Clone for C++/Qt
--client
enthought
--show
scipy_2012
--room Ballroom_CDE 1173 --force
Next: 11 Julia: A Fast Dynamic Language for Technical Computing
show more...
Marks
Author(s):
Glen W. Mabey
Location
Ballroom (CDE)
Date
jul Wed 18
Days Raw Files
Start
11:30
First Raw Start
11:29
Duration
20:00
Offset
0:00:40
End
11:50
Last Raw End
11:52
Chapters
00:00
Total cuts_time
20 min.
raw-playlist
raw-mp4-playlist
encoded-files-playlist
host
archive
public
tweet
mp4
svg
png
assets
release.pdf
QNDArray_A_Numpy_Clone_for_CQt.json
logs
Admin:
episode
episode list
cut list
raw files day
marks day
marks day
image_files
State:
---------
borked
edit
encode
push to queue
post
richard
review 1
email
review 2
make public
tweet
to-miror
conf
done
Locked:
clear this to unlock
Locked by:
user/process that locked.
Start:
initially scheduled time from master, adjusted to match reality
Duration:
length in hh:mm:ss
Name:
Video Title (shows in video search results)
Emails:
email(s) of the presenter(s)
Released:
has someone authorised pubication
Unknown
Yes
No
Normalise:
Channelcopy:
m=mono, 01=copy left to right, 10=right to left, 00=ignore.
Thumbnail:
filename.png
Description:
markdown
While Numpy/Scipy is an attractive implementation platform for many algorithms, in some cases C++ is mandated by a customer. However, a foundation of numpy's behavior is the notion of reference-counted instances, and implementing an efficient, cross-platform mechanism for reference counting is no trivial prerequisite. The reference counting mechanisms already implemented in the Qt C++ toolkit provide a cross-platform foundation upon which a numpy-like array class can be built. In this talk one such implementation is discussed, QNDArray. In fact, by mimicking the numpy behaviors, the job of implementing QNDArray became much easier, as the task of "defining the behavior" became "adopting the behavior," to include function names. In particular, the following aspects of the implementation were found to be tricky and deserve discussion in this presentation: * slicing multidimensional arrays given the limitations of operator[] in C++, * const * partial specialization * implicit vs. explicit data sharing in Qt QNDArray has been deployed in scientific research applications and currently has the following features: * bit-packed boolean arrays * nascent masked array support * unit test suite that validates QNDArray behavior against numpy behavior * bounds checking with Q_ASSERT() (becomes a no-op in release mode) * memmap()ed arrays via QFile::map() * easily integrated as a QVariant value, leading to a natural mapping from QVariantMap to Python dict. * float16 implementation including in-place compare The author has approval from his management to submit the source code for QNDArray to the Qt Project and plans to have it freely available for download via http://qt.gitorious.org/ before the SciPy conference begins.
Comment:
production notes
<?xml version='1.0' encoding='UTF-8'?> <ns0:entry xmlns:ns0="http://www.w3.org/2005/Atom"><ns0:category scheme="http://schemas.google.com/g/2005#kind" term="http://gdata.youtube.com/schemas/2007#video" /><ns0:category label="Education" scheme="http://gdata.youtube.com/schemas/2007/categories.cat" term="Education" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="enthought" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="scipy_2012" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="General" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="GlenW.Mabey" /><ns0:id>http://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk</ns0:id><ns0:author><ns0:name>NextDayVideo</ns0:name><ns0:uri>https://gdata.youtube.com/feeds/api/users/NextDayVideo</ns0:uri></ns0:author><ns0:content type="text">Glen W. Mabey</ns0:content><ns0:updated>2012-08-02T22:08:47.000Z</ns0:updated><ns0:published>2012-08-02T22:08:47.000Z</ns0:published><ns1:comments xmlns:ns1="http://schemas.google.com/g/2005"><ns1:feedLink countHint="0" href="https://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk/comments?client=ndv" rel="http://gdata.youtube.com/schemas/2007#comments" /></ns1:comments><ns1:group xmlns:ns1="http://search.yahoo.com/mrss/"><ns1:keywords>enthought, scipy_2012, General, GlenW.Mabey</ns1:keywords><ns1:description type="plain">Glen W. Mabey</ns1:description><ns1:title type="plain">QNDArray: A Numpy Clone for C++/Qt</ns1:title><ns2:duration seconds="0" xmlns:ns2="http://gdata.youtube.com/schemas/2007" /><ns1:content duration="0" expression="full" isDefault="true" medium="video" type="application/x-shockwave-flash" url="https://www.youtube.com/v/PLqIRtpUHGk?version=3&f=user_uploads&c=ndv&d=Aarb2r5skm2_yNTuKEinXdAO88HsQjpE1a8d1GxQnGDm&app=youtube_gdata" ns2:format="5" xmlns:ns2="http://gdata.youtube.com/schemas/2007" /><ns1:thumbnail height="360" time="00:00:00" url="http://i.ytimg.com/vi/PLqIRtpUHGk/0.jpg" width="480" /><ns1:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/PLqIRtpUHGk/1.jpg" width="120" /><ns1:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/PLqIRtpUHGk/2.jpg" width="120" /><ns1:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/PLqIRtpUHGk/3.jpg" width="120" /><ns1:category label="Education" scheme="http://gdata.youtube.com/schemas/2007/categories.cat">Education</ns1:category><ns1:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">enthought</ns1:category><ns1:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">scipy_2012</ns1:category><ns1:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">General</ns1:category><ns1:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">GlenW.Mabey</ns1:category><ns1:player url="https://www.youtube.com/watch?v=PLqIRtpUHGk&feature=youtube_gdata_player" /></ns1:group><ns0:title type="text">QNDArray: A Numpy Clone for C++/Qt</ns0:title><ns1:control xmlns:ns1="http://purl.org/atom/app#"><ns1:draft>yes</ns1:draft><ns2:state name="processing" xmlns:ns2="http://gdata.youtube.com/schemas/2007" /></ns1:control><ns0:link href="https://www.youtube.com/watch?v=PLqIRtpUHGk&feature=youtube_gdata" rel="alternate" type="text/html" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk/responses?client=ndv" rel="http://gdata.youtube.com/schemas/2007#video.responses" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk/ratings?client=ndv" rel="http://gdata.youtube.com/schemas/2007#video.ratings" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk/complaints?client=ndv" rel="http://gdata.youtube.com/schemas/2007#video.complaints" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/PLqIRtpUHGk/related?client=ndv" rel="http://gdata.youtube.com/schemas/2007#video.related" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/users/nextdayvideo/uploads/PLqIRtpUHGk?client=ndv" rel="self" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/users/nextdayvideo/uploads/PLqIRtpUHGk?client=ndv" rel="edit" type="application/atom+xml" /></ns0:entry>
2012-07-18/09_29_20.dv
Apply:
11:29:20 - 11:32:18 ( 00:02:58 )
S:
11:29:20 -
E:
11:32:18
D:
00:02:58
show more...
vlc ~/Videos/veyepar/enthought/scipy_2012/dv/Ballroom_CDE/2012-07-18/09_29_20.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:29:20
seconds: 0.0
Wall: 11:29:20
Duration
00:02:58
11:32:18
seconds: 0.0
Wall: 11:29:20
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2012-07-18/09_32_19.dv
Apply:
11:32:19 - 11:52:58 ( 00:20:39 )
S:
11:32:19 -
E:
11:52:58
D:
00:20:39
show more...
vlc ~/Videos/veyepar/enthought/scipy_2012/dv/Ballroom_CDE/2012-07-18/09_32_19.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:32:19
seconds: 0.0
Wall: 11:32:19
Duration
00:20:39
11:52:58
seconds: 0.0
Wall: 11:32:19
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
Rf filename:
root is .../show/dv/location/, example: 2013-03-13/13:13:30.dv
Sequence:
get this:
check and save to add this
2012-07-18/09_29_20.dv
2012-07-18/09_32_19.dv
Veyepar
Video Eyeball Processor and Review