{
  "id": 48347,
  "title": "Annotation strategy 1: Hand-outlining using GIMP",
  "url": "/competitions/data-science-bowl-2018/discussion/48347",
  "author_name": "",
  "post_date": "2018-01-26T14:05:38.675116600Z",
  "votes": 15,
  "comment_count": 7,
  "views": 0,
  "content": "<p>Hi everyone!</p>\n\n<p>It took us a while to work out a reasonably efficient scheme for annotation so we thought we would share. Strategy 2 was semi-automated; Allen Goodman is going to share the tool for that shortly.</p>\n\n<p>I do not know what is typical for these competitions, but if you are doing annotations, please consider tracking the images and their permissions so that others can make use of them after the challenge is over (for example, all the images we annotated for this challenge are licensed CC0 - public domain, per our <a href=\"https://www.kaggle.com/c/data-science-bowl-2018/discussion/47864\">thread</a>).</p>\n\n<p>Note that these are very rough instructions we wrote for internal use so please don’t expect them to be exhaustively nicely documented. The thing missing from below is the last step: how to turn outlines into masks of the format used in the challenge. More info on that soon.</p>\n\n<p><strong>P.s. as far as I know we are intentionally withholding information about the split between strategies 1 &amp; 2 for Stage 1 &amp; 2 test sets. So please do not ask!</strong>  </p>\n\n<hr>\n\n<p>SETUP of GIMP</p>\n\n<ul>\n<li>Open GIMP</li>\n<li>If the Toolbox is not shown, go to Windows &gt; Toolbox</li>\n<li>If Tool Options are not shown, go to Windows &gt; Dockable Dialogs &gt;\nTool Options</li>\n<li>If Layers are not shown, go to Windows &gt; Dockable Dialogs &gt; Layers </li>\n<li>If Undo History is not shown, go to Windows &gt; Dockable Dialogs &gt; Undo\nHistory Choose the pencil tool in the Toolbox</li>\n<li>Set its color to red in the Toolbox (See the two largish rectangles with a curvy arrow pointing to them both? Click the topmost rectangle (foreground) and type in HTML notation = ff0000 to get red, then click OK)</li>\n<li>Set the background color to blue by selecting the bottommost rectangle (background) and type in HTML notation = 0000ff to get\n   blue, then click OK)</li>\n<li>Set the pencil size to 1 pixel in the Tool Options</li>\n<li>Choose the Eraser tool and set it to “Dynamics off”, and “Hard edge”</li>\n<li>To save the current GIMP settings, go to \"Edit\" -&gt; \"Preferences\" menu. In the \"Preferences\" window, click on \"Tool Options\" in the left hand sidebar. Then click on \"Save Tool Options Now\" button. At this point, the current GIMP settings will have been changed permanently, and the next time you run GIMP, you will see the same current settings.</li>\n</ul>\n\n<p>FOR EACH IMAGE</p>\n\n<ul>\n<li>Open a new image (File &gt; Open): be sure to choose one that does NOT already have a .xcf companion file.</li>\n<li>Go to Image &gt; Mode &gt; RGB to change it to colors (unless it’s already RGB!)</li>\n<li>Create a new layer for outlines using menu bar Layer &gt; New Layer. Call it “outlines” and leave settings at default (e.g., “Transparency” for fill type)</li>\n<li>That layer will now be selected: it’s highlighted in the Layers window and must remain so to do your work.</li>\n<li>Making sure to remain in the “outlines” layer, and making sure the pencil tool is selected, draw red outlines around nuclei! Well, actually just inside nuclei: you want the outline you draw to be included in the final object, not outside the final object.\n-- If you are too far inside the boundary, just continue pushing the pixels closer to the edge: it’s ok if the outlines are a few pixels thick (eventually each outline will be filled in anyway). EXCEPTION: if you are near the junction between two cells you should erase the extra pixels because the system won’t know where to put the real boundary. The pipeline seems to do a pretty decent job of putting the dividing line towards the middle, but I’m not 100% sure about this.\n-- If you go outside the boundaries, just hit Undo (yellow arrow in the Undo History panel) or Ctrl-Z if a keyboard is handy. If you only notice it later, you can use the Eraser tool which is found somewhat nearby the pencil tool.</li>\n<li>Click at least one blue pixel somewhere in the background of the image (where no nuclei exist), especially around the edges of the image if some background is \"trapped\" at the edge between two actual nuclei. To choose blue instead of red, click the arrow in between the largish rectangles in the Toolbox window so blue becomes foreground. Don’t forget to switch back! In cases where there is a small chunk of background in between the junctions of several nuclei, you also need to give it at least one blue pixel so post-processing does not think it’s a small nucleus. EXCEPTION: if there is just a single pixel of background in between two nuclei, don’t worry about it; the pipeline will exclude these based on being one pixel in size plus having most of their borders touching other nuclei.</li>\n<li>Save your work frequently! The first time you do File &gt; Save it will offer to save it with the same name, but using a .xcf extension. This is what you want. Save it to your desktop folder of images. You can stop and start anytime using that file.</li>\n</ul>\n\n<p>EXPORTING FINAL RESULT</p>\n\n<ul>\n<li>Save the image first using File &gt; Save as described above. This is critical.</li>\n<li>Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible.</li>\n<li>Then File &gt; Export As and choose PNG. The default values are OK. Add “outlines” to the filename so it doesn’t overwrite the original image.</li>\n<li>Close the .xcf image. Important: it will ask if you want to save changes. You want to DISCARD changes because you have the background layer hidden!</li>\n</ul>\n\n<p>CHECKING FOR ERRORS</p>\n\n<ul>\n<li>Run the “outlines” version of each image through the CellProfiler pipeline we made (Make_objects_from_outlinesNN.cppipe. It will save some images to your output folder that you can examine. Look for places in the image that might be:\n--  missing blue dots such that background is detected as a nucleus, especially at image edges and inside clumps of nuclei\n--  not-completely-closed outlines, which will appear as rings instead of whole nuclei\n-- Too-thick border between or even right nearby adjacent nuclei that cause leakage of the border</li>\n<li>Correct errors as needed in the .xcf file and when finished, re-export the outlines layer as a PNG, as before.</li>\n</ul>\n\n<p>SETUP of the tablet (if needed)</p>\n\n<ul>\n<li>If the icons/menus on a Surface tablet are too small, go to Windows menu, settings, resolution, change the size of text apps to ~200%</li>\n<li>On a Surface tablet, go to Windows menu, settings, pen: change “Ignore touch input when I’m using my pen” to On</li>\n</ul>",
  "messages": [
    {
      "id": "274380",
      "postDate": "01/26/2018 14:05:38",
      "content": "<p>Hi everyone!</p>\n\n<p>It took us a while to work out a reasonably efficient scheme for annotation so we thought we would share. Strategy 2 was semi-automated; Allen Goodman is going to share the tool for that shortly.</p>\n\n<p>I do not know what is typical for these competitions, but if you are doing annotations, please consider tracking the images and their permissions so that others can make use of them after the challenge is over (for example, all the images we annotated for this challenge are licensed CC0 - public domain, per our <a href=\"https://www.kaggle.com/c/data-science-bowl-2018/discussion/47864\">thread</a>).</p>\n\n<p>Note that these are very rough instructions we wrote for internal use so please don’t expect them to be exhaustively nicely documented. The thing missing from below is the last step: how to turn outlines into masks of the format used in the challenge. More info on that soon.</p>\n\n<p><strong>P.s. as far as I know we are intentionally withholding information about the split between strategies 1 &amp; 2 for Stage 1 &amp; 2 test sets. So please do not ask!</strong>  </p>\n\n<hr>\n\n<p>SETUP of GIMP</p>\n\n<ul>\n<li>Open GIMP</li>\n<li>If the Toolbox is not shown, go to Windows &gt; Toolbox</li>\n<li>If Tool Options are not shown, go to Windows &gt; Dockable Dialogs &gt;\nTool Options</li>\n<li>If Layers are not shown, go to Windows &gt; Dockable Dialogs &gt; Layers </li>\n<li>If Undo History is not shown, go to Windows &gt; Dockable Dialogs &gt; Undo\nHistory Choose the pencil tool in the Toolbox</li>\n<li>Set its color to red in the Toolbox (See the two largish rectangles with a curvy arrow pointing to them both? Click the topmost rectangle (foreground) and type in HTML notation = ff0000 to get red, then click OK)</li>\n<li>Set the background color to blue by selecting the bottommost rectangle (background) and type in HTML notation = 0000ff to get\n   blue, then click OK)</li>\n<li>Set the pencil size to 1 pixel in the Tool Options</li>\n<li>Choose the Eraser tool and set it to “Dynamics off”, and “Hard edge”</li>\n<li>To save the current GIMP settings, go to \"Edit\" -&gt; \"Preferences\" menu. In the \"Preferences\" window, click on \"Tool Options\" in the left hand sidebar. Then click on \"Save Tool Options Now\" button. At this point, the current GIMP settings will have been changed permanently, and the next time you run GIMP, you will see the same current settings.</li>\n</ul>\n\n<p>FOR EACH IMAGE</p>\n\n<ul>\n<li>Open a new image (File &gt; Open): be sure to choose one that does NOT already have a .xcf companion file.</li>\n<li>Go to Image &gt; Mode &gt; RGB to change it to colors (unless it’s already RGB!)</li>\n<li>Create a new layer for outlines using menu bar Layer &gt; New Layer. Call it “outlines” and leave settings at default (e.g., “Transparency” for fill type)</li>\n<li>That layer will now be selected: it’s highlighted in the Layers window and must remain so to do your work.</li>\n<li>Making sure to remain in the “outlines” layer, and making sure the pencil tool is selected, draw red outlines around nuclei! Well, actually just inside nuclei: you want the outline you draw to be included in the final object, not outside the final object.\n-- If you are too far inside the boundary, just continue pushing the pixels closer to the edge: it’s ok if the outlines are a few pixels thick (eventually each outline will be filled in anyway). EXCEPTION: if you are near the junction between two cells you should erase the extra pixels because the system won’t know where to put the real boundary. The pipeline seems to do a pretty decent job of putting the dividing line towards the middle, but I’m not 100% sure about this.\n-- If you go outside the boundaries, just hit Undo (yellow arrow in the Undo History panel) or Ctrl-Z if a keyboard is handy. If you only notice it later, you can use the Eraser tool which is found somewhat nearby the pencil tool.</li>\n<li>Click at least one blue pixel somewhere in the background of the image (where no nuclei exist), especially around the edges of the image if some background is \"trapped\" at the edge between two actual nuclei. To choose blue instead of red, click the arrow in between the largish rectangles in the Toolbox window so blue becomes foreground. Don’t forget to switch back! In cases where there is a small chunk of background in between the junctions of several nuclei, you also need to give it at least one blue pixel so post-processing does not think it’s a small nucleus. EXCEPTION: if there is just a single pixel of background in between two nuclei, don’t worry about it; the pipeline will exclude these based on being one pixel in size plus having most of their borders touching other nuclei.</li>\n<li>Save your work frequently! The first time you do File &gt; Save it will offer to save it with the same name, but using a .xcf extension. This is what you want. Save it to your desktop folder of images. You can stop and start anytime using that file.</li>\n</ul>\n\n<p>EXPORTING FINAL RESULT</p>\n\n<ul>\n<li>Save the image first using File &gt; Save as described above. This is critical.</li>\n<li>Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible.</li>\n<li>Then File &gt; Export As and choose PNG. The default values are OK. Add “outlines” to the filename so it doesn’t overwrite the original image.</li>\n<li>Close the .xcf image. Important: it will ask if you want to save changes. You want to DISCARD changes because you have the background layer hidden!</li>\n</ul>\n\n<p>CHECKING FOR ERRORS</p>\n\n<ul>\n<li>Run the “outlines” version of each image through the CellProfiler pipeline we made (Make_objects_from_outlinesNN.cppipe. It will save some images to your output folder that you can examine. Look for places in the image that might be:\n--  missing blue dots such that background is detected as a nucleus, especially at image edges and inside clumps of nuclei\n--  not-completely-closed outlines, which will appear as rings instead of whole nuclei\n-- Too-thick border between or even right nearby adjacent nuclei that cause leakage of the border</li>\n<li>Correct errors as needed in the .xcf file and when finished, re-export the outlines layer as a PNG, as before.</li>\n</ul>\n\n<p>SETUP of the tablet (if needed)</p>\n\n<ul>\n<li>If the icons/menus on a Surface tablet are too small, go to Windows menu, settings, resolution, change the size of text apps to ~200%</li>\n<li>On a Surface tablet, go to Windows menu, settings, pen: change “Ignore touch input when I’m using my pen” to On</li>\n</ul>",
      "rawMarkdown": "Hi everyone!\n\nIt took us a while to work out a reasonably efficient scheme for annotation so we thought we would share. Strategy 2 was semi-automated; Allen Goodman is going to share the tool for that shortly.\n\nI do not know what is typical for these competitions, but if you are doing annotations, please consider tracking the images and their permissions so that others can make use of them after the challenge is over (for example, all the images we annotated for this challenge are licensed CC0 - public domain, per our [thread][1]).\n\nNote that these are very rough instructions we wrote for internal use so please don’t expect them to be exhaustively nicely documented. The thing missing from below is the last step: how to turn outlines into masks of the format used in the challenge. More info on that soon.\n\n**P.s. as far as I know we are intentionally withholding information about the split between strategies 1 &amp; 2 for Stage 1 &amp; 2 test sets. So please do not ask!**  \n\n\n----------\n\n\nSETUP of GIMP\n\n - Open GIMP\n - If the Toolbox is not shown, go to Windows &gt; Toolbox\n - If Tool Options are not shown, go to Windows &gt; Dockable Dialogs &gt;\n   Tool Options\n - If Layers are not shown, go to Windows &gt; Dockable Dialogs &gt; Layers \n - If Undo History is not shown, go to Windows &gt; Dockable Dialogs &gt; Undo\n   History Choose the pencil tool in the Toolbox\n - Set its color to red in the Toolbox (See the two largish rectangles with a curvy arrow pointing to them both? Click the topmost rectangle (foreground) and type in HTML notation = ff0000 to get red, then click OK)\n - Set the background color to blue by selecting the bottommost rectangle (background) and type in HTML notation = 0000ff to get\n       blue, then click OK)\n - Set the pencil size to 1 pixel in the Tool Options\n - Choose the Eraser tool and set it to “Dynamics off”, and “Hard edge”\n - To save the current GIMP settings, go to \"Edit\" -&gt; \"Preferences\" menu. In the \"Preferences\" window, click on \"Tool Options\" in the left hand sidebar. Then click on \"Save Tool Options Now\" button. At this point, the current GIMP settings will have been changed permanently, and the next time you run GIMP, you will see the same current settings.\n\nFOR EACH IMAGE\n \n\n - Open a new image (File &gt; Open): be sure to choose one that does NOT already have a .xcf companion file.\n - Go to Image &gt; Mode &gt; RGB to change it to colors (unless it’s already RGB!)\n - Create a new layer for outlines using menu bar Layer &gt; New Layer. Call it “outlines” and leave settings at default (e.g., “Transparency” for fill type)\n - That layer will now be selected: it’s highlighted in the Layers window and must remain so to do your work.\n - Making sure to remain in the “outlines” layer, and making sure the pencil tool is selected, draw red outlines around nuclei! Well, actually just inside nuclei: you want the outline you draw to be included in the final object, not outside the final object.\n -- If you are too far inside the boundary, just continue pushing the pixels closer to the edge: it’s ok if the outlines are a few pixels thick (eventually each outline will be filled in anyway). EXCEPTION: if you are near the junction between two cells you should erase the extra pixels because the system won’t know where to put the real boundary. The pipeline seems to do a pretty decent job of putting the dividing line towards the middle, but I’m not 100% sure about this.\n -- If you go outside the boundaries, just hit Undo (yellow arrow in the Undo History panel) or Ctrl-Z if a keyboard is handy. If you only notice it later, you can use the Eraser tool which is found somewhat nearby the pencil tool.\n - Click at least one blue pixel somewhere in the background of the image (where no nuclei exist), especially around the edges of the image if some background is \"trapped\" at the edge between two actual nuclei. To choose blue instead of red, click the arrow in between the largish rectangles in the Toolbox window so blue becomes foreground. Don’t forget to switch back! In cases where there is a small chunk of background in between the junctions of several nuclei, you also need to give it at least one blue pixel so post-processing does not think it’s a small nucleus. EXCEPTION: if there is just a single pixel of background in between two nuclei, don’t worry about it; the pipeline will exclude these based on being one pixel in size plus having most of their borders touching other nuclei.\n - Save your work frequently! The first time you do File &gt; Save it will offer to save it with the same name, but using a .xcf extension. This is what you want. Save it to your desktop folder of images. You can stop and start anytime using that file.\n\nEXPORTING FINAL RESULT\n\n - Save the image first using File &gt; Save as described above. This is critical.\n - Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible.\n - Then File &gt; Export As and choose PNG. The default values are OK. Add “outlines” to the filename so it doesn’t overwrite the original image.\n - Close the .xcf image. Important: it will ask if you want to save changes. You want to DISCARD changes because you have the background layer hidden!\n \nCHECKING FOR ERRORS\n\n - Run the “outlines” version of each image through the CellProfiler pipeline we made (Make_objects_from_outlinesNN.cppipe. It will save some images to your output folder that you can examine. Look for places in the image that might be:\n --  missing blue dots such that background is detected as a nucleus, especially at image edges and inside clumps of nuclei\n --  not-completely-closed outlines, which will appear as rings instead of whole nuclei\n -- Too-thick border between or even right nearby adjacent nuclei that cause leakage of the border\n - Correct errors as needed in the .xcf file and when finished, re-export the outlines layer as a PNG, as before.\n \nSETUP of the tablet (if needed)\n\n - If the icons/menus on a Surface tablet are too small, go to Windows menu, settings, resolution, change the size of text apps to ~200%\n - On a Surface tablet, go to Windows menu, settings, pen: change “Ignore touch input when I’m using my pen” to On\n \n\n\n  [1]: https://www.kaggle.com/c/data-science-bowl-2018/discussion/47864",
      "votes": null
    },
    {
      "id": "274436",
      "postDate": "01/26/2018 15:46:18",
      "content": "<p>Thanks for sharing. This should pin to the top of forum. </p>",
      "rawMarkdown": "Thanks for sharing. This should pin to the top of forum.",
      "votes": null
    },
    {
      "id": "277402",
      "postDate": "02/03/2018 01:42:45",
      "content": "<p>Hi Anne,</p>\n\n<p>I have a question about where to place the blue background pixels. Should they be inside the cell nuclei? And if so how many are required, you mentioned that they should be particularly near the edges, is this the edge of the image, or of the division between the nuclei, and non nuclei regions. </p>\n\n<p>Thanks for the annotation strategy outline, it has spead up the process of getting a pipeline running greatly.</p>",
      "rawMarkdown": "Hi Anne,\n\nI have a question about where to place the blue background pixels. Should they be inside the cell nuclei? And if so how many are required, you mentioned that they should be particularly near the edges, is this the edge of the image, or of the division between the nuclei, and non nuclei regions. \n\nThanks for the annotation strategy outline, it has spead up the process of getting a pipeline running greatly.",
      "votes": null
    },
    {
      "id": "277566",
      "postDate": "02/03/2018 15:26:35",
      "content": "<p>The blue background pixels should be in the background of the image (where no nuclei exist). I've updated the strategy to be a bit more clear about this.</p>",
      "rawMarkdown": "The blue background pixels should be in the background of the image (where no nuclei exist). I've updated the strategy to be a bit more clear about this.",
      "votes": null
    },
    {
      "id": "316626",
      "postDate": "04/19/2018 14:26:20",
      "content": "<p>As asked in another thread, we didn't keep track of how many images/nuclei can be done by this method per hour. Besides, it might make me cry to know the total amount of my life dedicated to this task.</p>\n\n<p>If I had to guess, I would say 1 nucleus took 2 seconds but the downstream work is not insignificant so probably double that for the \"overhead\" of file handling and checking the annotations via the CellProfiler pipeline, etc. </p>",
      "rawMarkdown": "As asked in another thread, we didn't keep track of how many images/nuclei can be done by this method per hour. Besides, it might make me cry to know the total amount of my life dedicated to this task.\n\nIf I had to guess, I would say 1 nucleus took 2 seconds but the downstream work is not insignificant so probably double that for the \"overhead\" of file handling and checking the annotations via the CellProfiler pipeline, etc.",
      "votes": null
    },
    {
      "id": "316864",
      "postDate": "04/20/2018 05:04:08",
      "content": "<p>We cannot thank you enough for having labelled that data.  This was not only fun for us to work on the result, but it will probably help advance science quite a bit.  Thanks a lot for that.</p>",
      "rawMarkdown": "We cannot thank you enough for having labelled that data.  This was not only fun for us to work on the result, but it will probably help advance science quite a bit.  Thanks a lot for that.",
      "votes": null
    },
    {
      "id": "394677",
      "postDate": "09/27/2018 08:41:14",
      "content": "<p>Thanks for your sharing!</p>\n\n<p>I am wondering if the pipeline(Make_objects_from_outlinesNN.cppipe) you mentioned in STEP 'CHECKING FOR ERRORS' is available ?  my email address is  yuewensong@163.com</p>\n\n<p>I am working on a similar <a href=\"https://github.com/CellProfiler/tutorials/blob/master/Annotation/objects_from_gimp_outlines.cppipe\">pipeline</a> , but I met a configuration error </p>\n\n<p>\"<em>cannot run pipeline: The pipeline cannot be started because of a configuration problem.  The pipeline did not identify any image sets. Please correct any problems in your input module settings and try again</em>.\"</p>\n\n<p>would you give me a hint?\nLooking forward to your reply! Thanks!</p>",
      "rawMarkdown": "Thanks for your sharing!\n\nI am wondering if the pipeline(Make_objects_from_outlinesNN.cppipe) you mentioned in STEP 'CHECKING FOR ERRORS' is available ?  my email address is  yuewensong@163.com\n\nI am working on a similar [pipeline][1] , but I met a configuration error \n\n\"*cannot run pipeline: The pipeline cannot be started because of a configuration problem.  The pipeline did not identify any image sets. Please correct any problems in your input module settings and try again*.\"\n\n\nwould you give me a hint?\nLooking forward to your reply! Thanks!\n\n\n  [1]: https://github.com/CellProfiler/tutorials/blob/master/Annotation/objects_from_gimp_outlines.cppipe",
      "votes": null
    },
    {
      "id": "405921",
      "postDate": "10/18/2018 10:41:53",
      "content": "<p>Hello, I want to use your solution but when I use the Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible. But all hide. Why. Thanks a lot</p>",
      "rawMarkdown": "Hello, I want to use your solution but when I use the Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible. But all hide. Why. Thanks a lot",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 274436,
      "author_name": "abnerchou",
      "author_url": "",
      "post_date": "01/26/2018 15:46:18",
      "content": "<p>Thanks for sharing. This should pin to the top of forum. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 277402,
      "author_name": "devinanzelmo",
      "author_url": "",
      "post_date": "02/03/2018 01:42:45",
      "content": "<p>Hi Anne,</p>\n\n<p>I have a question about where to place the blue background pixels. Should they be inside the cell nuclei? And if so how many are required, you mentioned that they should be particularly near the edges, is this the edge of the image, or of the division between the nuclei, and non nuclei regions. </p>\n\n<p>Thanks for the annotation strategy outline, it has spead up the process of getting a pipeline running greatly.</p>",
      "votes": null,
      "replies": [
        {
          "id": 277566,
          "author_name": "drannecarpenter",
          "author_url": "",
          "post_date": "02/03/2018 15:26:35",
          "content": "<p>The blue background pixels should be in the background of the image (where no nuclei exist). I've updated the strategy to be a bit more clear about this.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 316626,
      "author_name": "drannecarpenter",
      "author_url": "",
      "post_date": "04/19/2018 14:26:20",
      "content": "<p>As asked in another thread, we didn't keep track of how many images/nuclei can be done by this method per hour. Besides, it might make me cry to know the total amount of my life dedicated to this task.</p>\n\n<p>If I had to guess, I would say 1 nucleus took 2 seconds but the downstream work is not insignificant so probably double that for the \"overhead\" of file handling and checking the annotations via the CellProfiler pipeline, etc. </p>",
      "votes": null,
      "replies": [
        {
          "id": 316864,
          "author_name": "cpmpml",
          "author_url": "",
          "post_date": "04/20/2018 05:04:08",
          "content": "<p>We cannot thank you enough for having labelled that data.  This was not only fun for us to work on the result, but it will probably help advance science quite a bit.  Thanks a lot for that.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 394677,
      "author_name": "yuewensong",
      "author_url": "",
      "post_date": "09/27/2018 08:41:14",
      "content": "<p>Thanks for your sharing!</p>\n\n<p>I am wondering if the pipeline(Make_objects_from_outlinesNN.cppipe) you mentioned in STEP 'CHECKING FOR ERRORS' is available ?  my email address is  yuewensong@163.com</p>\n\n<p>I am working on a similar <a href=\"https://github.com/CellProfiler/tutorials/blob/master/Annotation/objects_from_gimp_outlines.cppipe\">pipeline</a> , but I met a configuration error </p>\n\n<p>\"<em>cannot run pipeline: The pipeline cannot be started because of a configuration problem.  The pipeline did not identify any image sets. Please correct any problems in your input module settings and try again</em>.\"</p>\n\n<p>would you give me a hint?\nLooking forward to your reply! Thanks!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 405921,
      "author_name": "hlnelecoq",
      "author_url": "",
      "post_date": "10/18/2018 10:41:53",
      "content": "<p>Hello, I want to use your solution but when I use the Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible. But all hide. Why. Thanks a lot</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "274380": "Hi everyone!\n\nIt took us a while to work out a reasonably efficient scheme for annotation so we thought we would share. Strategy 2 was semi-automated; Allen Goodman is going to share the tool for that shortly.\n\nI do not know what is typical for these competitions, but if you are doing annotations, please consider tracking the images and their permissions so that others can make use of them after the challenge is over (for example, all the images we annotated for this challenge are licensed CC0 - public domain, per our [thread][1]).\n\nNote that these are very rough instructions we wrote for internal use so please don’t expect them to be exhaustively nicely documented. The thing missing from below is the last step: how to turn outlines into masks of the format used in the challenge. More info on that soon.\n\n**P.s. as far as I know we are intentionally withholding information about the split between strategies 1 &amp; 2 for Stage 1 &amp; 2 test sets. So please do not ask!**  \n\n\n----------\n\n\nSETUP of GIMP\n\n - Open GIMP\n - If the Toolbox is not shown, go to Windows &gt; Toolbox\n - If Tool Options are not shown, go to Windows &gt; Dockable Dialogs &gt;\n   Tool Options\n - If Layers are not shown, go to Windows &gt; Dockable Dialogs &gt; Layers \n - If Undo History is not shown, go to Windows &gt; Dockable Dialogs &gt; Undo\n   History Choose the pencil tool in the Toolbox\n - Set its color to red in the Toolbox (See the two largish rectangles with a curvy arrow pointing to them both? Click the topmost rectangle (foreground) and type in HTML notation = ff0000 to get red, then click OK)\n - Set the background color to blue by selecting the bottommost rectangle (background) and type in HTML notation = 0000ff to get\n       blue, then click OK)\n - Set the pencil size to 1 pixel in the Tool Options\n - Choose the Eraser tool and set it to “Dynamics off”, and “Hard edge”\n - To save the current GIMP settings, go to \"Edit\" -&gt; \"Preferences\" menu. In the \"Preferences\" window, click on \"Tool Options\" in the left hand sidebar. Then click on \"Save Tool Options Now\" button. At this point, the current GIMP settings will have been changed permanently, and the next time you run GIMP, you will see the same current settings.\n\nFOR EACH IMAGE\n \n\n - Open a new image (File &gt; Open): be sure to choose one that does NOT already have a .xcf companion file.\n - Go to Image &gt; Mode &gt; RGB to change it to colors (unless it’s already RGB!)\n - Create a new layer for outlines using menu bar Layer &gt; New Layer. Call it “outlines” and leave settings at default (e.g., “Transparency” for fill type)\n - That layer will now be selected: it’s highlighted in the Layers window and must remain so to do your work.\n - Making sure to remain in the “outlines” layer, and making sure the pencil tool is selected, draw red outlines around nuclei! Well, actually just inside nuclei: you want the outline you draw to be included in the final object, not outside the final object.\n -- If you are too far inside the boundary, just continue pushing the pixels closer to the edge: it’s ok if the outlines are a few pixels thick (eventually each outline will be filled in anyway). EXCEPTION: if you are near the junction between two cells you should erase the extra pixels because the system won’t know where to put the real boundary. The pipeline seems to do a pretty decent job of putting the dividing line towards the middle, but I’m not 100% sure about this.\n -- If you go outside the boundaries, just hit Undo (yellow arrow in the Undo History panel) or Ctrl-Z if a keyboard is handy. If you only notice it later, you can use the Eraser tool which is found somewhat nearby the pencil tool.\n - Click at least one blue pixel somewhere in the background of the image (where no nuclei exist), especially around the edges of the image if some background is \"trapped\" at the edge between two actual nuclei. To choose blue instead of red, click the arrow in between the largish rectangles in the Toolbox window so blue becomes foreground. Don’t forget to switch back! In cases where there is a small chunk of background in between the junctions of several nuclei, you also need to give it at least one blue pixel so post-processing does not think it’s a small nucleus. EXCEPTION: if there is just a single pixel of background in between two nuclei, don’t worry about it; the pipeline will exclude these based on being one pixel in size plus having most of their borders touching other nuclei.\n - Save your work frequently! The first time you do File &gt; Save it will offer to save it with the same name, but using a .xcf extension. This is what you want. Save it to your desktop folder of images. You can stop and start anytime using that file.\n\nEXPORTING FINAL RESULT\n\n - Save the image first using File &gt; Save as described above. This is critical.\n - Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible.\n - Then File &gt; Export As and choose PNG. The default values are OK. Add “outlines” to the filename so it doesn’t overwrite the original image.\n - Close the .xcf image. Important: it will ask if you want to save changes. You want to DISCARD changes because you have the background layer hidden!\n \nCHECKING FOR ERRORS\n\n - Run the “outlines” version of each image through the CellProfiler pipeline we made (Make_objects_from_outlinesNN.cppipe. It will save some images to your output folder that you can examine. Look for places in the image that might be:\n --  missing blue dots such that background is detected as a nucleus, especially at image edges and inside clumps of nuclei\n --  not-completely-closed outlines, which will appear as rings instead of whole nuclei\n -- Too-thick border between or even right nearby adjacent nuclei that cause leakage of the border\n - Correct errors as needed in the .xcf file and when finished, re-export the outlines layer as a PNG, as before.\n \nSETUP of the tablet (if needed)\n\n - If the icons/menus on a Surface tablet are too small, go to Windows menu, settings, resolution, change the size of text apps to ~200%\n - On a Surface tablet, go to Windows menu, settings, pen: change “Ignore touch input when I’m using my pen” to On\n \n\n\n  [1]: https://www.kaggle.com/c/data-science-bowl-2018/discussion/47864",
    "274436": "Thanks for sharing. This should pin to the top of forum.",
    "277402": "Hi Anne,\n\nI have a question about where to place the blue background pixels. Should they be inside the cell nuclei? And if so how many are required, you mentioned that they should be particularly near the edges, is this the edge of the image, or of the division between the nuclei, and non nuclei regions. \n\nThanks for the annotation strategy outline, it has spead up the process of getting a pipeline running greatly.",
    "277566": "The blue background pixels should be in the background of the image (where no nuclei exist). I've updated the strategy to be a bit more clear about this.",
    "316626": "As asked in another thread, we didn't keep track of how many images/nuclei can be done by this method per hour. Besides, it might make me cry to know the total amount of my life dedicated to this task.\n\nIf I had to guess, I would say 1 nucleus took 2 seconds but the downstream work is not insignificant so probably double that for the \"overhead\" of file handling and checking the annotations via the CellProfiler pipeline, etc.",
    "316864": "We cannot thank you enough for having labelled that data.  This was not only fun for us to work on the result, but it will probably help advance science quite a bit.  Thanks a lot for that.",
    "394677": "Thanks for your sharing!\n\nI am wondering if the pipeline(Make_objects_from_outlinesNN.cppipe) you mentioned in STEP 'CHECKING FOR ERRORS' is available ?  my email address is  yuewensong@163.com\n\nI am working on a similar [pipeline][1] , but I met a configuration error \n\n\"*cannot run pipeline: The pipeline cannot be started because of a configuration problem.  The pipeline did not identify any image sets. Please correct any problems in your input module settings and try again*.\"\n\n\nwould you give me a hint?\nLooking forward to your reply! Thanks!\n\n\n  [1]: https://github.com/CellProfiler/tutorials/blob/master/Annotation/objects_from_gimp_outlines.cppipe",
    "405921": "Hello, I want to use your solution but when I use the Hide the \"background\" layer (by clicking the \"eye\" icon), so that only the \"outline\" layer is visible. But all hide. Why. Thanks a lot"
  },
  "source": "meta"
}