[{"data":1,"prerenderedAt":324},["ShallowReactive",2],{"project-13254029":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":41,"post_text":43,"what":44,"said":68,"maker_in_thread":149,"shape":160,"grid":165,"attempts":287,"same_week":288,"maker_shows":162,"maker_hidden":316,"reader_version":317,"card":318},"13254029","ThreadTone","Halftone images made of thread","title","Show HN: ThreadTone – Halftone images made of thread","http:\u002F\u002Fwww.thevelop.nl\u002Fblog\u002F2016-12-25\u002FThreadTone\u002F","thevelop.nl","theveloped",1482672361,2016,303,44,60,2264,3,"legend","creative","generative art","other",[24,25,26,27],"string art","halftone","thread art","pin loom","loved",0.313,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,15,1,0,24,{"execution":37,"idea":38,"performance":39,"design":40},{"positive":18,"critical":34},{"positive":33,"critical":34},{"positive":34,"critical":34},{"positive":34,"critical":34},[18,34,18,18,34,34,34,34,42,42,18,42,34,34,18,34,18,18,34,18,18,18,34,34,18,34,34,18,18,34,18,34,42,42,34,34,42,42,18,42],5,null,{"problem":43,"audience":43,"pricing":43,"motivation":45,"time_to_build":43,"stack":57,"openness":65,"stage":66,"team_size":67},{"value":46,"source":47,"evidence":48},"Inspired by artist Petros Vrellis's thread portraits; automated fabrication of the idea.","commenter",[49,53],{"id":50,"by":51,"text":52},"13255520","mynegation","Very interesting! The inspiration behind this post, artist Petros Vrellis, uses computer algorithm too: http:\u002F\u002Fartof01.com\u002Fvrellis\u002Fworks\u002Fknit.html",{"id":54,"by":55,"text":56},"13254915","etrautmann","I had the same thought - VERY cool project and fantastic that you took it all the way through the automated fabrication. Impressive already, but I bet you can improve the…",[58],{"value":59,"source":60,"evidence":61},"Python","maker",[62],{"id":63,"by":11,"text":64},"13255120","I like the assumption you make on the transmission factor. One can implement it fairly easily by replacing: ``` imgMasked = np.subtract(imgMasked, lineMask) ``` By the following…","open_source","launched","unknown",{"praise":69,"objections":89,"requests":100,"questions":122,"alternatives":130},[70,74],{"value":71,"source":47,"evidence":72},"Impressive project taken through automated fabrication",[73],{"id":54,"by":55,"text":56},{"value":75,"source":47,"evidence":76},"Cool and well executed",[77,81,85],{"id":78,"by":79,"text":80},"13254220","zalq","This is very, very cool. Thanks for sharing!",{"id":82,"by":83,"text":84},"13254179","rouli","really nice! in your fitness function - wouldn't you prefer to normalize somehow for the the line's length? i.e. - longer lines (going between two far away pins) will cover more…",{"id":86,"by":87,"text":88},"13262584","ansek","That's awesome, nice work! Personally, can't say I understand image pre-processing well but did you notice that original Petros Vrellis images have deeper black color in some…",[90],{"value":91,"source":47,"evidence":92},"Image quality is limited by pin count and optimization approach",[93,96],{"id":94,"by":11,"text":95},"13254215","You most definitely could! While experimenting with it it turned out however that the quality of the image is far more sensitive to the number of pins on the loom. And it is this…",{"id":97,"by":98,"text":99},"13256025","snovv_crash","True, but an increased number of pins is slower on the plotter and making the scaffolding is also harder. Plus it is easier to rewrap the loom better than to make a finer loom. I…",[101,115],{"value":102,"source":47,"evidence":103},"Better optimization, such as lookahead or Radon\u002FHough-based line selection",[104,107,111],{"id":105,"by":98,"text":106},"13254181","Very cool. I wonder if there could be an improvement in image quality if you added some form of lookahead, and chose the path that gives the best results. The branching factor…",{"id":108,"by":109,"text":110},"13254174","Someone","I would look at tomographic reconstruction (https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTomographic_reconstruction) algorithms for this for inspiration. This is a very similar problem: what…",{"id":112,"by":113,"text":114},"13255093","leni536","As a physicist my first approach would be using Radon transform [1]. Should be tweaked a little, as overlapping threads are not additive in color (for black threads it's…",{"value":116,"source":47,"evidence":117},"Linear color space or log-brightness transform for more accurate thread coverage",[118],{"id":119,"by":120,"text":121},"13254606","amluto","A couple thoughts: Unless your image library is way fancier than I imagine, you would get a much less biased result if you convert to a linear color space. This code: ``` #…",[123],{"value":124,"source":47,"evidence":125},"Was the loom made or bought, and how was it built?",[126],{"id":127,"by":128,"text":129},"13254235","chrischen","Dis you make the 200 pin loom or buy it? I can't seem to find such a product online.",[131,135,142],{"value":132,"source":47,"evidence":133},"Petros Vrellis's original string art algorithm",[134],{"id":50,"by":51,"text":52},{"value":136,"source":47,"evidence":137},"Primitive by fogleman",[138],{"id":139,"by":140,"text":141},"13254884","fiatjaf","See also https:\u002F\u002Fgithub.com\u002Ffogleman\u002Fprimitive",{"value":143,"source":47,"evidence":144},"danielvarga\u002Fstring-art",[145],{"id":146,"by":147,"text":148},"13259779","skinner_","I did something like this myself: https:\u002F\u002Fgithub.com\u002Fdanielvarga\u002Fstring-art My algorithm uses a bit fancier math: I reformulate the approximation problem as a sparse least…",{"comments":150,"answered":151,"key":152},10,6,[153,154,157],{"id":63,"text":64},{"id":155,"text":156},"13254236","Sweet! I had not thought of tackeling the problem from this angle. This might indeed give for some very interesting results!",{"id":158,"text":159},"13255418","That's amazing. I came across your project a while back when you posted it on HN and love the idea. Would be great to see it get some wider adoption and can't wait for version…",{"commenters":161,"max_depth":162,"maker_replies":150,"first_comment_mins":163,"lifespan_hours":164},31,4,49,227,[166,168,169,171,174,178,180,183,185,187,191,192,195,199,200,204,205,207,208,213,216,220,223,225,227,230,231,235,237,239,242,244,246,250,253,255,257,260,264,269,274,276,281,283],[119,34,18,167,120,34],"project\u002Fneutral\u002Fexecution",[63,34,34,167,11,33],[108,33,18,170,109,34],"project\u002Fneutral\u002Fidea",[172,33,18,170,173,34],"13254230","saboot",[175,33,34,176,177,34],"13254299","commenter\u002Fneutral\u002Fnone","murbard2",[179,33,34,176,173,34],"13254940",[181,33,34,176,182,34],"13255067","wyager",[155,33,34,184,11,33],"maker\u002Fpositive\u002Fidea",[54,33,42,186,55,34],"maker\u002Fpositive\u002Fexecution",[188,189,42,186,190,34],"13254492",2,"vortico",[50,18,18,170,51,34],[193,162,18,170,194,34],"13254408","sehugg",[196,42,42,197,198,34],"13255085","maker\u002Fpositive\u002Fnone","franciscop",[158,42,34,184,11,33],[201,42,34,202,203,34],"13255486","other\u002Fneutral\u002Fnone","cbr",[105,151,18,167,98,34],[94,151,34,206,11,33],"project\u002Fneutral\u002Fperformance",[97,151,18,206,98,34],[209,210,18,211,212,34],"13254302",7,"project\u002Fmixed\u002Fexecution","raverbashing",[214,210,34,215,11,33],"13254392","maker\u002Fneutral\u002Fexecution",[217,31,18,218,219,34],"13254140","project\u002Fneutral\u002Fdesign","WhitneyLand",[221,31,34,222,11,33],"13254164","maker\u002Fneutral\u002Fdesign",[224,31,18,218,55,34],"13254920",[112,226,18,170,113,34],9,[228,226,34,176,229,34],"13258045","jaybosamiya",[139,150,34,202,140,34],[232,233,18,167,234,34],"13254336",11,"pavelrub",[236,233,34,167,11,33],"13254387",[238,233,34,176,234,34],"13254399",[240,233,18,167,241,34],"13254652","detaro",[82,243,18,167,83,34],12,[245,243,34,167,11,33],"13254233",[247,248,34,202,249,34],"13314650",13,"i-make-robots",[127,251,18,252,128,34],14,"maker\u002Fneutral\u002Fnone",[254,251,34,215,11,33],"13254248",[146,32,42,256,147,34],"project\u002Fpositive\u002Fidea",[86,258,42,259,87,34],16,"project\u002Fpositive\u002Fexecution",[261,262,34,202,263,34],"13255987",17,"wtallis",[265,266,34,267,268,34],"13255279",18,"other\u002Fneutral\u002Fidea","mhb",[270,271,42,272,273,34],"13254366",19,"project\u002Fpositive\u002Fnone","wodenokoto",[78,275,42,272,79,34],20,[277,278,18,279,280,34],"13254210",21,"project\u002Fneutral\u002Fnone","Jommi",[282,278,34,252,11,33],"13254259",[284,285,42,272,286,34],"13257925",22,"thenormal",[],[289,294,298,303,308,312],{"id":290,"name":291,"points":292,"category":293},"13245475","Rocket",484,"languages",{"id":295,"name":296,"points":297,"category":20},"13244827","Wick",322,{"id":299,"name":300,"points":301,"category":302},"13254342","8bitworkshop",289,"dev_tools",{"id":304,"name":305,"points":306,"category":307},"13259429","Thimble",272,"learning_science",{"id":309,"name":310,"points":311,"category":302},"13259000","Mitmproxy 1.0 released",248,{"id":313,"name":314,"points":315,"category":302},"13245343","Code.hackmit.org",140,false,"v2",{"id":319,"name":5,"line":6,"ai":316,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":320,"top":18,"kw":321,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":322,"url":9,"mix":323,"praise":71,"objection":91,"sub":21},13254029,0.31,[24,25,26,27],"3033000055350030330333003003303055005535",[31,32,33,34],1793990952315]