Releases: SeedlingsBabylab/idslabel
v1.0.0
usage
this has changed since the last release, PLEASE READ
- create a folder called idslabel-v1
- place the idslabel executable you download from this page into that folder.
- if you're running idslabel as a script from the command line, the folder it's already in is good enough, no need for a new folder
- copy your lab's config.json file into that folder
- if you're running idslabel as a script from the command line, copy the config.json into the folder that contains the idslabel.py file. DO NOT separate the idslabel.py file from the other .py files in this folder. All the .py files need to be in this folder.
- make sure the config.json has 092616 in the filename. This is the date the config.json was made. It's the latest thus far.
- create another folder and call it idslabel_blocks.
- this will be your clips directory. DO NOT move or delete anything in this folder. This is where idslabel will download blocks and load them from. It will delete blocks when you're done with them, so no need to worry about filling up hard drive space. Let idslabel deal with everything in this folder.
- If you're using the executable, double click it to start the program.
- if you're running the script from the command line, run:
$: python idslabel.py
from the command line, within the idslabel directory which contains all the source code.
- if you're running the script from the command line, run:
- Type your name into the CODER_NAME box and press enter.
- it will ask you to set the clips directory.
- navigate to the idslabel_blocks folder you originally created in step 4, and choose that
- idslabel will load the config.json file that you placed alongside the executable in step 3.
- if you've never used this name before it'll say that the server doesn't recognize this user as belonging to that lab, and that you should add it by going to File -> Add User to Server
- do that
- You should be ready to go. The rest of the usage is the same as before. There are a bunch of new features though, listed below.
note
The server is now hosted in Merced, California, so it might take considerably longer for blocks to reach you when you request them (and basically every other network operation in idslabel). Here in Durham, NC it takes 6-10 seconds to get a group of 3 blocks.
new features
- delete block submission (on Get Lab Info page)
- You can pick a specific instance of a specific block submission to delete from the server.
- delete all of a specific user's blocks (on Get Lab Info page)
- This will delete all the submissions in the database that were submitted by that specific user.
- delete all the blocks submitted by the whole lab (on Get Lab Info page)
- This will delete all the submissions in the database that were submitted by any member of the currently logged-in lab (i.e. currently loaded config.json)
- delete a user's account (on Get Lab Info page)
- This will delete the user and all their submitted blocks from the server. The username will be removed from membership with the lab. It can always be added again with File -> Add User to Server, but the deleted blocks cannot be recovered.
- choose specific block to pull down (on Get Blocks page)
- File -> Choose Blocks from Server
- Double click on the blocks you want in order to select them, then click "Get Blocks"
- File -> Choose Blocks from Server
- view all the instances of submissions of a single block
- a user might have submitted more than one instance of labels of a single block. Each of these attempts is individually viewable in the Get Lab Info page.
- look for config.json in the current working directory
- if there's a single config.json in the same directory/folder as the executable, then it will use this config file and not ask you to specify it
- you can now also switch your config.json by loading a new one from the File menu. ("Load config.json File)
- get more specific information about a user from the Get Lab Info page by double clicking on a username, for example:
- total # blocks submitted
-
training blocks submitted
-
reliability blocks submitted
v0.0.9
This release is mostly identical to v0.0.8, with some additions.
Note: the Mac standalone app requires at least OS X 10.10
new features
- Reliability blocks
- The "Get Reliability Blocks" button retrieves "reliability" blocks from the server
- you can specify how many blocks to retrieve by entering a different number in the "#blocks" field (default is 3, remember to press "Enter" after changing this number)
- Reliability blocks that you've submitted are available in the "Get Lab Info" page (from the File menu)
- The "Save Reliability Blocks" button will save all the reliability blocks that have been submitted by your lab (i.e. all the users)
- Each user will end up labeling every reliability block (100 blocks in total).
- The "Get Reliability Blocks" button retrieves "reliability" blocks from the server
- Classify personal info before submitting blocks
- the program will prompt you to make a decision about whether there was personal information in the block before letting you submit it. Even if you click the "don't share" checkbox, it will still ask you about your selection to make sure it's what you intended
v0.0.8
Basically everything in the release notes from v0.0.7 still apply. Sending training blocks back hasn't been implemented though, so you'll need to label them and submit them back to get rid of them for now.
Changes from v0.0.7:
- server only has training blocks
- "Get Blocks" won't be able to return anything (since the old files have been removed)
- use File -> Get Training Blocks
- non-FAN/MAN tiers are still greyed out even when selected
- next block is loaded after last one is submitted
- there's only 1 way to submit blocks now (Submit + Save). The shortcut is shift+enter
- File -> Get Lab Info, has an extra button, "Save Training Blocks". This will ask the server for the lab's responses to training blocks. This includes every user in the lab, and every training block they've submitted.
- The original "Save" buttons on this page will not return training blocks. They only deal with regular blocks.
- program won't allow you to add a gender label if the CDS is labeled junk.
- the label keys are now c/a/j (CDS, ADS, JUNK) and m/f/u (MALE, FEMALE, UNCLEAR), all lowercase.
- audio and clan file text at the bottom left corner is removed (artifact from old versions of the program)
- added block duration to the clip info text
v0.0.7
Note: the OS X standalone app requires OS X 10.10 or greater
workflow
- You launch the idslabel executable (double click the icon, or launch it from the command line)
- You type your name into the CODER_NAME box and press enter
- Something should pop up asking you to set the path to the blocks directory. This is the directory where the conversation blocks will be downloaded.
- This should be a dedicated path that you always use (do not change it each time you run the application). When you exit the application and start it again, it'll look through the blocks already sitting there from previous sessions (i.e. unfinished blocks that you haven't submitted with classifications back to the server; submitted blocks are automatically deleted) and loads them again into the application so that you can continue to work on them.
- Do not delete the contents in that blocks directory.
- If you want to get rid of things that are sitting there, label them within the running idslabel application and submit those classifications. The application will delete them after you submit the block.
- Or you can press the "Send Blocks Back" button and select which ones you want to send back without labeling them.
- The application will then ask you to choose a config.json file. The value in the "lab-key" field is your lab's unique identifier.
- If you're running this for the first time, the next thing that should pop up is a message saying: "User: "xyz" doesn't exist on the server".
- In the menu, go to File -> Add User to Server.
- This will register that username as being a member of your lab. Next time when you type that name into the CODER_NAME box, the server will recognize it as being a registered name
- Next, press the "Get Blocks" button
- this will ask the server to send X number of blocks to your computer
- there are only 6 CLAN files sitting on the server right now, and it picks blocks based on whether or not the user already has a block checked out from that specific CLAN file. So, if you already have a block from 6 different clan files, the server won't be able to send you any more until you submit at least 1 of those blocks back with labels (or use the "Send Blocks Back" button), and unlock that CLAN file from being a source of blocks.
- There are 5146 blocks in total across these 6 CLAN files, so this should be enough to test things out for the time being. When we upload the whole dataset to the server, you'll be able to check out 20-50 (or more) blocks at a time.
- You can set how many blocks the application will request from the server in the box labeled "# blocks". It should be set to 3 by default. If you change the number in the box, you need to press enter to make the new number take effect.
- Now, there should be a list of blocks sitting in the small box labeled "Load Block"
- Blocks that were reloaded from previous sessions will have "old" next to them. Blocks you received in this current session will have "new" next to them
- Double click one of these blocks to load it.
- You can now select clips within this block to play and decide what they should be labeled as.
- You need to label every FAN/MAN clip for both CDS and gender.
- There's a small window that should pop up when starting the idslabel application which lists all the shortcuts. The keys for selecting classifications are listed here. If you close this window, you can get it back by going to the menu (Help -> Show Shortcuts)
- You can only submit blocks that have every FAN/MAN clip within them labeled. There are a few different ways to submit blocks:
- The "Submit Block" button. (shortcut -> shift + enter)
- This will submit your classifications to the server, delete the block's data from the blocks directory, and remove it from the "Load Block" list.
- The "Submit + Save" button
- This will ask you to designate a csv file to save classifications to. Every time you press "Submit + Save", it will append the data of the block it's about to submit to the csv file. It will then delete that block's data from the blocks directory, remove it from the "Load Block" list, and send the data to the server. This file will be saved in csv format, so remember to put ".csv" at the end of the file you save it to.
- The "Submit All Blocks" button
- This will submit all completed (i.e. all FAN/MAN clips labeled) blocks to the server. This does not save a local csv copy before submitting. You can get classification data back from the server using the "Lab Info" page, described below.
- The "Submit Block" button. (shortcut -> shift + enter)
getting info from the server
- You can query the server to show you all the members of your lab, which blocks they're currently in possession of, which blocks they've successfully submitted back to the server, and all the data that's been submitted to the server
- This is in File -> Get Lab Info
- This "Lab Info" page requires the config.json to already be loaded and the blocks directory set, so you need to enter your coder name into the CODER_NAME box and press enter first.
- In the Lab Info page, you can select the name of a member of your lab, click on one of the entries in the "Finished Blocks" column, and browse through to see the labels that were submitted for that block.
- You can save that block's labels to a csv file by pressing the "Save This Block" button. This will save the block that you're currently looking at in the Lab Info page (the one that's selected in the "Finished Blocks" list). This will be saved in csv format, so remember to put ".csv" at the end of the file you save it to.
- You can save all the blocks that were submitted by members of your lab by pressing the "Save Lab Blocks" button. This will be saved in csv format, so remember to put ".csv" at the end of the file you save it to.
- You can save all the blocks that have been submitted to the server by every lab by pressing the "Save All Blocks" button. This will be saved in csv format, so remember to put ".csv" at the end of the file you save it to.
v0.0.6
This is a minor update to the previous release. The release notes that were posted with v0.0.5 all still apply, except for the condition that every single clip within a block be labeled before being submitted. Now, you're only required to classify the MAN and FAN tier clips (though you must label all MAN/FAN tiers before submitting).
v0.0.5
This version depends entirely on idsserver.
new workflow:
- You launch the idslabel executable (double click the icon, or launch it from the command line)
- You type your name into the CODER_NAME box and press enter
- Something should pop up asking you to set the path to the blocks directory. This is the directory where the conversation blocks will be downloaded.
- This should be a dedicated path that you always use (try not to change it each time you run the application). When you exit the application and start it again, it'll look through the blocks already sitting there from previous sessions (unfinished, haven't submitted classifications back to the server, after submission they're deleted) and loads them again into the application so that you can continue to work on them.
- Do not delete the contents in that blocks directory. If you want to get rid of things that are sitting there, label them within the running idslabel application and submit those classifications. The application will delete them after you submit the block.
- The application will then ask you to choose a config.json file. The value in the "lab-key" field is your lab's unique identifier.
- If you're running this for the first time, the next thing that should pop up is a message saying: "User: "xyz" doesn't exist on the server".
- In the menu, go to File -> Add User to Server.
- This will register that username as being a member of your lab. Next time when you type that name into the CODER_NAME box, the server will recognize it as being a registered name
- Next, press the "Get Blocks" button
- this will ask the server to send X number of blocks to your computer
- there are only 6 CLAN files sitting on the server right now, and it picks blocks based on whether or not the user already has a block checked out from that specific CLAN file. So, if you already have a block from 6 different clan files, the server won't be able to send you any more until you submit at least 1 of those blocks back with labels, and unlock that CLAN file from being a source of blocks.
- There are 5146 blocks in total across these 6 CLAN files, so this should be enough to test things out for the time being. When we upload the whole dataset to the server, you'll be able to check out 20-50 (or more) blocks at a time.
- You can set how many blocks the application will request from the server in the box labeled "# blocks". It should be set to 3 by default.
- Now, there should be a list of blocks sitting in the small box labeled "Load Block"
- Blocks that were reloaded from previous sessions will have "old" next to them. Blocks you received in this current session will have "new" next to them
- Double click one of these blocks to load it.
- You can now select clips within this block to play and decide what they should be labeled as.
- There's a small window that should pop up upon starting the idslabel application that lists all the shortcuts. The keys for selecting classifications are listed here. If you close this window, you can get it back by going to the menu (Help -> Show Shortcuts)
- You're only able to submit blocks that have every clip within them labeled.
- Once you label every clip within a given block press the "Submit Labels to Server" button.
- This will submit your classifications to the server, delete the block's data from the blocks directory, and remove it from the "Load Block" list.
- Once you label every clip within a given block press the "Submit Labels to Server" button.
- You can query the server to show you all the members of your lab and which blocks they're currently in possession of, and which blocks they've successfully submitted back to the server. This is in File -> Get Lab Info
v0.0.4
Changelog:
- Added ability to load existing classification output and pick up where you left off
- File -> Load Saved Classifications
- App now sends HTTP request to Github to check if the current version is the most recent one available
- Fixed issues with loading previous blocks
- Window containing the shortcut keys pops up at application start
- Added info bar at the bottom to show audio file/clips directory/output file.
- Program makes sure a coder name is given before allowing any classifications to be submitted
- Added Save-As in addition to the already available Save. (so you can save to a brand new csv file without overwriting the current one)
- Command-Shift-S (mac)
- Control-Shift-S (linux/windows)
v0.0.3
This release contains a number of new features and one critical bug fix.
New features:
- User specifiable path to slice blocks into
- Specified at the beginning of a session
- You can save the classifications csv file at any point throughout running the program.
- This means that you need to specify where that file is before starting to label. A notification window will pop up asking you to select a path to the csv file at the very beginning.
- From then on, command+s (on Mac) and ctrl+s (on Linux/Windows) will save your progress.
Bug Fix:
- there was a problem with how the timestamps were being parsed, leading the program to crash
There's still only an OS X standalone version available, but a Windows version is in the works. The code itself should be able to run on Linux/Mac/Windows though. If you download the code and try to run it from the command line, make sure there's a static build of the ffmpeg binary in the same directory as the idslabel.py file.
Linux Build (choose 64 bit version):
http://johnvansickle.com/ffmpeg/
Windows Builds:
https://ffmpeg.zeranoe.com/builds/
Mac Builds:
http://evermeet.cx/ffmpeg/
v0.0.2 pre-alpha
This is a new release of the Mac standalone version of IDSLabel.
Changes include:
- 6 classification labels
- CDS
- ADS
- MULTIPLE_ADDR
- CHILD_NOISE
- REGISTER_SWITCH
- JUNK
- Ability to specify that a block not be shared
- Only load blocks that have at least 1 Fan or MAN tier. This can be switched off, though default is on.
There are a few known bugs at the moment, such as block ordering when trying to load the previous block in the context of keeping track of whether or not blocks with no FAN/MAN have been loaded. This will be fixed in future releases.
To get the app to run, you need to control+right-click and press "Open", otherwise OS X will tell you it doesn't recognize this app's author and you can only run apps that have been downloaded from the App Store. Another option is to turn this safety check off all together: System Preferences -> Security and Privacy -> (General Tab) -> Allow apps downloaded from -> Anywhere
If you run into any bugs or issues, please file them on the project's issue tracker here on github.
There's more info on usage in the project's readme
v0.0.1 pre-alpha
This is a test of the standalone version of the app. Only the Mac version is supported right now, but Windows builds are soon to come.
Please file bugs in this project's issues section